Tantangan menjadi Android Developer

image

Narasi

Sekitar 1 minggu lalu, saya bersama teman-teman saya mengadakan workshop membuat aplikasi Android menggunakan Android Studio. Studi kasus yang kami buat sederhana yakni membuat aplikasi pemesanan tiket. Bahasa pemrograman yang dipakai adalah Java dan target peserta adalah mahasiswa yang baru masuk bangku perkuliahan. Sebagian besar mereka belum terbiasa dengan bahasa pemrograman dan merupakan tantangan tersendiri untuk membuat TODO sesederhana mungkin agar mereka mengerti.

Tantangan pertama (Workshop)

Saat workshop berlangsung muncul beberapa tantangan diantaranya:

  1. Spesifikasi laptop peserta. Rata-rata yang saya temukan laptop peserta seperti laptop kantoran. Layaknya RAM mulai 2GB — 4GB dengan Hard disk drive bukan Solid state drive dan dengan OS Windows (OS bukan masalah terlalu besar di bagian ini (mungkin)). Bagi anda seorang developer mobile dengan spesifikasi laptop tersebut harus membuat anda ekstra bersabar ketika membuka IDE seperti Android Studio. Ditambah dengan mendownload library saat membuat project dan mengunduh sesuatu menggunakan Gradle yang kadang terasa lie-fi bagi saya. Ditambah pula menjalankan emulator murni dari Android yang disediakan oleh Android Studio dengan spesifikasi laptop di atas (Saat ini anda bisa mencoba Nox emulator sebagai emulator yang ringan untuk men-test aplikasi Android anda).

  2. Peserta belum paham dengan bahasa pemrograman Java. Saya rasa ini perlu dimaklumi karena latar belakang peserta adalah mahasiswa yang baru masuk perkuliahan alias maba dengan lulusan SMA / SMK. Jika anda lulusan SMK anda beruntung karena anda sudah pernah berhadapan dengan bahasa pemrograman.

Jika anda ingin belajar bahasa pemrograman Java silahkan cari di Udacity Intro Java Programming & Object Oriented Java. Ingat yang namanya belajar hal baru itu tidak gampang, jadi harap bersabar. :)

  1. Sebagian peserta belum menginstall tools untuk membuat aplikasi Android (JDK, Android SDK, Android Studio dan emulator) dan belum mencoba mengetest apakah Android Studio berjalan dengan baik dengan mencoba membuat Hello World Application pertama kali. Jadi, waktu workshop semakin lama selesainya.

Solusi

  1. Silahkan ikut gerakan Indonesia Android Kejar yang terbagi menjadi 3 level (Beginner, Intermediate dan Advance).

  2. Bagi anda yang ingin menjadi seorang Android developer, mari sisihkan uang saku anda untuk mengganti spare part laptop anda (RAM diupgrade ke 8 GB dan ganti ke SSD 256 GB bukan 128 GB) atau mengganti ke laptop baru seperti Macbook Pro atau Macbook Air. Jangan sisihkan uang saku anda hanya untuk membeli gadget yang aduhai tetapi laptop anda masih kantoran. Untuk processor laptop saya sarankan Intel mulai dari core i3 — core i7 yang mulai dari tahun 2014. Kenapa tahun 2014? Karena saya menggunakan laptop dengan core i3 generasi keempat, RAM 8 GB dan SSD 128 GB (silahkan upgrade SSD ke 256 GB karena 128 GB itu tidak cukup demi kenyamanan anda)

  3. Mari bergabung di komunitas atau media pembelajaran untuk berdiskusi tentang hal-hal teknis yang anda alami saat mendevelop program. Rekomendasi saya: Code Android Indonesia, Bali Android Developers, CodePolitan.

Tantangan kedua (developer)

Bagi anda seorang Android developer yang sudah berpengalaman pastinya ingin memberikan aplikasi kepada pengguna dengan kriteria seperti berikut:

  1. UI yang sesuai dengan OS mobile pengguna

  2. UX yang benar-benar UX

  3. Menyesuaikan layar mulai dari phone sampai tablet.

  4. Size aplikasi anda relatif kecil (5–10 MB) << poin krusial.

Untuk memenuhi hal tersebut anda harus:

  1. Mempersiapkan senjata canggih anda (laptop yang sesuai / melampaui kriteria disertai dengan smartphone anda untuk testing yang sesungguhnya).

  2. Mempelajari bahasa pemrograman. Android (Java / Kotlin), iOS (Objective C / Swift).

  3. Dan hal-hal lain yang belum saya ketahui.

Biasanya pada poin kedua merupakan momok sebagian besar dari anda. Karena, saya amati banyak yang ingin semacam shortcut untuk mempelajari 1 bahasa seperti JavaScript untuk menciptakan aplikasi di iOS dan Android. Bisa saja anda menggunakan Ionic (WebView yang dibungkus dengan cordova) atau React Native yang disediakan facebook. Namun, apakah benar-benar mampu melampaui real UX dari yang menggunakan 1 bahasa untuk 1 platform (Java/Kotlin X Android) (Objective C/Swift)? Saya mendapatkan sebuah artikel menarik yakni WORA, Write Once Run Away sebagai bahan pertimbangan bagi anda belum memutuskan menggunakan Ionic, React Native atau pure Native.

Tantangan (End User)

  1. User Budget > Smartphone > Storage. Kita tidak tahu seberapa besar penyimpanan internal di smartphone user dan bisa jadi mereka tidak bisa mendowload aplikasi kita karena internal storage mereka terbatas atau ukuran aplikasi yang kita buat besar. Meskipun bisa di root atau bisa diatur untuk diarahkan ke penyimpanan eksternal namun tidak semua Android OS dan vendor memberi perlakuan seperti itu.

Solusi (End User)

  1. Anda bisa mencoba Android Instant Apps, membuat kodingan anda rapi dengan MVP dan menggunakan Kotlin. Mengapa Kotlin? Karena saya lihat kodingan yang dituliskan dengan Kotlin lebih sedikit dibanding Java, sehingga menaikkan kemungkinan ukuran aplikasi anda semakin kecil.

  2. Atau anda bisa menggunakan Progressive Web Apps. :)