Roadmap Pengembang Android pada tahun 2019

Halo semuanya! Kami punya kabar baik. Bulan ini, kursus dasar Pengembang Android , serta Spesialisasi Pengembang Android , yang mencakup seluruh paket kursus, akan dimulai di Otus. Dalam hal ini, kami membagikan kepada Anda artikel yang bermanfaat, yang terjemahannya terbatas pada peluncuran ini.



2019 adalah waktu untuk menjadi pengembang Android. Dengan mempertimbangkan inovasi dan kemajuan yang terjadi di bidang pengembangan Android, kita dapat mengatakan bahwa sekarang adalah waktu untuk menjadi bagian dari gerakan ini. Kemajuan terbaru di Kotlin, Android Things dan teknologi lainnya menjadikan Android sebagai prioritas bagi pemula, memungkinkan untuk menerima informasi yang relevan dan bergerak maju ke arah tertentu.


Saya memutuskan untuk menulis panduan ini setelah saya memikirkan fakta bahwa pada tahun 2017 saya sendiri pergi dengan cara yang sama. Saya harap ini membantu Anda menjadi pengembang Android seperti yang Anda inginkan.
Mari kita mulai dengan dasar-dasarnya.


Mulai mengembangkan untuk Android


  1. Lihatlah dasar-dasar Jawa dengan Head First Java
  2. Instal Android Studio ;
  3. Instal Kotlin di Android Studio (Anda dapat melewati langkah ini jika Anda tidak diatur untuk mempelajari Kotlin tahun ini);
  4. Lihat Antarmuka Pengguna Android dan pelajari lebih lanjut tentang komponen XML dan Lihat.

Ketika Anda melakukan ini, Anda tidak hanya akan memiliki lingkungan pengembangan yang baik untuk membuat aplikasi untuk Android, tetapi Anda sendiri akan terbiasa dengan dasar-dasar untuk memahami terminologi umum yang digunakan oleh pengembang di sebagian besar tutorial.
Sekarang Anda dapat membuat aplikasi sederhana dan mengimplementasikan fitur baru di dalamnya. Silakan mulai dengan ruang kerja kosong. Dengan bantuan imajinasi dan keterampilan, Anda dapat dengan mudah mengisinya sendiri.


Ketika Anda mendapatkan cukup banyak ide, tujuan berikutnya untuk 2019 adalah membuat game yang akan mengembangkan Anda sebagai pengembang yang menciptakan aplikasi untuk miliaran. Sekarang mari kita beralih ke level kedua!


Kami berkembang sebagai pengembang Android


Daftar berikut ini harus dilengkapi langkah demi langkah. Ini akan menjadi tangga untuk Anda, memanjat di mana Anda dapat mempelajari sesuatu yang baru, menyadari diri sendiri dan bergerak maju.


  • Memahami siklus hidup Aktivitas untuk mempromosikan aplikasi yang berfungsi;
  • Gunakan desain antarmuka pengguna yang dinamis dan fleksibel dengan fragmen;
  • Pelajari cara debug aplikasi Anda untuk Android. Anda dapat menggunakan debugger Android Studio untuk ini;
  • Menangani kegiatan Android untuk membuat layar yang dapat digunakan pengguna untuk menavigasi aplikasi Anda;
  • Dapatkan gagasan tentang konteksnya di Android;
  • Pelajari REST dan HTTP, karena sebagian besar pengembang profesional berpengalaman dalam aspek REST dan HTTP;
  • Belajar menggunakan multithreading:
    • Pelajari cara mengarahkan aliran utama;
    • Kenali pentingnya multithreading;
    • Jelajahi kelas yang disediakan untuk membantu Anda mempelajari cara menggunakan multithreading dalam waktu sesingkat mungkin;
    • Cari tahu bagaimana Android menangani utas di tingkat sistem dan bagaimana hal itu dapat memengaruhi pilihan arsitektur aplikasi Anda dan segala aspeknya;
    • Kenali nuansa memori sistem dan kode multi-utas;
    • Pelajari cara menerapkan solusi multi-utas untuk tugas rumit dan rumit.
  • Menjadi ahli dalam menangani perubahan konfigurasi:
    • Dalam menyimpan objek selama perubahan konfigurasi;
    • Perubahan pemrosesan diri.
  • Memahami basis data dan SQL:
    • Cloud Database
    • Database offline dan lokal;
    • Arsitektur offline dan praktik offline dasar.
  • Pelajari tentang penyedia konten:
    • Pelajari cara berbagi data dengan aplikasi lain;
    • Pelajari cara mengakses data dari aplikasi lain;
    • Buat penyedia konten yang akan membantu aplikasi lain untuk mengakses aplikasi Anda dengan aman dan mengubah data di dalamnya;
    • Mainkan dengan penyedia kalender dan penyedia kontak Anda.
  • Pelajari tentang perpustakaan Android pihak ketiga terbaik. [Yang paling berguna dan banyak digunakan] :


    • Okhttp
    • GSON
    • Retrofit
    • Meluncur
    • Pisau mentega
    • Crashlytics
    • Jambu biji


