Membangun kembali panduan kami untuk arsitektur aplikasi

Diposting oleh Manuel Vicente Vivo, Developer Relations Engineer, @manuelvicnt

Robot Android pada grafik chart alur

Seiring bertambahnya ukuran aplikasi Android, sangatlah penting mendesain kode dengan arsitektur yang sudah siap agar aplikasi dapat menskalakan, meningkatkan kualitas dan ketangguhan, serta membuatnya lebih mudah diuji.

Membangun kembali panduan kami untuk arsitektur aplikasi

Diposting oleh Manuel Vicente Vivo, Developer Relations Engineer, @manuelvicnt

Robot Android pada grafik chart alur

Seiring bertambahnya ukuran aplikasi Android, sangatlah penting mendesain kode dengan arsitektur yang sudah siap agar aplikasi dapat menskalakan, meningkatkan kualitas dan ketangguhan, serta membuatnya lebih mudah diuji.

Arsitektur aplikasi mendefinisikan batasan antara bagian-bagian aplikasi dan tanggung jawab yang harus dimiliki setiap bagian. Hal ini mendukung prinsip pemisahan kepentingan yang memungkinkan manfaat tersebut di atas.

Merespons permintaan komunitas akan panduan terkini tentang arsitektur aplikasi, kami meluncurkan panduan yang diperbarui untuk arsitektur aplikasi. Hal ini termasuk praktik terbaik dan arsitektur yang direkomendasikan untuk membangun aplikasi yang tangguh dan berkualitas tinggi. Panduan ini juga menyediakan halaman untuk setiap lapisan arsitektur yang direkomendasikan: Lapisan UI, domain, dan data. Di dalamnya, Anda akan menemukan pembahasan mendalam tentang topik yang lebih kompleks, seperti cara menangani peristiwa UI.

Setiap aplikasi Android harus memiliki setidaknya dua lapisan:

  • Lapisan UI yang menampilkan data aplikasi di layar.
  • Lapisan data yang berisi logika bisnis aplikasi Anda dan mengekspos data aplikasi.

Anda bisa menambahkan lapisan tambahan yang disebut lapisan domain untuk menyederhanakan dan menggunakan kembali interaksi antara UI dan lapisan data.

chart alur yang menunjukkan lapisan UI, lapisan domain, lapisan data

Diagram umum arsitektur aplikasi tipikal. Lapisan UI mendapatkan data aplikasi dari lapisan domain opsional, atau lapisan data, yang mengekspos data aplikasi.


Kami telah membuat jalur pembelajaran untuk membantu Anda mempelajari konten ini secara berurutan dan terlacak. Jangan lewatkan kesempatan untuk mempelajari semuanya dan mendapatkan badge sebagai pengakuan!


badge

Apakah ini untuk Anda?

Jika Anda adalah seorang pemula, Anda harus mulai dengan memahami manfaat memiliki arsitektur aplikasi kemudian mengikuti rekomendasi ini sebagai pendekatan pertama untuk topik tersebut. Developer menengah dan mahir bisa mengikuti rekomendasi ini dan menyesuaikannya dengan kebutuhan mereka. Bahkan, penelitian kami menunjukkan bahwa sebagian besar developer profesional sudah menggunakan praktik terbaik ini.

Anda mungkin bertanya-tanya apakah harus memperbarui arsitektur yang sudah ada untuk mengikuti rekomendasi ini, dan jawabannya adalah tidak… atau tunggu… semuanya terserah Anda. Jika saat ini arsitektur Anda berfungsi dengan baik untuk tim, Anda mungkin ingin tetap menggunakannya. Namun Anda mungkin juga menemukan pola dalam panduan kami yang bisa Anda manfaatkan dan sertakan ke dalam aplikasi.

Kami belum selesai

Ini adalah bundel dokumen pertama yang kami rilis, dengan akan lebih banyak lagi pada tahun 2022. Bantu kami membuat panduan ini lebih baik! Jika Anda memiliki masukan tentang rekomendasi saat ini atau jika Anda ingin melihat lebih banyak topik terkait arsitektur, beri tahu kami di issue tracker dokumen.

