Matawebsite Promo Lebaran 2022

Arsitektur di Android

date 19 Apr 2021
date Fathurrahman
date 589
date Mobile App
Arsitektur di Android

Apa itu Arsitektur Perangkat Lunak?

 

Arsitektur Aplikasi dari setiap perusahaan atau setiap developers team pasti berbeda-beda, tapi dari setiap arsitektur memiliki tujuan yang sama, yaitu:

Disiplin menciptakan struktur dan sistem seperti itu

Arsitektur yang disepakati bersama ini memudahkan tim maupun developers lain (terutama yang baru masuk sebagai team member) bisa membaca codingan maupun structure project atau class yang telah dibuat sebelumnya. Karena telah dibuat kesepakatan tentang arsitektur apa yang dipakai, biasanya memudahkan Technical Writer untuk membuat documentation setiap project atau aplikasi yang dibuat.

 

Mengapa kita harus mengkhawatirkan hal itu?

Pertanyaan yang paling common dikalangan para developers, tapi masing-masing dari mereka memiliki pendapatnya sendiri-sendiri. Setiap developers memiliki arsitekturnya sendiri, bahkan mungkin ada yang agak selfish terhadap arsitekturnya, dan tidak mau menerima arsitektur lain.

Berdasarkan pertanyaan diatas, munculah arsitektur-arsitektur diluar sana yang (harapannya) bisa membantu para developers dalam membuat aplikasi lebih rapih strukturnya, lebih mudah untuk ditest, dan mudah dimengerti oleh developers lain (terutama untuk new team member).

 

Lapisan untuk implementasi Arsitektur 

Dalam penerapannya, mungkin bisa berbeda-beda setiap orang, Tapi untuk starting point, kita akan menggunakan 5 Layers seperti dibawah ini:

1. Domain

Disini berkaitan dengan model bisnis yang dimiliki oleh aplikasi kita. Dalam penerapannya, saya ambil contoh seperti Use CasesNavigation Router. Sebagian besar aplikasi android yang dibuat adalah menggunakan API, sehingga kemungkinan aplikasi akan lebih banyak berinteraksi dengan cara Requesting dan Persisting. Maka dari itu Layers ini akan sangat berguna untuk mengelompokkan Use Cases yang telah dibuat.

2. Data

Layer ini berfungsi sebagai tempat dimana kalian bisa mendefinisikan tentang variasi Data Model yang akan digunakan dalam aplikasi. Dalam pembuatan aplikasi, sebaiknya kalian menyimpan data secara local.

Maksudnya adalah agar aplikasi tidak selalu mengambil data dari API maupun dari resources lain setiap aplikasi dijalankan. Jadi, Layer ini bisa difungsikan untuk menyimpan Attribute Data untuk Local Database maupun Response Data dari API.

3. Presentasi

Presentation Layer gunanya untuk mengelompokkan class yang berfungsi sebagai / berinteraksi dengan UI. Mungkin dalam penerapannya, kalian memiliki cara pandang masing-masing.

Layer ini biasanya berisi Android UI (Activity, Fragment, Views), Presenter atau ViewModels tergantung Pattern apa yang kalian pakai.

 

4. Kasus Penggunaan

Use cases ini biasanya di istilahkan dengan Interactor, yang berisi fungsi-fungsi untuk mengambil atau mengirim data ke API. Kenapa butuh Layer ini? karena bisa memudahkan kalian jika ingin membuat Mocking Request ke API untuk keperluan Unit Test.

 

5. Eksternal

Kita biasa membuat Function-function atau Object yang konteksnya bisa jadi Reusable function atau Class. Contohnya seperti Helper Class, Util Class, Scheduler Class, Constant Object, dll. Fungsi-fungsi atau variable yang ada di Layer ini harus as simple as possible karena sifatnya harus se-reusable mungkin.

Matawebsite Promo
fathur.png

Fathurrahman

Android Mobile

Hallo saya trainer Android Mobile di Mataweb dan saya sudah berpengalaman lebih dari 5 tahun. jadi kali ini saya akan share tutorial ataupun tips seputar mobile aplikasi. Salam kenal

Artikel Populer

Halo, ada yang bisa kami bantu?
Daftar Sekarang