Semua langkah ini akan membantu Anda membangun pemahaman yang solid, profesional tentang ekosistem Android dan mempersiapkan Anda untuk bekerja dengan setidaknya 10-15 jenis kasus bisnis untuk aplikasi Android.


Jelajahi Pola Kinerja Android


Jika Anda benar-benar ingin mendapatkan pengalaman yang sangat kuat dan mengesankan dengan Android, templat kinerja akan sangat membantu Anda. Saat Anda menyelesaikan daftar tindakan berikut, Anda tidak hanya akan belajar cara menggunakannya, tetapi juga berkenalan dengan orang-orang yang mungkin Anda lewatkan. Templat kinerja adalah alat yang luar biasa di tangan pengembang Android. Jadi, Anda perlu mencari tahu yang berikut ketika datang ke Pola Kinerja Android:


  • Tugas asinkron tidak berguna untuk proses yang berjalan sebagai akibat dari panggilan lama atau streaming. Pelajari cara menggunakan Handlerthread untuk menangani proses ini secara berbeda;
  • Belajarlah untuk menangani kebocoran memori;
  • Pelajari cara menggabungkan IntentService dengan multithreading untuk meningkatkan efisiensi;
  • Periksa pola kinerja Layanan Android untuk mematikan layanan segera setelah dijalankan;
  • Berkenalan dengan wadah-hashmap Android tertentu untuk menyeimbangkan kinerja dan memori saat membuat aplikasi;
  • Pelajari cara menggunakan alat pemantauan memori untuk mengamati bagaimana pengalokasian mempengaruhi kinerja aplikasi Anda;
  • Optimalkan aplikasi jaringan Anda dengan caching;
  • Optimalkan frekuensi permintaan jaringan aplikasi Anda;
  • Pelajari cara menangani tampilan kebocoran;
  • Cari tahu cara kerja pemulung;
  • Memahami bagaimana memperbarui properti visual aplikasi Anda memengaruhi kinerja;
  • Dapatkan pemahaman mendalam tentang sinkronisasi vertikal;
  • Pahami bagaimana antarmuka berkorelasi dalam Android dan GPU untuk mengetahui kesulitan yang perlu Anda hadapi untuk memastikan kelancaran operasi aplikasi Anda;
  • Memahami cara membuat aplikasi yang menghasilkan 60 fps tanpa kehilangan frame, dan juga mencari tahu berapa banyak aplikasi lain bersaing dengan Anda untuk sumber daya sistem dan mengembangkan strategi untuk memprosesnya;
  • Pelajari cara melacak kinerja GPU dan meningkatkan rendering aplikasi Anda;
  • Pelajari strategi yang dapat membantu Anda menguras baterai lebih sedikit;
  • Bersaing dengan pengembang lain yang aplikasinya ada di bagian terbaik PlayStore dan cobalah untuk meningkatkan waktu peluncuran. Mari kita lihat seberapa jauh Anda bisa melangkah.
  • Kurangi ukuran aplikasi Anda.

Ayo naik ke level ketiga!


Pelajari optimasi memori dengan alat Bitmap


Pelajari cara menggunakan Glide untuk memproses objek bitmap di aplikasi Android Anda. Anda akan mengalami masalah saat memproses berton-ton konten dalam aplikasi yang akan membutuhkan ekstraksi gambar, mendekode mereka, dan menampilkan objek bitmap. Jika Anda tidak belajar bagaimana melakukannya dengan benar, maka aplikasi Anda tidak akan berhasil, karena pengguna dapat memutuskan bahwa itu tidak berkualitas tinggi.


Harap dicatat bahwa sekarang Anda harus dapat memproses hingga 48 MB bitmap-objek gambar dari kamera, yang hari ini dapat dikeluarkan oleh kamera pengguna. Mereka dapat dengan mudah memakan semua memori yang tersedia.


Komponen Arsitektur Android


