Arsitektur Aplikasi Mobile Berdasarkan Platform
Sekarang kita akan membahas soal arsitektur aplikasi mobile berdasarkan platform atau perangkatnya. Contohnya nih, kalian bisa mendownload aplikasi Instagram di ios maupun android, tapi tahukan kalian kalau pemrograman dan bahkan arsitektur di dalamnya itu berbeda. Itulah kenapa terkadang ada beberapa perbedaan fitur dari aplikasi ios dan aplikasi android (yah, meskipun si perusahaan itu berusaha untuk menyamakan aplikasi mereka di platform mana pun). Nah, makanya sekarang kita akan membahas perbedaan arsitektur aplikasi mobile pada beberapa platform.
Arsitektur Aplikasi Mobile Android
Aplikasi yang dikembangkan khusus untuk Android adalah salah satu jenis aplikasi native – aplikasi yang dikembangkan untuk platform seluler tertentu. Aplikasi Android dikembangkan untuk mendukung bahasa Android (Kotlin dan Java) untuk perangkat dari berbagai produsen termasuk Google, Samsung, Sony, dan Nokia. Tidak ada arsitektur tunggal yang direkomendasikan untuk Android, tetapi arsitektur Android yang paling umum diterima untuk aplikasi seluler adalah Clean Architecture.
Di Clean, arsitektur dibangun berdasarkan prinsip lapisan dan inversi kontrol. Clean berfokus pada struktur 3 lapisan yang sama seperti yang dimodelkan di atas, dengan lapisan bisnis terkadang disebut sebagai lapisan domain. Dalam arsitektur Bersih, lapisan domain / bisnis tidak boleh bergantung pada lapisan lain, melainkan harus memanfaatkan antarmuka. Meskipun ini mungkin sulit untuk dipahami, hal ini memudahkan untuk menambah dan menskalakan aplikasi dari waktu ke waktu.
Arsitektur Aplikasi Mobile IOS
Aplikasi iOS native dikembangkan menggunakan bahasa Objective-C dan Swift, dengan Apple memberikan praktik terbaik yang jelas atas arsitektur aplikasi dengan model MVC (Model-View-Controller). Model MVC terdiri dari:
- Model = Lapisan data (persistence, model objects, parsers, managers, networking code).
- View = Mirip dengan lapisan presentasi, lapisan yang dapat digunakan kembali yang merepresentasikan aplikasi kepada pengguna.
- Controller = Level mediator yang berkomunikasi dengan abstraksi melalui protokol.
Model MVC mendukung pengembangan yang cepat dan paralel, dengan kemampuan untuk membuat banyak tampilan – pilihan bagus untuk pengembangan seluler.
Arsitektur Aplikasi Mobile Hybrid
Aplikasi seluler hybrid memanfaatkan solusi native dan web. Aplikasi hybrid menggunakan aplikasi native sebagai "cangkang" untuk back-end, tetapi JavaScript platform-netral, HTML, dan CSS untuk front-end. Aplikasi hybrid menggunakan plugin seperti Apache Cordova atau Ionic Capacitor untuk mengakses fitur platform native.
Aplikasi seluler hybrid adalah salah satu aplikasi tercepat yang dibuat di berbagai platform dan mudah diperbarui, tetapi tidak sesuai untuk aplikasi yang kompleks, interaktif, atau kaya fitur.
Arsitektur Aplikasi Cross Platform
Seperti arsitektur hybrid, pengembangan cross platform memanfaatkan basis kode umum dengan kemampuan khusus platform di setiap shell native. Aplikasi cross platform mengandalkan kerangka kerja, bukan bahasa web, termasuk React Native Vs Xamarin. Aplikasi lintas platform menawarkan User Experience yang lebih mendekati asli, seringkali membuat pendekatan ini lebih menarik.
Komentar
Posting Komentar