Kd 3.1 • Memahami teknologi pengembangan aplikasi mobile Pengertian • Pemrograman web diambil dari 2 suku kata yaitu pemrograman dan web. Pemrograman yang dalam bahasa English adalah programming dan diartikan proses, cara, perbuatan program. • Definisi Web : jaringan komputer yang terdiri dari kumpulan situs internet yang menawarkan teks dan grafik dan suara dan sumber daya animasi melalui protokol transfer hypertext. • Mobile mempunyai arti bergerak atau berpindah. Sehingga diperoleh pengertian bahwa aplikasi bergerak merupakan aplikasi yang dapat dijalankan walaupun pengguna berpindah atau karena pengguna berpindah. Macam-macam perangkat bergerak • Hp • Laptop Karakter perangkat bergerak • Ukuran yang kecil Perangkat mobile memiliki ukuran yang kecil. • Memory yang kecil Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan secondary (disk). Pembatasan ini adalah salah satu faktor yang mempengaruhi penulisan program untuk berbagai jenis dari perangkat ini. • Mengkonsumsi daya yang rendah Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan dibatasi oleh baterai- baterai • Kuat dan dapat diandalkan Karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat untuk menghadapim benturan-benturan, gerakan, dan sesekali tetesan-tetesan air. • Koneksi yang terbatas Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung. Kebanyakan dari mereka menggunakan koneksi wireless. • Masa hidup yang pendek 12 Perangkat-perangkat konsumen ini menyala dalam hitungan detik kebanyakan dari mereka selalu menyala. Aplikasi perangkat bergerak • Mobile device aplicattion adalah aplikasi yang dapat digunakan walaupun pengguna berpindah dengan mudah dari satu tempat ke tempat lainnya tanpa terjadi pemutusan/terputusnya komunikasi Jenis- jenis aplikasi mobile • Aplikasi Native Aplikasi ini di buat dan ditanam (install) langsung didalam device/Gadget kita, baik untuk platform aplikasi mobile android ataupun aplikasi mobile iOS, aplikasi mobile ini menggunakan bahasa pemrograman yang selayaknya digunakan untuk membuat aplikasi tersebut. Misalnya, untuk membuat aplikasi Android menggunakan Java dan SDK milik Android, aplikasi iOS menggunakan Objective-C dan SDK iOS, demikian juga untuk aplikasi- aplikasi mobile untuk platform lainnya. • Aplikasi web Aplikasi mobile Dibuat dan dikembangkan dengan menggunakan bahasa pemrograman berbasis web, aplikasi mobile jenis web ini dijalankan menggunakan browser yang ada di handphone atau device/Gadget kita, menggunakan bahasa pemrograman html5, php, ataupun ASP beserta dengan beberapa komponen pendukungnya, misalkan database, css, javascript, dll, serta penyimpanan data langsung ke database server. • Aplikasi Hibrid Aplikasi mobile yang dibuat dan ditanam (install) langsung didalam device, menggunakan bahasa pemrograman website ( HTML5 dan PHP) yang digabung dengan bahasa pemrograman yang selayaknya digunakan utuk membuat aplikasi pada device yang dituju. Kelebihan dan kekurangan A. NATIVE APP • Kelebihan Performanya yang cepat, dan sangat baik karena di tulis secara native untuk platform spesifik, • Hanya memiliki 1 domain, • Menghasilkan antarmuka look and feel yang alami dengan sangat baik, • Memiliki user experience yang baik, • Sisi visual yang menarik, • Terjamin dalam hal kualitas dan securitynya karena dikontrol oleh vendor masing-masing, • Memiliki akses penuh ke perangkat mobile(full paraphernalia of device-specific features) termasuk kamera, gesture, dan pemberitahuan, • Dapat terus bekerja walaupun ketika offline Kekurangan Tidak bisa di download pada IOS lain, • Pengembangan yang tidak mudah karena mengunakan lingkungan, bahasa API (application programming interface spesifik, • Aplikasi hanya bekerja pada platform yang sudah di spefikasikan diawal pengembangan, • Biaya pengembangan dan maintenance yang lebih mahal jelas menjadi pertimbangan, biaya tersebut akan otomatis bertambah bila pengembangan dilakukan secara multiplatform, • Update yang dilakukan secara periodik pada native app akan menciptakan kondisi dimana terdapat versi yang berbeda-beda yag digunakan oleh pengguna native app tersebut, • Harus melewati proses persetujuan dan pembatasan konten yang berlaku di toko aplikasi. B. MOBILE WEB Kelebihan Lebih mudah dibuat • Dapat berjalan baik di semua browser modern pada plastform mobile, • Tahap pengembangan yang mudah karena menggunakan teknologi web yang sudah ada, • Tidak perlu mempelajari bahasa baru karena menggunakan bahasa yang sudah familiar yaitu HTML5, CSS3, dan JavaScript, • Ketika ada berita terbaru langsung update teratas sehingga memudahkan informasi, • Dengan prinsip “develop once run everywhere” berarti relatif hemat biaya pengembangan dibandingkan native app yang multiplatform, • Bisa didistribusikan secara bebas ke pengguna tanpa harus mendapatkan approval dari pihak tertentu sebagaimana native yang harus mendapat approval dari vendor lewat App Store dan Google Play, • Pengguna tidak perlu harus mencari dulu di application store untuk mengakses mobile web tersebut. • Tidak harus melewati proses persetujuan dan pembatasan konten • Biaya Pengembangan lebih terjangkau • Dapat beroperasi pada lintas platform dalam sekali pengembangan. Kekurangan • Harus mempunyai 2 buah domain, • Akan sibuk dalam memperbaikinya, • Hanya di buat satu ukuran layar/ smartphone tertentu, • Tidak bisa di install langsung harus melalui browser, • Kemampuan aplikasi sangat terbatas yakni tidak dapat mengakses fitur-fitur perangkat keras smartphone, • Performa kurang stabil dan bergantung pada konektivitas yang ada, • Hanya tersedia secara online, tidak tersedia saat offline, • Performa yang relatif lambat dibandingkan native app. Belum supportnya secara penuh semua browser pada fitur-fitur HTML5 menjadikan mobile web tidak konsisten dalam tampilan di browser yang berbeda. • Belum mampunya mobile web mengakses semua fitur yang dimiliki device bersangkutan. Sebaliknya native app dibuat untuk mampu mengakses semua fitur yang dimiliki device. C. HYBRID Kelebihan • Proses loading dan kinerja lebih cepat, • Tahap pengembangan yang relative mudah karena memanfaatkan standar teknologi web, • Bisa di install di IOS lain, • Memiliki kemampuan untuk dijalankan secara online maupun offline, • Dengan mempertahankan manfaat aplikasi Native, aplikasi Hybrid dapat diluncurkan hampir secepat aplikasi Web, • Penggunaan framework aplikasi mobile memungkinkan akses ke fitur-fitur perangkat keras seperti accelerometer, kamera, kalender dan lainnya, • Biaya Pengembangan lebih terjangkau, • Proses pengembangan lebih mudah. Kekurangan Sebuah kerumitan bagi pengguna, • Harus melewati proses persetujuan dan pembatasan konten yang berlaku di toko aplikasi, • Memerlukan perangkat lunak bantu framework pengembangan aplikasi mobile web berbasis web yang stabil dan mendukung lintas platform, • Belum bisa menandingi aplikasi native. •