Salah satu hal terpenting yang saya pelajari sebagai pengembang Android adalah kemampuan untuk menerapkan praktik inovatif dalam arsitektur dan komponennya. Segera setelah saya mulai melampaui MVP, MVVM, MVx, dll., Saya menyadari bahwa ada ruang besar untuk inovasi di sekitar komponen arsitektur ini.


Misalnya, pada tahun 2017, pengaturan BLE (Bluetooth low energy) secara default tidak cocok dengan level yang semestinya. Memahami bahwa komponen arsitektur ini dapat ditingkatkan dengan membuat perpustakaan layanan perantara adalah penemuan nyata bagi saya.


Jadi, untuk memahami topik ini dengan baik, saya sarankan Anda memilih masing-masing komponen arsitektur aplikasi Anda dan belajar cara mengoptimalkannya. Inilah yang muncul di benak saya:


  • Pengikatan data
  • Daur hidup
  • Livedata
  • Navigasi
  • Paging
  • Kamar
  • ViewModel
  • Pekerja

Menjadi seorang profesional ujian


Anda tidak ingin menjadi salah satu pengembang yang, jika terjadi kesalahan, mengatakan "itu berfungsi dengan baik di komputer saya", bukan? Jadi, berdasarkan pengetahuan arsitektur aplikasi Anda dan pengoptimalannya, buat tes unit (JUnit4), pelajari cara menggunakan Espresso, dan fokus pada laporan cakupan kode yang akan menyenangkan pengembang dan VPE terkemuka. Pikirkan tentang bagaimana laporan ini dapat bermanfaat bagi pengembang, penguji, manajer, atau pihak lain yang berkepentingan lainnya dan membantu mereka menangani masalah kinerja aplikasi yang kritis dan memprioritaskan.


Ingat untuk mengotomatisasi dan menggunakan kembali tes sejauh mungkin. Pendekatan ini akan membuka jalan bagi Anda untuk posisi kepemimpinan.


Pemrograman reaktif dengan RxJava


Tak perlu dikatakan lagi dan kemungkinan besar bahwa aspek ini adalah yang paling penting dalam resume Anda dan portofolio profesional Anda. Ada banyak tempat di mana Anda bisa belajar bagaimana cara bekerja dengan RxJava. Saya akan merekomendasikan sumber-sumber berikut:



Mereka akan berfungsi sebagai titik awal yang baik untuk menguasai RxJava dan aspek-aspeknya. Jika Anda ingin tahu lebih banyak tentang RxJava, pastikan untuk memeriksanya dan juga belajar:


  1. Seluruh kedalaman Observable di RxJava;
  2. Implementasi caching di RxJava.

Pelajari semua tentang Belati


Langkah-langkah berikut akan membantu Anda menjadi ahli di Dagger:


  1. Telusuri melalui dokumentasi dan sampai ke bagian bawah proses injeksi ketergantungan;
  2. Buat daftar batasan;
  3. Buat proyek dan gunakan Belati 2 di dalamnya.

Menjadi Spesialis Keamanan


Pengembang Android profesional dan spesialis keamanan informasi? Wow! Jarang ini dapat digabungkan dalam satu orang!


Dan di sini ada beberapa hal yang bisa Anda kenali di 2019 untuk menjadi satu:


  • Pelajari cara mengisolasi data dan kode aplikasi Anda dari aplikasi lain;
  • Pelajari fungsi kriptografi dan implementasikan;
  • Belajarlah untuk mengurangi risiko yang terkait dengan kesalahan manajemen memori;
  • Pelajari cara menggunakan izin pengguna secara optimal untuk mengelola data aplikasi;
  • Aman menyimpan dan mengenkripsi data di: penyimpanan lokal, on-the-fly atau di cloud;
  • Menjadi profesional penyedia konten untuk memastikan akses yang aman;
  • Pastikan Anda menyembunyikan data (yang berarti kebingungan);
  • Pelajari bagaimana Anda dapat menerapkan solusi keamanan Anda sendiri yang bukan bagian dari tumpukan Android utama;
  • Audit perpustakaan pihak ketiga untuk memecahnya berdasarkan tingkat kerentanan dan bentuk dokumen penelitian untuk Anda sendiri yang akan membantu di masa depan;
  • Berusahalah untuk membuat BLE lebih aman.
    Tentang ini saya akan berakhir. Saya harap artikel ini membantu Anda menjadi pengembang Android profesional jika Anda mulai melakukan ini sekarang di tahun 2019!

Itu saja. Menunggu komentar Anda!

Source: https://habr.com/ru/post/id463019/


All Articles