10 Tips Teratas Untuk Membangun Aplikasi Mobile Yang Baik
Saya belakangan ini menulis dan menerbitkan sebuah buku mengenai pengembangan seluler Cross platform yang disebut "Build Cross Programs Platform Asli dengan Appcelerator: Tutorial Pemula untuk Pengembang Situs". Posting berikut cuplikan dari buku itu, dengan modifikasi untuk kejelasan dan panjangnya. Ini terbagi deep daftar point paling penting yang saya buat di buku ini -- lembar contekan, bila Anda suka.
Meskipun panduan ini terpusat pada Platform Appcelerator, semua prinsip berlaku untuk setiap pengembang yang menulis program untuk lebih dari satu sistem operasi seluler. Bila Anda menyimpan beberapa kiat ini, itu akan menolong Anda tetap konsentrasi untuk membuat program asli Cross platform yang terbaik deep kelasnya.
Tip No. 1: Beauty is relative to the platform
Gambar di bawah memperlihatkan aplikasi seluler Evernote yang berjalan pada iOS 8, Android 4.4.4, dan Windows Phone 8.1. Monitor capture ini memperlihatkan monitor utama aplikasi, masuk sebagai pengguna yang serupa pada waktu yang sama, sehingga datanya sama persis.
Tetapi, sama seperti yang Anda lihat, antarmuka pengguna benar-benar berbeda di semua platform. Keduanya indah dan didesain dengan baik, tapi konsep "beautiful android app" benar-benar berbeda dengan ide "beautiful iOS app". Itu karena beauty is relative to the platform.
Sebelum Anda membuat desain program, mundur beberapa langkah, pelajari cara kerja platform target Anda, dan terapkan branding Anda disekitaran parameter spesifiknya. Dan ingat bahwa meskipun program Anda dirender secara berbeda di semua platform, dengan Appcelerator, Anda saat ini masih bisa menggunakan basis code tunggal dan mempunyai persentase penggunaan ulang code yang sangat tinggi.
Tip No. 2: Penggunaan ulang code adalah untuk logika program Anda -- tidak harus untuk UI
Ada beberapa kesalahpahaman mengenai penggunaan kembali code dengan Appcelerator atau alat Cross platform apa pun itu, deep hal ini. Menginginkan penggunaan kembali code 100% tidak logis karena itu bukan hanya berarti Anda mempunyai sedikit kontrol atas UI/UX program Anda, tapi juga program Anda akan terlihat sama di semua platform target.
Sudah pasti, sebagian orang menduga ini ialah tujuan akhir dari alat Cross platform, tapi itu salah arah. Itulah tujuan dari browser Web. Tetapi, penggunaan kembali yang tinggi diharapkan dengan logika program Anda.
Tip No. 3: Selalu pikirkan "Layanan web"
Karena kami sedang mengembangkan program Cross platform, saya sarankan Anda membuat code Anda untuk diabstraksi sepenuhnya, seakan-akan itu ialah service Web (service Web lokal, bila Anda suka). Menjadikan semua logika pemrograman Anda benar-benar independen dari monitor atau bahkan juga platform yang akan menjalankannya, sehingga semua modul pemrograman Anda tidak bergantung pada platform dan, yang terpenting, bisa digunakan kembali di semua platform. Selanjutnya buat antarmuka pengguna asli, yang akan memakai "layanan Web lokal" ini. Dengan memakai arsitektur ini, Anda bisa memastikan semua code antarmuka pengguna benar-benar dipisahkan dari logika, dan keduanya bisa mengalir secara mandiri.
Perlu beberapa saat untuk saya, sebagai former Web developer, untuk mengenali dan menerima bahwa, saat build mobile apps, saya selalu perlu memikirkan "Layanan Web". Tetapi, membuat perubahan mental itu sebanding dengan usaha, dan program Anda akan jadi lebih baik karena itu.
Terlebih lagi, lewat pendekatan ini tidak ada bedanya bila Anda memakai TabbedBar di iOS atau ViewPager di Android. Lagi pula, code antarmuka pengguna hanya customer dari logika aplikasi Anda.
Untuk membantu Anda deep perjalanan ini, saya membuat template program yang bisa Anda gunakan setiap Anda membuat aplikasi baru (lihat di bawah). Template ini ditulis menggunakan Alloy, framework MVC Appcelerator. Template menyediakan arsitektur MVC yang dibutuhkan untuk mempertahankan antarmuka pengguna khusus platform, dengan content dan logika yang bisa digunakan kembali. Anda bisa mengunduh template aplikasi dari GitHub.
Tip No. 4: Ingatlah bahwa tab bisa deep atau shallow
Tab iOS memiliki NavigationController bawaan, yang memungkinkan beberapa tingkat navigasi di deep setiap tab. Tab Android, bagaimanapun, shallow dan seharusnya tidak memiliki navigasi deep tab.
Untuk mengilustrasikan ini, saya akan menunjukkan kepada Anda bagaimana aplikasi Facebook untuk Android melakukan pendekatan yang salah (sejak itu telah diperbaiki). Gambar di bawah menunjukkan tab Notifikasi sebelumnya dari aplikasi Facebook untuk Android.
Per pedoman desain Android, mengetuk tombol Kembali di layar utama dengan tab harus mematikan aplikasi. Sekarang, jika Anda mengklik salah satu notifikasi di aplikasi Facebook, Anda akan melihat apa yang diilustrasikan pada gambar di bawah.
Di sini Facebook mencoba mengaplikasikan fungsionalitas serupa iOS yang menyediakan navigasi deep tab. Ada dua permasalahan dengan ini. Pertama, Anda berada di tab Notifikasi, tapi judul ActionBar bertuliskan "Komentar". Ini membingungkan dan bersimpangan dengan intuisi. Kedua, dan yang paling penting, tombol Kembali saat ini didefinisikan ulang: Bukannya menutup aplikasi, Anda akan dibawa kembali lagi ke layar sebelumnya.
Sebagai aturan singkat, tidak boleh mencoba memaksakan navigasi deep tab Android Anda. Melakukannya akan merusak pengoperasian tombol Kembali dan membuat program Anda terasa canggung.
Tip No. 5: Ketahui platform target Anda
Contoh tab di atas adalah alasan penting untuk mengetahui platform target Anda. Dan langkah terbaik untuk mengetahui apa yang ada untuk program Anda, dan apa yang harus dan tidak boleh Anda lakukan, dengan membaca dasar antarmuka pengguna tiap platform.
Terkecuali bila Anda menggunakan sistem operasi yang Anda targetkan setiap hari, dan Anda merasa betul-betul mengetahui persamaan dan ketidaksamaan perilaku dan visualnya, saya sarankan Anda menyempatkan diri untuk membaca dasar secara lengkap.
Lihat dasar iOS dan dasar Android. Sesudah membaca beberapa dokumen ini, Anda akan banyak memiliki info yang akan menolong Anda memahami tiap platform, merancang antarmuka pengguna yang lebih bagus, dan mengetahui apa yang harus dicari di Titanium API atau, alternatifnya, di modul pihak ketiga.
Tip No. 6: Bekerja dengan tim desain Anda
Jika Anda seorang seniman grafis, pastikan Anda mempelajari setiap platform, paradigma navigasinya, dan bahasa visualnya. Anda akan menemukan perbedaan halus yang membuat perbedaan besar deep kegunaan.
Jika Anda seorang programmer dengan seniman grafis di tim Anda, atau Anda bekerja sebagai kontraktor/freelancer untuk agensi yang memberi Anda maket aplikasi yang akan dibuat, belajarlah untuk bekerja dengan desainer dan mendidik mereka. Bantu mereka memahami bahwa setiap platform memiliki cara asli untuk menampilkan informasi, menata layar, dan menerapkan navigasi, dan perbedaan ini jauh melampaui Android yang memiliki tombol Kembali dan ActionBar. Platform seluler berbeda, jadi menurut definisi, aplikasi Cross platform Anda akan terlihat sedikit berbeda di seluruh platform.
Tip No. 7: Don't be afraid of modules
Tujuan Appcelerator tak pernah mengekspos 100 % dari setiap SDK asli yang didukung, tetapi untuk menyediakan API Cross platform yang komprehensif, tingkat atas. Untuk menutupi fitur yang tidak diekspos dengan resmi, dia menawarkan Kerangka Peningkatan Modul Asli, yang bisa dipakai pengembang Objective-C dan Java untuk mengekspos fitur dan fungsionalitas tambahan. Modul-modul ini dapat secara menegangkan meningkatkan kualitas program secara keseluruhan dan pengalaman pengguna. Belajar menemukan modul, menggunakannya, dan menerimanya.
Tip No. 8: Sayangi platform target Anda
Jangan biarkan preferensi individu Anda mempengaruhi design, fungsionalitas, dan kualitas program Cross platform Anda. Bila Anda menyukai iOS, itu bukan alasan untuk memperlihatkan semakin banyak komitmen pada program iOS Anda, meninggalkan pengguna Android Anda. Belajarlah untuk menyukai setiap platform dengan kemampuan dan keterbatasannya. Belajar membandingkan platform, tapi tidak mengkritiknya. Mereka semua baik pada hak mereka sendiri dan deep konteks mereka sendiri. Selalu mencoba untuk membuat program terbaik untuk platform yang Anda targetkan.
Tip No. 9: Sering-seringlah menguji
Karena aplikasi Cross platform Anda akan memiliki kode dan komponen Cross platform dan khusus platform, pastikan Anda sering mengujinya. Jangan menghabiskan waktu berhari-hari mengerjakan versi Android, lalu akhirnya jalankan di iOS dan temukan posisi objek tidak aktif, font perlu disesuaikan, atau aplikasi macet saat memuat. Rekomendasi saya adalah sering-seringlah menguji; jika ada yang rusak di satu platform, Anda bisa langsung mengidentifikasi masalahnya.
Tip No. 10: Jadilah pengguna Anda
Pengguna Anda adalah pertimbangan paling penting deep build aplikasi Anda. Jadilah pengguna platform target dan ketahui cara kerja platform tersebut. Jadilah pengguna aplikasi Anda sehingga Anda dapat mengalaminya sendiri. Lihat sekeliling, periksa aplikasi lain, bandingkan dan analisis sejujur mungkin.
Saat Anda mengetes program, tanya pada diri sendiri: Apa saya akan memakai program ini? Apa program ini terasa benar? Pastikan itu sesuai dengan standard Anda sendiri. Bila Anda menyukai program Anda, kemungkinan pengguna Anda pun akan menyukainya.
Kita hidup di jaman ketika tidak ada perusahaan yang sanggup mengabaikan kemampuan transformatif seluler atau harapan dan tuntutan pengguna seluler. Mempelajari cara meningkatkan dengan benar di semua platform ialah ketrampilan penting yang akan membantu Anda (dan perusahaan Anda) maju deep cuaca ini. Dengan 10 tips ini, Anda akan berada di jalur yang tepat untuk mencapai keberhasilan seluler.
Ricardo Alcocer mempunyai lebih dari 20 tahun pengalaman deep industri pengembangan perangkat lunak. Ia sudah build produk, mengelola team pengembangan perangkat lunak, mengajarkan kursus pemrograman, dan membimbing pengembang dan pengusaha perangkat lunak. Sebagai penginjil teknologi, Ricardo sudah menulis buku, berpartisipasi deep radio, TV, dan ceramah yang tidak terhitung jumlahnya di Amerika Serikat, Karibia, Amerika Selatan, Eropa, dan Asia. Temukan ia di Twitter, LinkedIn, dan GitHub.