Terdapat beberapa alasan mengapa Android berkembang dengan pesat dan kenapa developer sebaiknya membangun Aplikasi Android.
a. Market Share
Developer memiliki kesempatan untuk mengembangkan aplikasi untuk pasar yang relatif baru dan sedang berkembang pesat. Keberadaan Android Market akan menempatkan aplikasi yang dibuat oleh developer langsung kepada pengguna. Pengguna tidak perlu mencari melalui internet untuk menemukan dan meng-install aplikasi yang dibuat oleh developer. Pengguna cukup membuka Android Market yang sudah ter-install di perangkat android pengguna dan mengakses aplikasi yang pengguna butuhkan dan meng-install ke dalam perangkat android pengguna.
b. Time to Market
Terdapat Android APIs (Application Programming Interfaces) yang memudahkan developer untuk membangun aplikasi dengan mudah dan waktu yang singkat.
c. Open Platform
Sistem operasi Android merupakan platform terbuka. Sehingga tidak merujuk pada suatu perusahaan hardware atau suatu provider. Platform terbuka android memungkinkan perkembangan market dengan sangat cepat, karena semua perusahaan hardware dan provider dapat membuat dan menjual perangkat android. Source code android dapat di akses melalui at http://source.android.com, untuk digunakan dan dimodifikasi sesuai kebutuhan perusahaan hardware, provider atau developer aplikasi.
d. Cross Compatibility
Android dapat berjalan di berbagai perangkat dengan ukuran dan resolusi layar yang berbeda. Android memiliki fitur yang membantu developer untuk mengembangkan aplikasi yang compatible untuk berbagai perangkat (cross-compatible application). Google memiliki feature detection yang mengatur agar aplikasi yang dikembangkan oleh developer hanya berjalan di perangkat yang compatible. Sebagai contoh, jika suatu aplikasi membutuhkan kamera depan (front-facing camera) maka hanya perangkat android dengan kamera depan yang akan dapat melihat aplikasi tersebut di Android Market. Suatu perangkat android harus mengikuti suatu aturan untuk mendapatkan sertifikat kesesuaian terhadap Android Market untuk memastikan aplikasi dapat berjalan diatasnya, diantaranya keberadaan:
- Kamera,
- Kompas,
- GPS (Global Positioning System),
- Bluetooth Transceiver.
e. Mashup Capability
Mashup Capability merupakan kemampuan untuk mengkombinasikan dua atau lebih layanan untuk mengembangkan suatu aplikasi. Sebagai contoh, developer dapat membuat mashup dengan menggunakan kamera dan GPS, sehingga terbangun aplikasi pengambilan photo dengan dilengkapi secara tepat lokasi pengambilannya.
Beberapa contoh lain mashup yang mungkin dikembangkan dalam suatu aplikasi, yaitu:
- Geolocation dan Social Networking > Suatu aplikasi yang secara otomatis melakukan tweet posisi pengguna setiap 10 menit.
- Geolocation dan Gaming >Location-based gaming merupakan model game yang saat ini popular. Game memiliki background services untuk mengecek posisi pengguna dan membandingnya dengan posisi pengguna yang lain di area yang sama. Jika jarak antara pengguna kurang dari 1 km misal, maka akan diberikan notifikasi dan memungkinkan mereka untuk bertarung melalui game tersebut.
Dasar Pemrograman Android
Membangun Aplikasi Android sangat mudah, default untuk bahasa pemrograman yang digunakan oleh Android adalah java. Tidak semua fitur java yang ada digunakan akan tetapi sebagian dari java yang sering disebut dengan Dalvik Virtual Machine. Beberapa bagian kecil dari framework Android menggunakan bahasa XML untuk scripting-nya.
a. Activity
Activity merupakan container untuk User Interface (UI). Sebuah Aplikasi Android terbangun dari satu atau beberapa Activity.
b. Intents
Intent merupakan sistem pesan utama yang menjalankan Android. Intent terdiri dari Action yang harus dijalankan (Tampil, Ubah, Dial, dll) dan Data. Intent digunakan untuk memulai aktivitas dan komunikasi antar bagian dari sistem Android. Suatu aplikasi dapat mengirimkan atau menerima intent.
- Mengirimkan pesan dengan Intent > Ketika suatu aplikasi mengirimkan suatu intent, aplikasi mengirimkan pesan memberitahukan Android untuk menjalankan sesuatu. Misal: memberitahukan Android untuk menjalankan suatu Activity dari aplikasi atau menjalankan aplikasi lain.
- Mendaftarkan Intent Receiver > Mengirimkan pesan dengan Intent bukan berarti sesuatu selanjutnya akan terjadi secara otomatis. Aplikasi harus mendaftarkan intent receiver yang memperhatikan intent dan memberitahukan Android apa yang harus dilakukan. Contoh, jika pengguna menekan lama suatu image di image gallery, maka akan memunculkan context menu yang berkaitan dengan image sharing. Dikarenakan terdapat beberapa receivers yang didaftarkan berkaitan dengan image sharing (email, messaging, Bluetooth, dll) maka context menu dimunculkan untuk memberikan opsi keputusan kepada penguna.
c. Cursorless Controls
Perangkat Android menggunakan jari pengguna sebagai input. Jika pada computer biasa digunakan pointer mouse, kemudian left-click untuk berinteraksi dengan suatu tombol misal, maka pengguna Android dapat menggunakan jarinya langsung ke tombol. Untuk menggantikan right-click, pengguna Android dapat menekankan jarinya agak lama ke layar, kemudian context menu akan muncul.
d. Views dan Widgets
View merupakan elemen dasar UI (User Interface). Sebagai contoh area kotak pada layar yang bertanggung jawab untuk tampilan dan menerima event (event handling). Beberapa contoh view antara lain:
- ContextMenu,
- Menu,
- View,
- SurfaceView .
Widgets adalah elemen UI yang lebih canggih. Merupakan control untuk interaksi antara
sistem dengan pengguna. Beberapa contoh Widgets antara lain:
- Button,
- CheckBox,
- DatePicker,
- DigitalClock,
- Gallery,
- FrameLayout,
- ImageView,
- RelativeLayout,
- PopupWindow.
Untuk mempelajari widgets lebih lanjut dapat dilihat melalui url:
http://developer.android.com/reference/android/widget/package-summary.html
e. Asynchronous Calls
Android memiliki sebuah class yang AsyncTask yang memungkin aplikasi menjalan beberapa operasi pada waktu yang bersamaan, tanpa harus mengatur bagaimana thread berjalan secara khusus. AsyncTask memungkin developer untuk membangun model program yang bersih untuk proses-proses asinkron.
Proses asinkron biasa digunakan untuk proses-proses yang membutuhkan waktu lama, misal: Network Communication (Internet), Media Processing, dan berbagai proses lain yang mengharuskan pengguna menunggu. Jika pengguna harus menunggu, maka dapat digunakan proses asinkron untuk menampilkan UI yang memberitahukan pengguna apa yang terjadi.
f. Background Services
Services merupakan aplikasi yang berjalan di belakang dan tidak terlalu penting memiliki UI, sebagai contoh: antiivirus. Sebagian besar pemutas music (music player) dari Android Market berjalan sebagai Background Services, yangmana pengguna dapat mendengarkan musik sembali mengecek e-mail atau melakukan tugas lain yang membutuhkan penggunaan tampilan layar.
Fitur Perangkat Keras Android
Perangkat Android memiliki beberapa fitur perangkat keras didalamnya, yang dapat dimanfaatkan developer dalam membangun aplikasi.
a. Touchscreen
Perangkat Android memiliki fitur layar sentuh (touchscreen) yang memberikan beberapa kemungkinanan bagi pengguna untuk berinteraksi dengan aplikasi dengan menggunakan jari. Pengguna dapat melakukan swipe, flip, drag, dan pinch untuk zoom. Android juga mendukung multitouch yang berarti keseluruhan layar dapat disentuh dengan satu atau lebih jari pada saat yang bersamaan.
b. GPS
Sistem operasi Android mendukung GPS yang memungkinkan developer untuk mengakses lokasi pengguna. Contoh aplikasi yang memanfaatkan GPS adalah Aplikasi Peta (Map) yang menunjukkan lokasi pengguna dan memberikan petunjuk untuk menuju suatu lokasi.
c. Accelerometer
Android mendukung Accelerometer, yaitu perangkat yang digunakan untuk mengukur percepatan. Accelerometer dapat memberitahukan apabila suatu Perangkat Android bergerak, atau terguncang, atau berbalik arah posisinya.
d. SD Card
Android memiliki fitur yang memungkinkan pengguna atau aplikasi untuk mengakses (menyimpan atau membuka) file pada SD Card. SD Card merupakan media penyimpanan medium yang digunakan Perangkat Android dan beberapa perangkat mobile lain non Android sebagai media penyimpanan.
Fitur Perangkat Lunak Android
Android memiliki banyak fitur perangkat lunak yang dapat digunakan oleh developer dalam mengembangkan aplikasi. Beberapa fitur populer yang akan dijabarkan disini.
a. Internet
Kemampuan akses internet pada Android memberikan banyak keunggulan. Berbagai informasi secara real-time dapat diperoleh dengan mudah dengan internet. Contoh, sebagai pengguna, dapat menggunakan internet untuk melihat jadwal pemutaran film bioskop, cuaca suatu area, jadwal penerbangan dan lainnya. Sebagai developer, dapat menggunakan internet untuk akses secara real-time kepada data, update data. Developer juga dapat menggunakan internet untuk menyimpan berbagai asset untuk kemudian digunakan suatu aplikasi, seperti dilakukan Pandora dan YouTube. Dengan internet dapat dibangun model aplikasi yang disebut client-server computing. Contoh lain, aplikasi peta, mengakses data peta dan GPS dari web server.
b. Audio dan Video Support
Sistem operasi Android memungkinkan developer menyertakan audio dan video dalam aplikasi dengan mudah. Berbagai standar format audio dan video didukung.
c. Contact
Android memungkinkan akses ke contacs yang tersimpan dapat Perangkat Android. Developer dapat menggunakan fitur ini untuk menampilkan contacts dalam cara baru yang berbeda. Hal lain yang dapat dilakukan adalah membangun aplikasi yang menggabungkan antara contacts dengan GPS, yang memberikan notifikasi kepada pengguna jika pengguna berada di dekat alamat satu contact yang ada.
d. Security
Android memungkinkan aplikasi untuk melakukan banyak hal. Akan tetapi Android juga menyiapkan mekanisme keamanan berupa permission berkaitan dengan beberapa tugas. Contoh: Download image dan menyimpannya di SD Card, maka harus disetujui terlebih dahulu permission untuk mengakses SD Card.
e. Google APIs
Sistem operasi Android memungkinkan dengan tidak terbatas membuat panggilan telepon, mengorganisasi contacts atau meng-install aplikasi. Developer dapat mengintegrasikan peta (map) ke dalam suatu aplikasi dengan menggunakan Maps API yang mengandung Map Widgets. Berbagai fitur dapat ditambahkan dengan Maps API, antara lain:
- Menampilkan suatu lokasi di peta,
- Mendapatkan panduan navigasi,
- Komunikasi data antara aplikasi dengan clouds.
Menjadi Developer Android
Semua perangkat lunak untuk membangun aplikasi Android bisa didapatkan dengan GRATIS. Hal tersebut salah satu keunggulan membangun aplikasi Android. Menjadi developer Android bukan merupakan pekerjaan yang sulit, yang utama yang perlu ditanyakan terhadap diri adalah:
- Apakah anda ingin membangun Aplikasi Android ?
- Apakah anda suka perangkat lunak pengembang yang gratis ?
- Apakah anda memiliki komputer atau laptop untuk digunakan ?
Framework Android
Android sepenuhnya open source, sehingga semua developer yang membutuhkan dapat mengakses untuk menggunakan dan memodifikasi kode program Android. Source code android dapat di download melalui http://source.android.com.
Android dibangun diatas open source linux kernel 2.6. Kernel linexu tersebut dipilih karena menyediakan fitur utama untuk membangun sistem operasi Android, diantaranya:
- Security Model: Linux kernel menangani keamanan antara aplikasi dan sistem
- Memory Management: Linux kernel menangani manajemen memori untuk developer
- Process Management: Linux kernel mengatur proses dengan baik, mengalokasikan resource untuk proses sesuai dengan kebutuhan
- Network Management: Linux kernel juga menangani jaringan komunikasi
- Driver Model: Perusahaan perangkat keras dapat mengembangkan drivers perangkat mereka secara mandiri untuk berjalan di atas linux
Diatas kernel linux tersebut, framework Android dibangun dengan berbagai fitur. Fitur-fitur
tersebut diadopsi dari berbagai project opensource. Beberapa fitur Android framework
diantaranya:
- Android Run Time: Mengandung inti library java dan dalvik virtual machine
- Open GL (Graphics Library): Merupakan API (Application Program Interface) yang digunakan untuk menghasil graphics 2D dan 3D, bersifat cross-language dan crossplatform
- Webkit: merupakan mesin web browser opensource yang menyediakan fungsionalitas untuk menampilkan web konten
- SQLite: merupakan opensource mesin database yang di rancang untuk sistem embedded
- Media frameworks: library yang digunakan untuk menjalankan dan merekam audio serta video
- Secure Socket Layer (SSL): library ini bertanggung jawab terhadap keamanan internet
Untuk pemanfaatan fitur-fitur dalam Android framework diatas, disediakan berbagai library
dalam Application Framework yang dapat digunakan oleh developer, diantaranya:
- Activity Manager: Mengelola siklus hidup activity
- Telephony Manager: Menyediakan akses ke telephone service
- View System: Menangani view dan layout yang membangun User Interface (UI)
- Location Manager: menemukan lokasis secara geografi
Open Handled Alliance (OHA)
Open Handled Alliance (OHA) berdiri November 2007 dengan 34 anggota yang dimotori oleh google. Saat ini OHA telah memiliki 71 anggota, diantaranya: T-Mobile, Sprint, LG, Motorola, HTC, NVidia, and Texas Instruments
Perangkat Lunak Pengembangan
Java JDK http://java.sun.com/javase/downloads/index.jsp
Android SDK http://developer.android.com/sdk/index.html
Eclipse IDE www.eclipse.org/downloads
Android ADT https://dl-ssl.google.com/android/eclipse/
0 komentar:
Posting Komentar