CategoriesAndroidProgramming

Belajar Dependency Injection Koin di Android

Penggunaan Dependency Injection cukup penting dalam development aplikasi Android, karena selain membuat kode menjadi lebih clean code dan testable, juga membuat performa aplikasi jadi lebih baik.

Google merekomendasikan Dependency Injection Dagger, namun Dagger terkadang masih susah dipelajari untuk pemula dan terkadang mudah error karena memerlukan class yang digenerate oleh dagger. ada satu library Dependency Injection yang bisa mengatasi hal tersebut, library itu adalah Koin. Koin adalah Library yang Ringan dan Pragmatic. Koin dibuat dan digunakan di Kotlin. Koin tidak menggunakan class yang digenerate jadi meminimalisir error.

Continue reading
CategoriesAndroidProgramming

Tips Android Developing dengan Kotlin

dalam membuat aplikasi android kita seringkali terpaku pada satu metode, padahal metode tersebut telah usang dan sudah digantikan dengan metode lain yang lebih efektif. kita memang harus selalu update kalau jadi seorang Software Engineer, termasuk update juga tentang metode-metode dalam developing aplikasi. kali ini kita akan membahas metode-metode apa yang disarankan untuk dipakai saat men-develop aplikasi android saat artikel ini ditulis.

Continue reading
CategoriesAndroidAutomated testAutomated testsProgramming

Testing API di Android dengan MockWebServer

Dalam membuat Aplikasi kita banyak bergantung ke REST API untuk mendapatkan data maupun mengirimkan data. tentunya kita memerlukan akses internet yang lancar agar proses development berjalan tanpa hambatan, itu karena kita langsung mengakses server REST API menggunakan koneksi internet kita. sebenarnya tidak ada salahnya melakukan testing dengan langsung call API dari server namun hal ini membuat kita bergantung ke kelancaran koneksi internet untuk mendapatkan data. hal ini dapat dicegah dengan membuat server tiruan / mock dengan data yang sama dengan server asli.

Continue reading
CategoriesiOSSwift

Membuat Reusable Code dengan Swift Package Manager

Halo brothers & sisters, kali ini saya ingin berbagi ilmu dalam dunia pemograman mobile berbasis iOS, spesifik membahas tentang Swift Package Manager. Dalam tutorial ini kita akan mempelajari beberapa hal sebagai berikut:

  • Definisi Swift Package Manager
  • Mencoba membuat modul Swift Package
  • Mendistribusikan module Swift Package
  • Mengintegrasikan modul Swift Package ke dalam projek iOS

Selamat belajar 👌🏻

Continue reading
CategoriesAndroidModularProgramming

Mengenal konsep Modular pada Android

Sebagian besar dari kita pasti seringkali bikin Aplikasi Android yang Monolith. Monolith berarti kita membuat semua code di aplikasi menggunakan 1 Module yaitu Module app. lalu apa masalahnya jika kita hanya membuatnya di 1 module saja ? seharusnya memang tidak ada masalah dan Aplikasi pasti masih bisa di run dengan lancar. masalah terjadi jika suatu aplikasi sudah besar dan memiliki banyak fitur, pasti agak membingungkan semua ditaruh di hanya pada 1 module saja, kita perlu membaginya menjadi beberapa module berdasarkan fitur. ini juga akan mempermudah jika kita ingin mengcopy fitur yang ada ke aplikasi lain tanpa harus mengatur ulang nama package pada tiap file.

Continue reading

CategoriesAndroidProgrammingUI DesignUX Design

Bikin UI di Android dengan Jetpack Compose

Jetpack Compose merupakan teknologi baru dari Google yang mempermudah Android Developer dalam membuat tampilan / UI aplikasi. jika sebelumnya kita bikin UI di Android menggunakan XML, di jetpack compose ini kita bikin UI langsung di kodingan Kotlin kita. pastinya hal ini mempercepat kita untuk bikin aplikasi android karena kita nggak perlu pindah-pindah tab lagi buat bikin UI karena sekarang bisa dikerjakan di 1 file saja.

Continue reading
CategoriesProgramming

Deploy ASP .Net Core ke Heroku

Heroku adalah layanan cloud yang memungkinkan developer untuk mendeploy, mengatur dan memonitor aplikasi tanpa mengurus kerumitan masalah infrastruktur. Heroku sangat cocok bagi developer atau startup yang ingin menguji produknya karena proses build & deploynya sangat mudah dan murah karena ada paket harga yang gratis (dengan limit tertentu).

Dengan segala kemudahan yang ditawarkan oleh Heroku, akan tetapi Bahasa pemrograman yang disupport tidak terlalu banyak. C# dan ASP .Net Core adalah salah satu yang tidak disupport. Namun tidak usah khawatir, karena Heroku juga memberikan opsi melalui third-party buildpack untuk mengatasi hal itu. Lalu gimana caranya kita sebagai developer .Net jika ingin menggunakan layanan dari Heroku? Berikut step-step nya:

  1. Daftar akun Heroku
  2. Create Project ASP .Net Core baru
  3. Build dan push project ke GitHub
  4. Create New App di Heroku Dashboard
Continue reading
CategoriesLaravelProgramming

Upload File Ke Digital Ocean Space Menggunakan Laravel

Dalam pengembangan aplikasi tentunya kita membutuhkan storage untuk menyimpan berbagai file, dalam pengembangan aplikasi yang sudah berskala besar tentunya kita mempertimbangkan untuk memisahkan penyimpanan dengan source kode aplikasi ini yang dinamakan stateless application yang mana kita bisa menggunakan beberapa server untuk satu aplikasi

Nah salah satu object storage ini adalah Digital Ocean Space yang mana menjadi kompetitornya Amazon S3, DO Space sendiri adalah layanan penyimpanan objek yang kompatibel dengan API Amazon S3. DO Spaces menyertakan CDN terintegrasi yang dapat Anda aktifkan tanpa biaya tambahan.

Continue reading
CategoriesLaravelProgramming

Memanfaatkan Fitur Form Request Pada Laravel Untuk Menulis Kode Yang Lebih Rapi

Menulis kode yang rapi, terstruktur dan menggunakan standard yang telah ditetapkan akan memudahkan kita seorang developer untuk melakukan perawatan project yang sudah kita buat, tidak hanya saat proses pengembangan, namun juga dalam proses perawatan dalam jangka waktu yang panjang, apalagi untuk project yang sudah bersekala besar, sangat kompleks dan di maintain oleh banyak developer.

Terdapat salah satu fitur yang bagus pada framework laravel, yaitu Form Request, fitur ini merupakan sebuah kelas yang bertugas hanya untuk melakukan validasi dari setiap inputan yang masuk sebelum di olah, jadi fitur ini memungkinkan kita untuk memisahkan proses pengecekan / validasi dengan proses bisnis, sehingga kode yang kita tulis tidak tercampur menjadi satu file

Continue reading