Senin, 23 Januari 2017

Perusahaan S.O. Handphone - Mobile Development Frameworks and Tools







Foto oleh fauxels dari Pexels - 

Introduction

Framework adalah kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan.

Tujuannya untuk mempercepat pekerjaan programmer, tanpa harus membuat fungsi atau class dari awal.

Pekerjaan akan lebih tertata dan terorganisir. Sehingga dalam pencarian kesalahan dalam pembuatan program akan lebih mudah dideteksi.

Framework merupakan pondasi awal kita sebelum menentukan memakai bahasa pemrograman apa yang akan dipakai. Setelah itu baru dibangun programnya di atas framework.

Framework In Platforms :
  • Android
  • Blackberry OS
  • Firefox OS
  • iOS
  • Tizen
  • Windows Phone
        Framework In Platforms :

        Android

        Android pertama kali dikembangkan pada tahun 2003 oleh perusahaan Android Inc. Google membelinya pada tahun 2005. Dibangun menggunakan kernel Linux.

        Android adalah sistem operasi dengan sumber terbuka. Diprogram dalam bahasa C , C++, Java perangkat seluler Android yang pertama pada tahun 2008 yaitu HTC Dream.

        Menggunakan Andoroid versi 1.0 Input Touch Interface berupa menggesek (swiping), mengetuk (tapping), dan mencubit (pinching).

        Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital.

        Perkembangan Versi Android

        (Maav, gambar telah terhapus. Silahkan sahabat mencarinya di Google Image)

        Arsitektur Android
        • Linux kernel. Ini adalah kernel dasar Linux. Layer ini berisi semua low-level device driver untuk berbagai komponen hardware perangkat Android.
        • Libraries. Berisi semua kode yang menyediakan fitur utama sistem operasi Android. Sebagai contoh, pustaka SQLite menyediakan dukungan database sehingga aplikasi dapat menggunakannya sebagai penyimpan data. Pustaka WebKit menyediakan fungsionalitas web browsing.
        • Android runtime. Pada layer yang sama dengan Libraries, Android runtime menyediakan sekumpulan pustaka dasar yang memungkinkan developer untuk menulis aplikasi Android menggunakan bahasa pemrograman Java. Android runtime juga menyertakan Dalvik Virtual Machine, yang memungkinkan setiap aplikasi Android untuk berjalan pada prosesnya sendiri, dengan instance DVM-nya sendiri (aplikasi Android di-compile menjadi Dalvik executables). Dalvik adalah virtual machine yang secara khusus dirancang untuk Android dan dioptimalkan untuk perangkat bergerak bertenaga baterai dengan memori dan CPU terbatas.
        • Application framework. Membuka berbagai kemampuan sistem operasi Android pada aplikasi pengembang sehingga dapat menggunakannya pada aplikasi.
        • Applications. Pada layer paling atas, akan ditemukan aplikasi yang disediakan dengan perangkat Android (seperti Phone, Contacts, Browser, dll), juga apikasi yang di-download dan di-install dari Android Market. Semua aplikasi yang ditulis terletak pada layer ini.
        Development Android

        Pembuatan aplikasi Android secara native (alami) membutuhkan pengetahuan pemrograman Java.

        Salah satu tools yang paling populer dan powerfull dalam pembuatan aplikasi Android adalah Eclipse IDE yang dihubungkan dengan Compiler dan Emulator Android SDK.

        Untuk membuat aplikasi Android, developer dapat menggunakan sistem operasi Windows maupun Linux seperti Ubuntu maupun Mint.

        Karena paket Android SDK sangat support juga untuk lingkungan Linux.

        Framework Android

        (Maav, gambar telah terhapus. Silahkan sahabat mencarinya di Google Image)

        Blackberry OS
        • Dikembangkan oleh Research In Motion
        • Diprogram dalam C++
        • Bersifat clossed source
        • Andalan utama aplikasi BB adalah BBM (Blackberry Messenger)
        Development Blackberry
        • Untuk pengembangan aplikasi berbasis Blackberry memasang Blackberry Java Plug-in For Eclipse, sehingga memungkinkan Eclipse sebagai lingkungan pemrograman Blackberry.
        • Bahasa pemrograman utama adalah Java Programming.
        • Tools untuk melakukan desain dapat menggunakan mockupstogo
        Framework Blackberry

        (Maav, gambar telah terhapus. Silahkan sahabat mencarinya di Google Image)

        iOS
        • Sistem Operasi ini hanya terdapat pada produk-produk keluaran perusahaan apple.
        • Sifatnya clossed source.
        • Awalnya dikembangkan untuk iPhone, sesuai dengan perkembangan pasar dan teknologi diperluas pada perangkat apple yang lainnya seperti iPod Touch, iPad dan Apple TV.
        Development iOS
        • Harus mengetahui secara dasar mengenai XCode IDE untuk pengembangan aplikasi,
        • Objective-C atau Cocoa untuk bahasa pemrograman native iOS,
        • UIToolkit untuk pembangunan desain awal aplikasi.
        • Hal wajib lainnya adalah, pengembangan aplikasi iOS atau iPhone sangat disarankan memakai sistem operasi MacOS. Karena XCode hanya support untuk OS Macintosh
        Framework iOS

        (Maav, gambar telah terhapus. Silahkan sahabat mencarinya di Google Image)

        Firefox OS
        • Bersifat Open Source
        • Perangkat mobile bernama Firefox OS.
        • Dirilis tahun 2013.
        • Produsen ZTE dan TCL,
        • Dibangun sepenuhnya pada standar web
        • Dikembangkan dengan teknologi HTML5.
        Framework Firefox OS

        (Maav, gambar telah terhapus. Silahkan sahabat mencarinya di Google Image)

        Tizen OS
        • Sistem operasi gratis dan open source.
        • Berbasis linux.
        • Dikembangkan oleh Samsung bersama Intel.
        • Digunakan di berbagai macam perangkat seperti smartphone, tablet, dab smart watch.
        Framework Tizen OS

        jQuery Mobile

        Windows Phone
        • Sebelumnya bernama Phone 7 series
        • Merupakan pengganti dari windows mobile.
        • Diperkenalkan Pada tanggal 15 Februari 2010
        • Windows Phone akan menjadi OS utama pada ponsel Nokia, dan tidak lagi menggunakan symbian.
        • Terobosan Nokia untuk bersaing dengan Operating System Android, BB, dan iOS.
        Development Windows Phone
        • Peralatan dasar adalah Visual Basic 2010 dan Windows Phone Developer Tools.
        • Dasar pengetahuan bahasa pemrograman C# (C Hash) sebagai native language.
        • Developer dan desainer aplikasi bisa menggunakan Windows Presentation Foundation (WPF) atau Microsoft Silverlight.
        • Pengembang game, desainer dapat memanfaatkan XNA Game Studio.
        Framework Windows Phone

        (Maav, gambar telah terhapus. Silahkan sahabat mencarinya di Google Image)

        Aplikasi Untuk Framework
        • Mobile WebApp
        • Native App
        • Hybrid App
        Mobile Web Application

        Aplikasi mobile yang dijalankan menggunakan browser yang ada di handphone, menggunakan bahasa pemrograman web seperti PHP & HTML5.

        Native Application

        Aplikasi yang dibuat dan ditanam (install) langsung didalam device, menggunakan bahasa pemrograman yang selayaknya digunakan untuk membuat aplikasi tersebut.

        Misalnya, untuk membuat Android apps menggunakan Java dan SDK milik Android, dan iOS menggunakan Objective-C dan SDK iOS.

        Perbandingan Native Apps  dan Mobile Web

        Karakter
        Native Apps Mobile Web
        Biaya
        Membutuhkan biaya yang lebih besar dibandingkan mobile web. pengembangan native app tersebut dikembangkan juga pada beberapa platform sekaligus seperti iOS, Android dan Windows Phone
        Mobile web yang yang berjalan di atas browser sehingga tidak membutuhkan pengembangan pada platform yang berbeda-beda
        Waktu Pengembangan
        Membutuhkan waktu yang lebih lama dibandingkan pengembangan mobile web. Ini disebabkan oleh faktor teknis pengembangan native app lebih rumit daripada mobile web
        Tidak lama
        Performa
        Performa native app lebih memuaskan daripada mobile web karena memang dikembangkan untuk berjalan khusus di platform devicenya masing-masing
        Tergantung koneksi internet
        Bahasa Pemrograman
        Native app pada iOS dibuat dengan bahasa pemrograman Objective-C, Android  dengan Java dan Windows Phone dengan Visual C++.
        Mobile web dibuat dengan HTML5, CSS3, JavaScript dan server-side languages seperti PHP
        Distribusi
        Native app membutuhkan distribusi lewat application storenya
        Tinggal ketik URL nya

        Native Apps VS Mobile Web

        Kelebihan
        • Native app : Yang menonjol dari native app adalah performanya yang cepat, user-friendly, memiliki user experience yang baik, sisi visual yang menarik, terjamin dalam hal kualitas dan securitynya karena dikontrol oleh vendor masing-masing.
        • Mobile Web : 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. Begitu juga sebaliknya pengguna tidak perlu harus mencari dulu di application store untuk mengakses mobile web tersebut.
        Kelemahan
        • Native app : 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 yang digunakan oleh pengguna native app tersebut.
        • Mobile Web : 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.
        Hybrid Application

        Aplikasi mobile yang dibuat dan ditanam (install) langsung di dalam device, menggunakan bahasa pemrograman website yang digabung dengan bahasa pemrograman yang selayaknya digunakan untuk membuat aplikasi pada device yang dituju.

        Maksud dari “Menggabung Bahasa Pemograman” disini adalah, aplikasi inti dibuat dengan menggunakan bahasa pemrograman web, sedangkan untuk beberapa fitur yang tidak bisa dijalankan menggunakan bahasa pemrograman web, akan ditulis dalam bahasa pemrograman yang sesuai dengan device tujuan.

        Jadi, intinya hybrid apps itu menggabungkan web apps dengan native apps dan dibundle menjadi 1 package.

        Jadi butuh proses instalasi, beda dengan mobile web yang biasanya.

        Bahasa Pemograman Applikasi Mobile
        • C++
        • C#
        • CSS
        • HTML
        • Java
        • Java Script
        • PHP
        • Visual Editor
        Fitur Hardware Support Framework
        • Camera
        • Capture
        • Compass
        • Connection
        • Contacts
        • File
        • Geolocation
        • Notification
        • Storage
        • Gestures & Multitouch
        • Messages & Telephone
        • Bluetooth
        • NFC (Near Field Communications)
        • Vibration
        Lisensi
        • Open Source
        • Free
        Baca Juga :

        Artikel Terkait