Pengumuman Jetpack Glance Alfa untuk widget aplikasi

15 Desember 2021

Diposting oleh Marcel Pintó Biescas, Developer Relations Engineer, @marxallski

 

Ilustrasi laptop dengan logo roket Android

Android 12 mengubah fitur utama untuk banyak pengguna Android, Widget Aplikasi, menjadikannya lebih berguna, indah, dan dapat ditemukan (84% menggunakan setidaknya 1 widget). Hari ini, kami mempermudah pembuatannya dengan merilis Jetpack Glance versi alfa pertama, framework baru yang dibangun berbasis runtime Jetpack Compose yang dirancang untuk mempercepat dan mempermudah pembuatan widget aplikasi untuk layar utama dan permukaan lainnya.

Kami ingin Anda mencobanya dan memberikan masukan!

Glance menawarkan API Kotlin deklaratif modern serupa seperti yang biasa Anda gunakan bersama Jetpack Compose, yang membantu Anda membuat widget aplikasi yang indah dan responsif dengan kode jauh lebih sedikit.

Contoh widget “Halo Dunia” Glance

Contoh widget “Halo Dunia” Glance


class GreetingsWidget(private val name: String): GlanceAppWidget() {
    @Composable
    override fun Content() {
        Text(text = "Hello $name")
    }
}

class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() {

    override val glanceAppWidget = GreetingsWidget("Glance")
}

Cara kerjanya

Glance menyediakan kumpulan dasar Composable untuk membantu membangun pengalaman “glanceable”. Mulai hari ini dengan komponen widget aplikasi dengan lebih banyak lagi yang segera tersedia. Menggunakan runtime Jetpack Compose, Glance bisa menerjemahkan Composable menjadi RemoteViews sebenarnya, dan menampilkannya di widget aplikasi.


Diagram: struktur Glance

Diagram: struktur Glance


Ini berarti Glance mengharuskan Compose diaktifkan dan bergantung pada Runtime, Grafik, dan layer Compose Unit UI, tetapi tidak secara langsung dapat dioperasikan bersama elemen UI Jetpack Compose lain. Namun, status atau semua logika lain dalam aplikasi Anda bisa dibagikan untuk membuat UI yang dapat dilihat sekilas.


Yang ada di versi Alfa

Rilis awal ini memperkenalkan API utama untuk membantu Anda membangun widget aplikasi selain menyediakan interoperabilitas dengan RemoteViews yang sudah ada.

Berikut ini ringkasan hal-hal yang ditawarkan library, secara sekilas:

Kami sedang berupaya menghadirkan lebih banyak fungsionalitas dengan tema default, dukungan Android Studio yang lebih banyak, dan lainnya. Nantikan rilis baru.


Catatan: meskipun minSDK adalah versi 21, saat ini kami hanya mendukung kompatibilitas hingga SDK v23.


Memulai dengan Glance

Lihat contoh di GitHub untuk memulai cepat. Glance dapat digunakan bersama Android Studio stabil terbaru, tetapi karena Glance mengandalkan Compose Runtime, ikuti langkah-langkah pada dokumen Jetpack Compose untuk menyiapkannya terlebih dahulu.

Sebagai tambahan, untuk menonton kecanggihannya, lihat demo di repositori AndroidX.


Demo ResponsiveAppWidget.kt

Demo ResponsiveAppWidget.kt 

Versi Alfa adalah kesempatan Anda untuk memengaruhi API, jadi silakan berikan masukan dan beri tahu kami pengalaman Anda!

Selamat Menggunakan Compose dengan Glance!

Diposting oleh Maru Ahues Bouza, Director, Android Developer Relations

 

Gambar yang menunjukkan berbagai jenis layar besar

