[Week 13] William Adjandra

William Adjandra
LapakLaut
Published in
3 min readMay 2, 2018

Pada minggu ini tim kami cukup kesulitan untuk melakukan Merge Request.

Diminggu ini saya melanjutkan beberapa tambahan dari fitur tambah lapak jual yang sudah dikomentari dari Project Owner.

Pada blog ini saya juga ingin menjelaskan sedikit tentang software architecture. Software architecture sendiri adalah suatu bagian dari software design dimana pada architecture didesign apa yang harus digunakan untuk membuat suatu software yang baik. Architecture sendiri bisa terdiri dari pemilihan framework, database, pemilihan bahasa untuk backend, dan lain-lain. Hal ini sangatlah penting karena ketika kode sudah dibuat tidak mungkin dapat dengan mudah menggantinya. Sehingga diawal harus memilih dengan jelas dan tepat.
Pada proyek ini kelompok kami menggunakan react native dimana dengan react native kode dapat digunakan pada iOS dan juga android. Namun pada penerapan proyek sekarang kami masing menggunakan properti yang hanya diperlukan oleh android namun dengan react native kita dapat memilih propertinya dengan menggunakan platform.OS yang akan mengembalikan ios dan android.
Pemilihan penggunaan react native juga kami pikirkan karena react adalah salah satu framework yang sedang banyak digunakan oleh developer dan kemungkinan besar akan terus diperbaharui karena yang mengeluarkan adalah facebook.
Untuk database sendiri juga menggunakan firebase, alasan menggunakan ini karena firebase sendiri cukup mudah untuk digunakan dan cepat. Firebase sendiri juga cukup banyak kapasitasnya (1 GB) dan meskipun melebihi kapasitas tersebut kita juga dapat menambahkannya dengan harga yang tidak terlalu mahal. Firebase juga pasti akan terus berkembang karena penggunanya juga semakin lama semakin banyak dan firebase sendiri juga dipegang oleh google
Selain itu untuk architecture pada kelompok kami juga menggunakan environment coba-coba, situat, dan production yang sudah dijelaskan sebelumnya.
Dari architecture ini saya merasa sudah cukup baik namun akan jauh lebih baik lagi jika adanya penerapan MVC (Model-View-Controller) karena dengan penerapan tersebut kode akan jauh lebih mudah untuk dibaca

Disini saya juga ingin sedikit menjelaskan tentang exception handling. Exception handling sendiri sangat perlu digunakan terutama ketika kita mengetahui bahwa kemungkinan besar kode dapat membuat error ketika user memasukkan sesuatu yang salah. Disini kita perlu membuat exception handling sehingga aplikasi kita tidak crash namun contohnya mungkin dapat menampilkan alert. User pun pasti juga tidak suka jika aplikasi yang mereka gunakan tiba-tiba crash sehingga diperlukan exception handling untuk menangani hal ini. Dan dengan exception handling ini sebagai tim developer juga dapat dengan mudah mengetahui apa error yang ada.
Pada react native kita dapat menggunakan modul react-native-exception-handler. Dengan modul ini kita dapat membuat exception handling dengan mudah dimana ketika ada error maka akan dirubah menjadi alert.

Untuk menggunakannya cukup mengikuti contoh dari github dimana disini this.test() tidak ada dan jika tidak ada handler ini app menampilkan Error merah ketika didev mode dan app tidak akan crash dapat program yang sudah dibuat menjadi apk.

Pada fitur ini juga ada beberapa perubahan salah satunya merubah alert menjadi tampilan yang lebih baik dengan menggunakan react-native-awesome-alerts. Dapat diinstall dengan npm install react-native-awesome-alerts.
Saya juga sebelumnya juga menginginkan untuk mengganti font family yang custom dari picker namun hal ini masih sulit untuk dirubah karena font family yang dapat digunakan hanyalah font family dari android itu sendiri. Namun pada android 8.0 hal ini kemungkinan besar dapat digunakan karena sekarang dapat dirubah dengan menggunakan XML namun pada proyek ini belum diterapkan.
Dengan library awesome alert kita dapat membuat alert yang lebih baik dari segi tampilan dan juga mudah sekali untuk memakai dan melakukan styling

Dengan kode disamping adalah contoh pemakaian AwesomeAlert dimana propertinya juga sudah ada pada github. Selain itu AwesomeAlert juga harus diletakkan diluar bagian paling luar view agar dapat ditampilkan ditengah dan juga menimpa view-view lain.

--

--