Spesifikasi standar HTML (HyperText Markup Language) yang dikeluarkan oleh World Wide Web Consortium (W3C) sebagai revisi ke-lima.
HTML5 ~= HTML + CSS + JS
Sintaks:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
...
</head>
initial-scale=1
initial-scale=1
manifest
pada tag <html>
Contoh file HTML:
<!DOCTYPE html>
<html manifest="manifest.appcache">
<head>
<title>Test</title>
<script src="test.js"></script>
<link rel="stylesheet" href="test.css">
</head>
<body>
Testing the manifest file.
</body>
</html>
File manifest.appcache
CACHE MANIFEST
/test.css
/test.js
/test.png
Contoh elemen canvas:
<canvas id=”kanvasku” width=”320″ height=”200″ style="border:1px solid
#000000;">
Browser Anda tidak mendukung elemen canvas
</canvas>
Contoh script membuat persegi panjang:
function persegi(){
// menemukan elemen kanvas
var canvas = document.getElementById('kanvasku');
// objek yang mempunyai method2 untuk menggambar
var context = canvas.getContext('2d');
// memilih warna
context.fillStyle="#999999";
// kotak dengan isian warna (x, y, lebar, tinggi)
context.fillRect(10,50,200,100);
}
WebGL memungkinkan aplikasi web untuk merender grafik 3D menggunakan API berbasis OpenGL ES 2.0.
Objek untuk pengolahan grafik 3D:
var gl = canvas.getContext("webgl");
if (!gl) {
alert("Tidak dapat menginisialisasi WebGL. Mungkin browser Anda tidak mendukungnya.");
}
Event sentuhan:
Event | Deskripsi |
touchstart |
Dipicu saat sentuhan terdeteksi |
touchmove |
Dipicu saat sentuhan digerakkan |
touchend |
Dipicu saat sentuhan berhenti |
touchcancel | Dipicu saat sentuhan terinterupsi |
Contoh script:
function init() {
var touchzone = document.getElementById("kanvasku");
// gambar saat mulai menyentuh
touchzone.addEventListener("touchstart", draw, false);
// gambar saat menggerakkan sentuhan
touchzone.addEventListener("touchmove", draw, false);
}
function draw() {
var canvas = document.getElementById('kanvasku');
if(canvas.getContext) {
var ctx = canvas.getContext("2d");
ctx.fillRect (event.touches[0].pageX, event.touches[0].pageY, 5, 5);
}
}
Device Orientation API memberikan data orientasi dan pergerakan perangkat mobile dari sensor:
Tiga macam event dalam Device Orientation API:
Event | Deskripsi |
deviceorientation |
Dipicu saat terjadi perubahan orientasi perangkat | compassneedscalibration |
Dipicu saat sensor kompas perlu dikalibrasi |
devicemotion |
Memberikan data mengenai pergerakan perangkat secara teratur |
DeviceOrientation
Properti | Deskripsi |
alpha |
Arah perangkat berdasarkan kompas |
beta |
Derajat arah kemiringan perangkat ke depan dan belakang |
gamma |
Derajat arah kemiringan perangkat ke kiri dan kanan |
Mengakses data orientasi menggunakan Javascript:
// memeriksa apakah perangkat mendukung event ini
if(window.DeviceOrientationEvent) {
// jalankan fungsi jika terjadi perubahan orientasi
window.addEventListener('deviceorientation', function(event) {
var alpha = event.alpha;
var beta = event.beta;
var gamma = event.gamma;
// Lakukan sesuatu
}, false);
}
Method JavaScript:
getCurrentPosition()
: mendapatkan lokasi perangkat saat iniwatchPosition() : mendapatkan lokasi perangkat dan terus memperbaruinya
clearWatch() : menghentikan method watchPosition()
Properti | Deskripsi |
coords.latitude |
Garis lintang dalam angka desimal |
coords.longitude |
Garis bujur dalam angka desimal |
coords.accuracy |
Akurasi koordinat yang didapatkan |
coords.altitude |
Ketinggian (meter) di atas permukaan laut |
coords.altitudeAccuracy |
Akurasi dari posisi ketinggian di atas permukaan laut |
Contoh script:
var logElem = document.getElementById("geo-log"); // Elemen untuk menuliskan posisi
var mapElem = document.getElementById("geo-map"); // Elemen untuk menampilkan gambar peta
// Mendeteksi API geolocation sebelum menggunakannya
if (navigator.geolocation) {
// Fungsi ini akan dieksekusi setelah posisi user didapatkan, yaitu
// menampilkan gambar peta pada latitude dan longitude posisinya
var successCallback = function(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var acc = position.coords.accuracy;
logElem.innerHTML = 'Anda berada di (' + lat + ', ' + lng + ') dengan akurasi ' + acc + ' meter.';
mapElem.innerHTML = '<img src="http://maps.google.com/maps/api/staticmap?markers=' + lat + ',' + lng + '&zoom=13&size=340x440&sensor=true" />';
};
// Fungsi ini akan dieksekusi jika lokasi user tidak bisa didapatkan
var errorCallback = function() {
logElem.innerHTML = 'Maaf, tidak bisa mendapatkan lokasi Anda.';
};
// Mendapatkan posisi user
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
} else { // Jika browser tidak mendukung API geolocation
logElem.innerHTML = 'Maaf, browser Anda tidak mendukung geolocation.';
}
Sintaks:
<label>Email:</label>
<input type="email">
<label>URL:</label>
<input type="url">
<label>Telephone:</label>
<input type="tel">
<label>Number:</label>
<input type="number">
<label>Range:</label>
<input type="range">
<label>Color:</label>
<input type="color">
<label>Date Demo</label>
<input type="date">
<label>Time Demo</label>
<input type="time">
<label>DateTime Local Demo</label>
<input type="datetime-local">
<label>Month Demo</label>
<input type="month">
<label>Week Demo</label>
<input type="week">
examples: untungs.github.io/mobile-html5/examples
source: github.com/untungs/mobile-html5