Now in Android #12
T: Apa yang lebih baik dari API baru?Wojtek Kaliciński dan Ben Weiss telah mengerjakan API baru dalam Navigation Component yang membuat modul fitur dinamis lebih mudah digunakan, menggunakan Navigation API yang sama seperti yang digunakan untuk tujuan non-dinamis.
J: API lama yang melakukan hal-hal baru.
Pertama, beberapa histori dan terminologi:
Android App Bundles adalah format aplikasi baru (yang pertama sejak penemuan APK!) yang memungkinkan developer mengupload superset dari apa yang dibutuhkan semua pengguna. Kemudian Play Store menentukan subset (berdasarkan konfigurasi perangkat) untuk menginstal pada perangkat yang ditentukan. Ini memberikan developer cara yang lebih mudah untuk menargetkan semua skenario yang ada tanpa harus mengupload banyak APK yang berbeda, dan Play Store bisa mengurangi ukuran download hanya pada apa yang dibutuhkan.
Modul fitur dinamis memberikan developer kemampuan ekstra untuk memisahkan aplikasi mereka ke dalam beberapa bagian terpisah (modul) yang tidak perlu segera diinstal. Dengan begitu, sebuah aplikasi bisa diinstal dengan beberapa subset minimal yang diperlukan pada peluncuran pertama, dan modul-modul selanjutnya (katakanlah, aset tambahan untuk lokasi opsional melalui aplikasi) dapat diinstal kemudian, sesuai kebutuhan.
Developer bisa menggunakan API di Play Core Library untuk secara manual meminta download dan penginstalan modul fitur dinamis.
Tetapi sekarang, dengan menggunakan Navigation Component versi 2.3.0, modul fitur dinamis semakin mudah. Anda bisa menggunakan panggilan biasa untuk navigate(). Ketika tujuannya berada dalam modul fitur dinamis, library akan mengurus detail download dan menginstal bagian yang diperlukan.
Library ini sekarang dalam versi alfa, jadi mungkin belum cukup siap untuk kode produksi Anda. Namun jika Anda menginginkan fungsionalitasnya, silakan bermain-main dengan library ini dan kirimkan masukan kepada kami. Lihat dokumen ini untuk informasi selengkapnya, dan cobalah contoh yang diposting Ben Weiss minggu lalu.
Artikel
Abstraksi tanpa-biaya* di Kotlin
Abstraksi tanpa-biaya* di KotlinFlorina Muntenescu melanjutkan seri Kotlin Vocabulary dengan artikel tentang inline class, sebuah fitur eksperimental di Kotlin 1.3.50.
Inline class bisa memberikan keamanan tipe tingkat lanjut untuk variabel yang mungkin bertentangan dan menyebabkan error runtime. Semakin sempurna, mereka bisa melakukannya tanpa menyebabkan overhead* dengan mengompilasi ke dalam kode yang hanya menggunakan tipe dasar alih-alih membuat class yang membungkus tipe tersebut.
* Tergantung bagaimana Anda menggunakan class tersebut. Lihat artikel untuk detail selengkapnya.
Penataan Gaya Android: Tema vs Gaya
Penataan Gaya Android: Tema vs GayaKebingungan mengenai konsep dan penggunaan di balik tema dan gaya sering kali terjadi. Lagi pula, keduanya menggunakan tag <style>, sehingga terlihat sangat mirip dari luar.
Nick Butcher memulai seri artikel baru untuk membantu menjelaskan area pengembangan Android ini secara lebih mendalam.
Dalam artikel pertama seri ini, Nick melihat perbedaan antara tema dan gaya, serta area di mana developer lebih memilih salah satunya.
Catatan: Seri artikel ini memperluas konten yang disampaikan oleh Nick Butcher dan Chris Banes di Android Dev Summit:
Episode Podcast ADB
Ada sebuah episode Android Developers Backstage yang diposting sejak Now in Android yang terakhir. Lihat link di bawah ini, atau di klien podcast favorit Anda:ADB 132: Menyimpan data dengan Store
Episode 132: Menyimpan data dengan StoreSalah satu pola pengambilan dan penyimpanan data yang kami rekomendasikan dalam Panduan untuk arsitektur aplikasi adalah penggunaan Repositori, yang memberikan lapisan abstraksi di atas asal data itu. Misalnya, Anda mungkin memiliki data yang disimpan dalam cache secara lokal maupun server di sisi lain jaringan. Pendekatan ini memungkinkan kode Anda untuk mengambil data tanpa khawatir tentang di mana data itu berada atau bagaimana cara mendapatkannya, dengan menyerahkan urusan-urusan tersebut ke Repositori.
Memang sangatlah bagus memiliki teknik yang disarankan, tetapi bukankah lebih baik memiliki API yang membuat bagian itu lebih mudah?
Library Store (sekarang dalam versi alfa) melakukan hal tersebut. Pada episode ini, kami berbicara dengan Mike Nakhimovich dari Dropbox dan Yigit Boyar dari tim Android Toolkit. Mike memimpin pengembangan library open-source Store (dengan dibantu Yigit saat luang).
Nah sekarang…
Itu saja untuk saat ini. Nikmati seri video dan podcast Now in Android! Cobalah rilis AndroidX terbaru! Periksa library Navigation terbaru untuk bernavigasi dengan modul fitur dinamis! Baca artikel tentang inline class di Kotlin dan tema vs gaya! Dengarkan episode podcast ADB terbaru! Dan segera kembali ke sini untuk update berikutnya dari dunia developer Android.
Video+podcast Now in Android, rilis AndroidX, modul fitur Dynamic dalam Jetpack Navigation, artikel tentang inline class Kotlin dan penataan gaya Android, serta episode podcast ADB lainnya
Selamat datang di Now in Android, panduan Anda tentang apa yang baru dan penting dalam dunia pengembangan Android.
Now in Android #12: Versi Video
Now in Android juga hadir dalam format video. Isinya sama, tetapi dengan lebih banyak gerakan dan lebih sedikit teks yang perlu dibaca. Lihat videonya di sini atau abaikan saja dan lanjutkan membaca teks di bawah ini.
Now in Android… Sekarang dalam format Video dan Audio
Bagi Anda yang lebih suka menerima artikel berita teknologi dalam format berbeda, kami telah memperluas Now in Android dalam bentuk artikel, video, dan podcast.
Sekarang setiap episode akan dihadirkan kepada Anda dalam format ‘klasik’ artikel ini di Medium. Sebagai tambahan, ada artikel versi video, di sini saya akan berbicara di depan kamera tentang konten yang sama, mempostingnya dalam playlist Now in Android di saluran Android Developers di YouTube.
Dan selama kami memiliki videonya, kami akan mengambil audionya untuk memublikasikan podcast Now in Android, yang sekarang tersedia di mana pun Anda mendengarkan podcast.
Now in Android
Selain itu, saya mengubah judul episode (lagi!) agar sama dalam semua format. Jadi mulai episode ini, nomor artikel ini (#12) harus sesuai dengan nomor video dan podcast terkait. Saya melakukannya karena walaupun Anda lebih menyukai video atau audio sebagai format pilihan, Anda mungkin masih ingin mengunjungi artikel Medium episode itu untuk link praktisnya.
Jadi, dapatkan update Now in Android sesuai format favorit Anda: isinya sama, hanya mekanisme pengiriman yang berbeda. Kemudian, cek kembali setiap beberapa minggu untuk mendapatkan update berikutnya, karena satu hal yang pasti tentang software adalah: selalu ada penyempurnaan.
Rilis AndroidX
AndroidX merilis beberapa library yang menarik baru-baru ini.Pertama, ada beberapa rilis stabil. Sebagian besar, seperti Fragment, Media2, Navigation, dan WorkManager, merupakan perbaikan bug. Namun ada juga rilis Core 1.2.0 dengan fungsionalitas baru untuk Notifications, BlendMode (menyediakan fungsionalitas platform baru untuk rilis lama), ShortcutInfo, dan WindowInsets. Perhatikan juga bahwa ViewModel-SavedState 2.2.0 persis sama dengan 1.0.0; ia hanya menaikkan nomor versi untuk disinkronkan dengan nomor versi yang sama dengan artefak Lifecycle lainnya.
Ada juga beberapa library baru yang baru saja masuk versi alfa untuk pertama kalinya:
Emoji 1.1.0 memiliki beberapa emoji baru, jadi bila Anda ingin memasukkan emoji terbaru dari v12 atau v12.1 ke dalam aplikasi Anda, ini dia.
Navigation 2.3.0 memasukkan navigasi fitur dinamis baru (lihat di bawah), bersama dengan artefak pengujian-navigasi baru.
Navigation dan Modul Fitur Dinamis
Saya senang karena library AndroidX yang saya kerjakan bersama @keyboardsurfer akhirnya masuk versi Alfa. Jika Anda menggunakan Navigation dan Modul Fitur Dinamis, silakan coba dan beri tahu kami jika Anda punya masukan! https://t.co/pnyAVC5wPR
— @wkalic
T: Apa yang lebih baik dari API baru?Wojtek Kaliciński dan Ben Weiss telah mengerjakan API baru dalam Navigation Component yang membuat modul fitur dinamis lebih mudah digunakan, menggunakan Navigation API yang sama seperti yang digunakan untuk tujuan non-dinamis.
J: API lama yang melakukan hal-hal baru.
Pertama, beberapa histori dan terminologi:
Android App Bundles adalah format aplikasi baru (yang pertama sejak penemuan APK!) yang memungkinkan developer mengupload superset dari apa yang dibutuhkan semua pengguna. Kemudian Play Store menentukan subset (berdasarkan konfigurasi perangkat) untuk menginstal pada perangkat yang ditentukan. Ini memberikan developer cara yang lebih mudah untuk menargetkan semua skenario yang ada tanpa harus mengupload banyak APK yang berbeda, dan Play Store bisa mengurangi ukuran download hanya pada apa yang dibutuhkan.
Modul fitur dinamis memberikan developer kemampuan ekstra untuk memisahkan aplikasi mereka ke dalam beberapa bagian terpisah (modul) yang tidak perlu segera diinstal. Dengan begitu, sebuah aplikasi bisa diinstal dengan beberapa subset minimal yang diperlukan pada peluncuran pertama, dan modul-modul selanjutnya (katakanlah, aset tambahan untuk lokasi opsional melalui aplikasi) dapat diinstal kemudian, sesuai kebutuhan.
Developer bisa menggunakan API di Play Core Library untuk secara manual meminta download dan penginstalan modul fitur dinamis.
Tetapi sekarang, dengan menggunakan Navigation Component versi 2.3.0, modul fitur dinamis semakin mudah. Anda bisa menggunakan panggilan biasa untuk navigate(). Ketika tujuannya berada dalam modul fitur dinamis, library akan mengurus detail download dan menginstal bagian yang diperlukan.
Library ini sekarang dalam versi alfa, jadi mungkin belum cukup siap untuk kode produksi Anda. Namun jika Anda menginginkan fungsionalitasnya, silakan bermain-main dengan library ini dan kirimkan masukan kepada kami. Lihat dokumen ini untuk informasi selengkapnya, dan cobalah contoh yang diposting Ben Weiss minggu lalu.
Artikel
Abstraksi tanpa-biaya* di Kotlin
Abstraksi tanpa-biaya* di KotlinFlorina Muntenescu melanjutkan seri Kotlin Vocabulary dengan artikel tentang inline class, sebuah fitur eksperimental di Kotlin 1.3.50.
Inline class bisa memberikan keamanan tipe tingkat lanjut untuk variabel yang mungkin bertentangan dan menyebabkan error runtime. Semakin sempurna, mereka bisa melakukannya tanpa menyebabkan overhead* dengan mengompilasi ke dalam kode yang hanya menggunakan tipe dasar alih-alih membuat class yang membungkus tipe tersebut.
* Tergantung bagaimana Anda menggunakan class tersebut. Lihat artikel untuk detail selengkapnya.
Penataan Gaya Android: Tema vs Gaya
Penataan Gaya Android: Tema vs GayaKebingungan mengenai konsep dan penggunaan di balik tema dan gaya sering kali terjadi. Lagi pula, keduanya menggunakan tag <style>, sehingga terlihat sangat mirip dari luar.
Nick Butcher memulai seri artikel baru untuk membantu menjelaskan area pengembangan Android ini secara lebih mendalam.
Dalam artikel pertama seri ini, Nick melihat perbedaan antara tema dan gaya, serta area di mana developer lebih memilih salah satunya.
Catatan: Seri artikel ini memperluas konten yang disampaikan oleh Nick Butcher dan Chris Banes di Android Dev Summit:
Episode Podcast ADB
Ada sebuah episode Android Developers Backstage yang diposting sejak Now in Android yang terakhir. Lihat link di bawah ini, atau di klien podcast favorit Anda:ADB 132: Menyimpan data dengan Store
Episode 132: Menyimpan data dengan StoreSalah satu pola pengambilan dan penyimpanan data yang kami rekomendasikan dalam Panduan untuk arsitektur aplikasi adalah penggunaan Repositori, yang memberikan lapisan abstraksi di atas asal data itu. Misalnya, Anda mungkin memiliki data yang disimpan dalam cache secara lokal maupun server di sisi lain jaringan. Pendekatan ini memungkinkan kode Anda untuk mengambil data tanpa khawatir tentang di mana data itu berada atau bagaimana cara mendapatkannya, dengan menyerahkan urusan-urusan tersebut ke Repositori.
Memang sangatlah bagus memiliki teknik yang disarankan, tetapi bukankah lebih baik memiliki API yang membuat bagian itu lebih mudah?
Library Store (sekarang dalam versi alfa) melakukan hal tersebut. Pada episode ini, kami berbicara dengan Mike Nakhimovich dari Dropbox dan Yigit Boyar dari tim Android Toolkit. Mike memimpin pengembangan library open-source Store (dengan dibantu Yigit saat luang).