pengembangan aplikasi perangkat bergerak (mobile) · pdf file•.net compact framework...
TRANSCRIPT
Pengembangan Aplikasi Perangkat Bergerak (Mobile)
Dr. Eng. Herman Tolle, ST., MT
KONSEP PENGEMBANGAN APLIKASI
PERANGKAT BERGERAK
Lab Web & Mobile App - PTIIK Brawijaya University
hermantolle.com/class
Informatika / Ilmu Komputer PTIIK UB Semester Ganjil 2013/2014
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. User experience
2. Performance
3. Monetization
4. 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 masing-
masing pendekatan (native or web based)
TUGAS MINGGU KE-3 Deadline: 6 Oktober
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 E-
Lerning Class
• File dalam format doc/docx/odt dikirimkan
ke email dosen dengan format subjek:
• Kelas-NIM-NoTugas
• NIM11_123