Di Android Dev Summit bulan Oktober, kami menyoroti pertumbuhan perangkat layar besar yang kami lihat seperti tablet, perangkat foldable, dan Chromebook. Kami berbicara tentang bagaimana mempermudah pembuatan pengalaman aplikasi yang menakjubkan untuk perangkat ini melalui API Jetpack, alat, dan panduan baru. Kami juga memperkenalkan pratinjau developer 12L, update fitur baru untuk Android 12 yang dibuat khusus untuk layar besar.

Dengan 12L, kami mengoptimalkan dan menyempurnakan UI sistem untuk layar besar, menjadikan multitasking lebih efektif dan intuitif, serta meningkatkan dukungan kompatibilitas sehingga aplikasi terlihat lebih baik saat digunakan. 12L juga menyertakan beberapa API baru untuk developer, seperti audio spasial dan tarik-lalu-lepas yang disempurnakan untuk aksesibilitas.

Hari ini kami merilis 12L versi Beta pertama agar Anda bisa mengujinya dan memberikan masukan sembari Anda menyiapkan aplikasi untuk menyambut update fitur baru yang akan datang awal tahun depan. Anda bisa mencoba fitur layar besar baru dengan menyiapkan emulator Android di Android Studio. 12L juga tersedia untuk ponsel, dan sekarang Anda bisa mendaftar di sini untuk mendapatkan 12L Beta 1 pada perangkat Pixel yang didukung. Jika Anda masih terdaftar dalam program Android 12 Beta, Anda akan mendapatkan update 12L secara otomatis. Melalui kemitraan dengan Lenovo, Anda juga bisa mencoba 12L pada tablet Lenovo Tab P12 Pro, lihat situs Lenovo untuk keterangan selengkapnya tentang build dan dukungan yang tersedia.

Apa yang ada dalam 12L Beta 1?

Versi Beta 1 saat ini menyertakan peningkatan fungsionalitas dan pengalaman pengguna serta perbaikan bug, optimalisasi, dan patch keamanan terbaru Desember 2021. Untuk developer, kami telah menyelesaikan API lebih awal, jadi versi Beta 1 juga menyertakan API 12L resmi (API level 32), alat build ter-update, dan image sistem untuk pengujian. Ini memberi Anda semua yang dibutuhkan untuk menguji aplikasi dengan fitur 12L.

Dengan 12L, kami berfokus menyempurnakan UI pada perangkat layar besar, di semua notifikasi, setelan cepat, layar kunci, ringkasan, layar utama, dan banyak lagi. Misalnya, pada layar di atas 600 dp, menu notifikasi, layar kunci, dan antarmuka sistem lainnya menggunakan tata letak dua kolom baru untuk memaksimalkan area layar.


Gambar yang menampilkan tata letak dua kolom

Tata letak dua kolom memuat lebih banyak dan lebih mudah digunakan


Multitasking juga lebih efektif dan intuitif - 12L menyertakan taskbar baru di layar besar sehingga pengguna bisa langsung beralih ke aplikasi favorit dengan cepat atau melakukan tarik-lalu-lepas aplikasi ke mode split-screen. Ingat, pada Android 12 dan yang lebih baru, pengguna bisa meluncurkan aplikasi apa pun ke mode split-screen, terlepas dari apakah aplikasi tersebut dapat diubah ukurannya. Pastikan menguji aplikasi Anda dalam mode split-screen!


GIF yang menunjukkan tarik lalu lepas dalam mode split-screen

Tarik lalu lepas aplikasi ke dalam mode split-screen


Terakhir, kami meningkatkan mode kompatibilitas dengan peningkatan visual dan stabilitas untuk menawarkan pengalaman letterboxing terbaik bagi pengguna dan membantu aplikasi terlihat lebih baik secara default. Jika aplikasi Anda belum dioptimalkan untuk layar besar, pastikan menguji aplikasi Anda dengan letterboxing baru.

Lebih banyak API dan alat untuk membantu Anda membangun bagi layar besar

