Pengembangan Aplikasi Perangkat Bergerak (Mobile) Informatika / Ilmu Komputer PTIIK UB Semester Ganjil 2013/2014
KONSEP PENGEMBANGAN APLIKASI PERANGKAT BERGERAK Dr. Eng. Herman Tolle, ST., MT
Lab Web & Mobile App - PTIIK Brawijaya University hermantolle.com/class
What is a mobile app? • mobile app (n.) a software program that runs on a smartphone, tablet or similar device.
Mobile Device – The Good • • • • • • •
Always with the user Increasingly powerful devices Typically GPS capable Typically have accelerometer Designed for communication 2+ types of wireless connections Many apps are free or low-cost
Mobile Device – the not so Good • • • • •
Limited processor speed Limited battery life Limited and slow network access Limited screen size Limited or awkward input: none great: soft keyboard, phone keypad, touch screen, stylus, speech) • Inconsistent platforms across devices
Type of Application • Native App: dibuat, dikompilasi dan diinstalasi khusus untuk platform tertentu • Web based App: dibangun dengan teknologi pembuatan web: HTML, CSS, Javascript. Bersifat CROSS PLATFORM • Hybrid: gabungan Native + Web
Platform Native Application • Java ME (sebelumnya J2ME) • .NET Compact Framework (C++, C#, VB.NET) for Windows Mobile • Qualcomm’s BREW (C or C++) • Symbian (C++) • BlackBerry (Java) • Android (Java) • iPhone (Objective-C)
Alasan Membuat Aplikasi Mobile • Kompetitor anda sudah mempunyai aplikasi mobile • Mobile App make good business sense • Memberikan layanan kepada pengguna mobile • Mobile App atau Mobile web? • Quality vs Time to Market
Cost Development Dalam mengembangkan sebuah aplikasi mobile harus memperhitungkan biaya-biaya yang timbul dari komponen berikut: • Hardware: Komputer development, mobile device • Software • Pemilihan Platform • Lisensi • Dokumentasi & API
Lisensi • Lisensi sebagai developer sebuah platform, ada yang free tetapi ada juga yang berbayar • Lisensi developer Apple: 99$ / year • Lisensi utk publish aplikasi di Google Play Store: 25$
Dokumentasi & API • Ketersediaan Dokumentasi dan API yang lengkap dan dapat diakses dengan mudah
Development Consideration • • • •
Local Versus Server-Based Data Internal Versus External Access Pushing Versus Pulling the Data Building Versus Buying
Local vs Server Based Data • Data disimpan di lokal perangkat ataukah disimpan di server? • Akses data lokal lebih cepat dari akses data ke server • Perhatikan kapasitas memori atau media penyimpanan pada perangkat • Contoh aplikasi dg data lokal: Contact, E-Book Reader, Dictionary dg data lokal • Aplikasi dg data di server: Dictionary dg data di server, social media
Internal vs External Access • Proses dilakukan pada sisi perangkat pengguna (client) atau sisi server • Contoh aplikasi dengan proses internal: kalkulator, penghitung kalori, edit foto, navigasi, dll • Contoh aplikasi dengan proses eksternal: koran online, tv online, transaksi online shop, dll
Pushing vs Pulling • Data di push (didorong) oleh server atau data di pull (ditarik) dari server • Push: server secara otomatis mengirimkan data ke setiap client • Pull: aplikasi client menarik data atas sebuah permintaan (button click, refresh) • Contoh aplikasi dengan sistem push: aplikasi dengan notifikasi (chat, social media) • Contoh aplikasi dengan sistem pull: online shop
Building vs Buying • Mengembangkan aplikasi sendiri atau membeli aplikasi • Outsourcing developer • Mengembangkan dari template yang sudah ada sebelumnya
Lingkungan Pengembangan • Setiap platforms ada SDK yang dapat didownload untuk digunakan • Setiap platform mempunyai emulator yang bisa digunakan untuk pengujian aplikasi • Emulator biasanya dapat dikonfigurasi untuk menyesuaikan dengan berbagai tipe perangkat mobile: – berbagai tipe ukuran layar, pembatasan memory, versioning, etc. • Emulator memiliki beberapa keterbatasan: – Tidak dapat meng-emulasikan sensor internal
Macam-macam EMULATOR • www.mobilexweb.com/emulators
NATIVE APP VS WEB APP
Aspek Pengembangan 1. 2. 3. 4.
User experience Performance Monetization Cross platform deployment costs 5. Fragmentation
6. Availability of programming expertise 7. Importance of immediate updates and distribution control 8. Timeliness of new OS innovations 9. Security
Performansi • Secara umum performansi native app lebih baik dari web app • Solusi native: jika aplikasi yang dibuat mengutamakan aspek kecepatan/ akurasi / presisi/ real time
Native vs Web Based
Device Features
Native Solution Contoh model aplikasi yang sebaiknya dibuat dalam bentuk native: • Ada integrasi dengan kalender maupun contact list • Menggunakan kamera dan video yang hasilnya disimpan secara lokal • Mengakses data dari internal sensor: accelerometer, gyroscope atau compass, • Mengakses diagnosa device: battery atau network status
Mobile Web Solution • Aplikasi yang hanya menampilkan informasi saja: koran online, rss feed • Aplikasi yang prosesnya tidak mengakses langsung internal device (sensor, kamera, dll) • aplikasi yang mengakses GPS, Google map • Sekali dibuat dapat digunakan untuk semua jenis platform
Hybrid Solution • Menggunakan pendekatan web mobile untuk mengatasi keterbatasan dari pendekatan native dengan tetap mendapatkan fleksibilitas sebagai sebuah native app. • Menggunakan pendekatan web mobile tetapi dibungkus sebagai sebuah aplikasi native
Hybrid Solution • Gabungan aplikasi web dan native menghasilkan solusi aplikasi yang lebih baik • Menggunakan pendekatan web mobile untuk mengatasi keterbatasan dari pendekatan native dengan tetap mendapatkan fleksibilitas sebagai sebuah native app.
Third party Framework • Framework pengembangan aplikasi yang dikembangkan pihak ketiga • Menawarkan solusi: “Write Once, Use on Every platform” • Umumnya menggunakan pendekatan Web Mobile atau Hybrid • Free SDK, licensing for support or deployment
Third party Framework • jQuery Mobile • Apache Cordova PhoneGap • MoSync • Sencha • Appcelerator / Titanium • Monotouch/Xamarin
• iBuildApp • Corona
Summary • Pahami kelebihan dan kekurangan sebuah platform sebelum memilih platform yg akan digunakan • Pemilihan framework umumnya ditentukan dari bagaimana aplikasi anda akan digunakan oleh target penggunanya. • Third-party frameworks dapat sangat membantu, tetapi tidak selalu harus digunakan. • Hybrid solusi dapat menjadi salah satu pilihan yang dapat menggabungkan kekurangan-kelebihan masingmasing pendekatan (native or web based)
Deadline: 6 Oktober
TUGAS MINGGU KE-3
Dokumen Laporan • Membuat Dokumen tentang Framework atau Emulator/ Simulator • Judul dipilih dari pilihan yang ada • Dikerjakan 2 orang, membuat 1 laporan dokumen • Panjang minimal 4 lembar A4 dengan format sama seperti sebelumnya • Gambar maksimal ¼ dari keseluruhan isi
Isi Dokumen (Framework) • Tagline • Sekilas (About, Pencipta, kapan, language, link, Free?) • Features (Fitur, Kapabilitas, keunggulan, dll) • Showcase / Aplikasi (yang dibuat dengan Framework tsb) • Download (link, ukuran file, instalasi) • Contoh / Prosedur Cara penggunaan (dilengkapi Screenshot)
Isi Dokumen (Simulator/Emulator) • Untuk semua emulator/simulator yg ada • Sekilas (Link, About, Pencipta, link, Free?) • Features (Fitur, Kapabilitas, keunggulan, dll) • Download (link, ukuran file) • Contoh / Prosedur Cara penggunaan (dilengkapi Screenshot)
Pengumpulan Tugas • Upload sebagai konten WIKI di Web ELerning Class • File dalam format doc/docx/odt dikirimkan ke email dosen dengan format subjek: • Kelas-NIM-NoTugas • NIM11_123