Isi kandungan:
- Joe Simpson (@kennydude) - Boid
- Christophe Versieux - BeTrains - SNCB Belgium; HoloEverywhere
- Matthew Runo - Zappos
- Josh Burton - jRemote
Android berjalan pada pelbagai peranti, yang bermaksud ia juga berjalan pada pelbagai saiz skrin dan resolusi. Banyak orang memanggil "pemecahan" ini. Tidak peduli hakikat bahawa mereka telah menggunakan produk yang direka dan dibangunkan dengan cara yang sama selama bertahun-tahun di desktop mereka. Rupa-rupanya jika semuanya tidak betul-betul sama, ia mendapat label "fragmentasi".
Terdapat pelbagai cara untuk menangani masalah yang timbul apabila anda menggunakan skrin dengan saiz dan ketumpatan yang berlainan. Apple mempunyai senarai berasingan untuk aplikasi yang direka untuk iPhone berbanding iPad. Microsoft mewujudkan sistem eko baru untuk peranti skrin besarnya. Android menyediakan cara untuk pemaju membuat aplikasi yang sama berfungsi dengan berbeza untuk skrin yang berbeza. Terdapat baik dan buruk mengenai setiap kaedah, tetapi kami akan memberi tumpuan kepada Android di sini.
Di Android, aplikasi boleh menyesuaikan susun atur untuk skrin saiz berbeza serta resolusi. Ini semua dibina, tetapi ada beberapa perkara yang perlu dibangunkan oleh pengembang dalam kod mereka untuk menjadikan aplikasi kelihatan baik. Perkara yang perlu diingat adalah bagaimana saiz skrin dan kepadatan akan mengubah rupa aplikasinya. DNA Droid mempunyai skrin yang lebih tinggi daripada tablet Motorola XOOM, tetapi kami tidak mahu melihat susun atur tablet untuk aplikasi pada skrin bersaiz telefon.
Seorang pemaju perlu menyediakan aset (imej) yang berkualiti tinggi untuk kelihatan tajam pada resolusi tinggi (tidak ketinggalan minda resolusi tinggi), dan pastikan anda menggunakan unit piksel bebas ketumpatan apabila mereka bentuk susun aturnya. Inilah yang membuat butang seperti butang dan kawalan lain menjadi sangat besar pada skrin ketumpatan rendah seperti Galaxy S2, atau daripada benar-benar kecil pada skrin kepadatan tinggi seperti DNA.
Ia berbunyi rumit, tetapi kebanyakan perkara ini dilakukan untuk anda ketika mengetik aplikasi. Semua pembangun perlu lakukan adalah membuat pengisytiharan yang betul, dan memberikan aset yang tepat untuk menyokong sebarang saiz (baik fizikal dan resolusi) atau susun atur. Malah aplikasi susun atur berganda seperti apl Google+ menggunakan kod yang sama untuk menutup setiap skrin yang boleh difikirkan.
Kami tidak cuba menilai pemaju di sini. Menulis aplikasi adalah sukar. Pemaju Android telah mendakwa semua ini sejak pembebasan Gingerbread, tetapi bagaimana praktikalnya? Kami meminta beberapa pemaju mengenainya, lihat apa yang mereka katakan selepas rehat.
Lagi: Laman pemaju Android Google.
Kami meminta segelintir pemaju (kedua-dua besar dan kecil) beberapa soalan asas tentang perkara ini.
- Betapa sukarnya mematuhi garis panduan tersebut?
- Ia kelihatan mudah di atas kertas, tetapi terdapat sebarang isu khas yang anda lihat atau bahagian yang tidak dilindungi oleh Google?
- Bagaimanakah ini mempengaruhi masa dan kos pembangunan, sama ada?
- Apa-apa lagi mengenai subjek yang anda ingin kongsi?
Saya cuba untuk membuat soalan sebagai neutral yang mungkin supaya kita tidak masuk ke dalam ini dengan beberapa berat sebelah di tempat. Apabila diragukan, anda bertanya kepada orang yang tahu, bukan? Saya telah melakukan pengaturcaraan saya yang saksama, tetapi pengekodan di Jawa dan membina aplikasi Android sangat berbeza daripada menulis kod dalam C atau kod mesin, atau bahkan Perl. Terdapat nuansa yang saya tidak faham, walaupun saya mendapatkan kaedah umum membina aplikasi.
Saya membayangkan bilangan yang baik daripada kamu adalah seperti saya dan tidak tahu selok-belok membina aplikasi Android. Kami hanya melihat apa yang dikatakan oleh pemaju Android, dan mereka membuatnya mudah. Bagi mereka, mungkin ada - mereka telah menulis perkara ini sejak awal 2007. Mari lihat apa yang dikatakan oleh orang-orang yang dapat mengikuti mereka.
Joe Simpson (@kennydude) - Boid
Joe adalah ahli Pasukan Boid, dan juga menerbitkan aplikasi sendiri. Beliau (dan seluruh pasukannya) merupakan contoh hebat pemaju bebas dengan hasrat untuk Android yang telah mengkritik beberapa aplikasi luar biasa.
Berikutan garis panduan ini agak sukar, terutamanya jika anda mahu aplikasi tanpa lemak tetapi orang mahu keserasian semula. Salah satu perkara yang paling menjengkelkan adalah melihat apa yang kelihatan seperti pada d.android.com/design tetapi tidak ada cara untuk melakukannya.
Titik lemah menyegarkan apabila anda tidak dapat menggunakan GCM secara fizikal kerana Twitter, dan anda tidak mahu menggunakan PtR. Juga, aplikasi Google membuat garis panduan mereka sendiri. Ambil anak tetingkap slaid sebagai contoh, Google+ melakukannya secara berbeza daripada YouTube (walaupun saya tahu perpustakaan sokongan akan diharapkan menyelesaikannya).
Juga, anda boleh sampai ke titik dan tidak ada dokumentasi pada sesuatu (EdgeEffect misalnya).
Saya seorang pelajar, jadi kos adalah sesuatu yang saya tidak melihatnya, dan ya ia memerlukan masa, tetapi pengguna anda akan mengasihi anda. Pada dasarnya, Live Shows (ADiA, Klinik App, Office Hours) adalah suatu keharusan (malangnya) walaupun mereka tidak dapat menawarkan maklum balas mengenai aplikasi Google.
Boid tidak lama lagi akan pergi sumber terbuka (ya!), Dan anda boleh mencari apl itu sendiri di Google Play. Anda juga akan mendapati semua aplikasi Joe (terdapat beberapa permata di sana) di sini.
Christophe Versieux - BeTrains - SNCB Belgium; HoloEverywhere
Christophe telah membina banyak aplikasi Android, termasuk BeTrains - SNCB Belguim - sebuah aplikasi dengan susunan cantik yang menunjukkan apa yang boleh dilakukan dengan aplikasi yang dibina dengan baik. Walaupun kebanyakan di Amerika Syarikat tidak akan menggunakannya (ia merupakan aplikasi jadual kereta api untuk kereta api Belgium), ia bernilai memasang hanya untuk melihat sejauh mana ia dilakukan. Orang-orang di Eropah Barat pasti tahu tentang perkara ini.
Di samping itu, beliau telah membangunkan HoloEverywhere, sebuah perpustakaan yang boleh digunakan oleh pemaju lain untuk membina aplikasi gaya Holo untuk Android 2.1 dan lebih tinggi. Dengan banyak telefon masih berjalan Gingerbread, ini adalah merawat sebenar bagi pemaju yang ingin menyimpan aplikasi mereka mencari semasa.
Ia tidak sukar sama sekali. Serius. Bahagian yang sukar datang apabila pelanggan meminta untuk menjauhkan diri dari garis panduan tersebut!
Saya masih ingat pelanggan yang mahu saya meletakkan tab di bahagian bawah skrin, butang iPhone di mana-mana, bertukar gaya iPhone dan projek ini sangat sukar untuk dicapai dan saya benar-benar kehilangan banyak masa dan wang di atasnya.
Saya benar-benar marah kepadanya ketika dia bertanya semua perkara bodoh ini, dan dia hanya menganggap saya pemaju yang malas.
Saya kini mempunyai banyak hubungan dengannya dan kami benar-benar menulis semula aplikasinya, mencipta kod hebat dengan membuang semua ciri-ciri yang tidak berguna ini dan mewujudkan aplikasi Android "tulen". Pelanggan dan syarikat hanya perlu mengetahui garis panduan tersebut, saya percaya.
Perpustakaan seperti ActionBarSherlock, HoloEverywhere (penciptaan saya), UnifiedPreferences, dan SlidingMenu sangat mudah digunakan dan menyediakan beberapa baris kod pengalaman pengguna yang hebat.
Masa dan kos, seperti yang saya katakan dapat dikurangkan dengan mengikuti garis panduan Google. Fragmen dan folder susun atur sangat mudah digunakan (dan lebih penting lagi untuk digunakan semula): aplikasi tablet hanya mengambil sekeping kod dari susun atur telefon dan tiada apa yang perlu ditulis semula. Perubahan kecil dalam aplikasi telefon akan segera dicerminkan dalam aplikasi tablet, kerana Fragment yang sama digunakan.
Beberapa projek yang hebat dicipta oleh komuniti, tidak semestinya oleh Google. Sesetengah orang, sangat aktif di Google+ seperti Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (Saya sentiasa takut untuk melupakan orang penting) sangat banyak mengajar. Pemaju hanya perlu tahu di mana untuk melihat dan pembangunan Android akan mudah untuk mereka!
Anda boleh menemui BeTrains di Google Play, dan anda akan mahu melihat HoloEverywhere jika anda berminat dengan pembangunan Android.
Matthew Runo - Zappos
Berbeza dengan beberapa pemaju bebas yang lebih kecil yang kami bincang, kami juga mendengar dari Matthew di Zappos. Zappos adalah sebuah syarikat runcit web dan mungkin mempunyai anggaran khusus untuk reka bentuk di kedua-dua laman web mereka serta aplikasi mereka. Ia juga sebuah syarikat yang saya beli dari semasa ke semasa, tetapi ini tidak memberi kesan dan Matthew tidak menyedari bahawa saya seorang pelanggan yang kerap semasa dia membuat keputusan.
Di Zappos, kerana kami seorang peruncit, kami perlu melekatkan diri dan terpenting pada jenama kami sendiri. Rasa aneh, menyeronokkan, dan sedikit dari dinding. Yang berkata, kami berdua adalah orang percaya yang kuat dalam garis panduan reka bentuk Android - dan segala yang kami lakukan di UI diambil dari semangat peraturan itu. Setahun yang lalu, aplikasi kami kebanyakannya merupakan pelabuhan iOS dari bagaimana ia kelihatan dan berfungsi. Hari ini, ini (saya fikir) permata apa yang boleh anda lakukan di Android. Kami mematuhi garis panduan sekiranya mungkin - dan pereka kami bekerja dari mereka sebagai titik permulaan.
Garis panduan reka bentuk tidak semestinya dan akhirnya semua - akhirnya mereka berada di sana untuk cuba meneruskan reka bentuk aplikasi android supaya mereka lebih konsisten. Kami mendapati bahawa kebanyakan perpustakaan sumber terbuka "baru" yang telah kami gunakan telah berakhir sebagai sebahagian daripada garis panduan (menu gelongsor, crouton).
Garis panduan itu tidak boleh menjadi pemantauan. Perkara tertentu - navigasi keseluruhan - perlu konsisten supaya aplikasi anda "hanya berfungsi." Semua yang lain - mulakan panduan dan lari dengan reka bentuk anda. Kami mahu aplikasi kami menjadi APP KAMI - jadi kami tidak boleh melakukan tema holo asas.
Pada tahun ini, kami pada dasarnya telah mula menulis semula aplikasi kami untuk bekerja dengan serpihan. Dalam 6 bulan yang lalu kami telah berusaha keras untuk menambah 7 "sokongan tablet, dan kami sedang mengusahakan 10" sokongan. Perkara yang paling sukar dilakukan ialah ujian pada peranti, tetapi kami mempunyai pasukan QA yang hebat yang membantu dengannya. Kami mempunyai 2 orang yang bekerja sepenuh masa di aplikasi kami sejak bulan Ogos atau lebih, sebelum itu adalah 1 orang sepenuh masa.
Bottom line adalah, saya fikir garis panduan reka bentuk android membantu kami menyelaraskan proses kami - dan dengan itu mengurangkan kos. Mari kita hadapi, kebanyakan pereka dari dari iOS - jadi mempunyai sumber yang hebat seperti design.android.com adalah bantuan yang luar biasa untuk mendapatkannya bermula di ekosistem android.
Saya boleh mengatakan bahawa pilihan reka bentuk Zappos 'berfungsi dengan baik, dan isteri saya mempunyai almari yang penuh dengan pakaian, dompet, dan kasut yang menguatkan tuntutan saya. Semak apl Android mereka dari Google Play.
Josh Burton - jRemote
Josh telah menulis banyak aplikasi kecil untuk Android, dan aplikasi jRemote (ia pengawal untuk program PC jDownloader yang popular) adalah contoh sempurna tentang cara menggunakan susun atur untuk membuat aplikasi yang kelihatan hebat di kedua-dua telefon dan tablet. Ia memaksimumkan penggunaan skrin peranti, dan memberi anda maklumat yang anda cari dengan tepat bagaimana anda menjangkakannya.
Mematuhi garis panduan reka bentuk cukup lurus ke hadapan, selagi anda melekat pada mereka dari perjalanan. Membangunkan keseluruhan aplikasi dan kemudian pada akhirnya akan kembali dan cuba untuk melaksanakan susunan serpihan / tablet dan sebagainya akan membazir masa, usaha, dan kekecewaan. Tetapi jika anda merancang aplikasi anda, membangunkan menggunakan serpihan dari permulaan, dan membuat sumber anda untuk semua baldi dpi yang betul, ia membuat pembangunan angin, dan anda tidak perlu menghabiskan banyak masa memikirkan garis panduan sama sekali. Dan jika anda tersekat, dokumen reka bentuk hanya satu klik sahaja. Mereka adalah sumber yang hebat.
Ia benar-benar mengecewakan saya bahawa begitu banyak peranti tidak mempunyai susun atur tablet. Jika aplikasi anda dibina menggunakan serpihan, menambah susun atur tablet boleh dilakukan dalam masa 30 minit. Jujur sekali, itu mudah.
Saya fikir ramai pemaju, mereka tidak mempunyai peranti tablet untuk menguji, dan menggunakan emulator boleh menjadi sakit. Tetapi alat ADT baru yang baru dikeluarkan itu menjadikannya lebih mudah. Pandangan konfigurasi berbilang dalam editor susun atur bermakna anda dapat melihat susun atur anda pada 5-6 saiz skrin yang berbeza sekaligus. Dan cepat. Sudah tentu anda masih perlu menguji pada emulator / peranti pada akhirnya, tetapi ia pasti mempercepat aliran kerja.
jDownloader adalah program yang berguna untuk digunakan pada desktop anda, dan jRemote kelihatan seperti cara yang baik untuk mengawalnya. Jika tidak ada yang lain, muat turun dari Google Play dan lihat hanya untuk melihat bagaimana aplikasi boleh menjadi mudah dan cantik pada masa yang sama.
Kami mendengar dari banyak pemaju lain yang cukup banyak mengatakan perkara yang sama. Kami hanya keluar dari bilik di sini untuk menyenaraikan semuanya. Intipati semua ialah jika anda merancang ke hadapan, garis panduan pemaju Android benar-benar berfungsi untuk kebanyakan kes. Kami senang mendengarnya, dan akan terus menikmati aplikasi hebat dan menyokong pemaju kerja keras.