Saat Anda mengoptimalkan aplikasi untuk layar besar, inilah beberapa API dan alat terbaru kami yang bisa mempermudah pembuatan pengalaman yang menakjubkan bagi pengguna.

  • Pola material untuk layar besar - Panduan Desain Material kami yang baru bisa membantu Anda merencanakan cara menskalakan UI aplikasi di semua layar.
  • Jetpack Compose untuk UI adaptif - Jetpack Compose mempermudah Anda dalam menangani perubahan UI pada berbagai ukuran layar atau komponen. Lihat panduan Membangun tata letak adaptif di Compose untuk mengetahui dasar-dasar yang perlu Anda ketahui.
  • Class Ukuran Jendela untuk mengelola UI Anda - Class Ukuran Jendela adalah breakpoint area pandang tidak berubah untuk membantu Anda mendesain, mengembangkan, dan menguji tata letak aplikasi yang dapat diubah ukurannya dengan lebih mudah. Nantikan fitur yang segera hadir ini di Jetpack WindowManager 1.1.
  • Penyematan aktivitas - Dengan API Penyematan aktivitas Anda bisa memanfaatkan area tampilan ekstra pada layar besar dengan menampilkan beberapa aktivitas sekaligus, seperti untuk pola Daftar-Detail, dan memerlukan sedikit atau tanpa pemfaktoran ulang aplikasi Anda. Tersedia di Jetpack WindowManager 1.0 Beta 03 dan yang lebih baru.
  • Analisis lint visual di Android Studio - Di Android Studio Chipmunk, cobalah alat analisis lint visual baru yang secara proaktif menampilkan peringatan dan saran UI di Layout Validation, untuk membantu mengidentifikasi potensi masalah pada layar besar.
  • Emulator yang dapat diubah ukurannya - Konfigurasi emulator baru ini hadir dengan Android Studio Chipmunk dan memungkinkan Anda dengan cepat beralih di antara empat perangkat rujukan - ponsel, perangkat foldable, tablet, dan desktop agar pengujian lebih mudah.

Pastikan memeriksa semua resource developer layar besar kami untuk detail selengkapnya tentang ini dan API serta alat lainnya.

Mulai 12L di perangkat!

Dengan update fitur baru 12L yang akan hadir untuk perangkat awal tahun depan, sekarang adalah waktu yang tepat untuk mengoptimalkan aplikasi Anda untuk layar besar. Untuk developer, kami sangat menyarankan untuk memeriksa kinerja aplikasi Anda dalam mode split-screen dengan jendela berbagai ukuran. Jika Anda belum mengoptimalkan aplikasi, lihat tampilannya dalam orientasi berbeda dan cobalah perubahan mode kompatibilitas baru jika diterapkan.

Cara termudah untuk mulai mencoba fitur layar besar adalah menggunakan Android Emulator dalam konfigurasi perangkat foldable atau tablet - lihat petunjuk penyiapan lengkap di sini.

Sekarang Anda juga bisa mem-flash 12L ke perangkat layar besar. Melalui kemitraan dengan Lenovo, Anda bisa mencoba build pratinjau 12L di Lenovo Tab P12 Pro. Saat ini Lenovo menawarkan build Pratinjau Developer 1, dengan update yang segera hadir beberapa minggu lagi. Kunjungi situs pratinjau 12L Lenovo untuk informasi lengkap tentang build dan dukungan yang tersedia.

12L juga akan hadir di ponsel, dan meskipun Anda tidak akan melihat fitur layar besar di layar yang lebih kecil, kami mempersilakan Anda mencoba peningkatan terbaru dalam update fitur baru ini. Cukup daftarkan perangkat Pixel yang didukung di sini untuk mendapatkan update over the air (OTA) 12L Beta terbaru. Jika Anda masih terdaftar dalam program Android 12 Beta, Anda secara otomatis akan menerima update 12L.

Untuk detail dan jadwal rilis 12L, kunjungi situs developer 12L. Anda bisa melaporkan masalah dan membuat permintaan di sini, dan seperti biasa, kami menantikan masukan Anda!