Sejak akhir tahun 2018, fungsi compile pada Gradle dapat digantikan dengan ` api ` dan ` implementation `. Apa bedanya? Untuk project modular, kedua kata kunci ini berguna dalam menentukan apa fungsi/class dari sebuah library/module bisa digunakan di anak module atau dependency-nya. Contoh: ``` [module A] <- [library X] | v [module B] ``` Jika `library x` dimasukkan dengan `api`, `library x` dapat digunakan oleh `module B`. Sebaliknya, dengan `implementation`, `library x` tidak dapat dipanggil di `module B`. Note: `Module B` bisa sebagai module atau project lain yang membutuhkan `module A`.
Artikel Opini tekhnologi dan kehidupan sehari-hari