Rumah > Artikel > hujung hadapan web > Hackathon Full-Stack Pertama Saya: Pengajaran daripada Membina Apl Mudah Alih
Siaran ini telah berbulan-bulan dalam draf saya, mengumpulkan habuk. Akhirnya, saya bersedia untuk membiarkannya melihat cahaya mata dan berkongsi pengalaman hackathon tindanan penuh pertama saya dengan anda.
Saya akan mendedahkan bahawa saya seorang pembangun otodidak dan hackathon ini adalah kali pertama membina apl tindanan penuh.
Tugas hackathon ini adalah untuk membina aplikasi mudah alih untuk sebuah perbadanan perumahan, dan melaksanakan fungsi asas seperti menghantar laporan rumah, permohonan rumah, melihat penyata sewa, bertanya untuk mendapatkan bantuan dan untuk melihat Soalan Lazim.
Saya ialah pembangun android, dan rakan sepasukan yang lain bertempur dengan Xamarin untuk IOS dan membina portfolio tapak web untuk projek itu.
Btw, jangan tanya saya kenapa kami tidak menggunakan Xamarin untuk semua platform, kami adalah pemakan quiche.
Pada masa yang sama peraturan pertandingan tidak mengambil fakta bahawa binari Apple tidak boleh diserahkan tanpa semakan Big Brothers.
Jadi kami merancang untuk membina apl Android dan menyusunnya ke perduaan platform IOS melalui Xamarin.
( ...salah seorang rakan sepasukan saya mencadangkan perkara ini - Saya tidak tahu apa yang sedang berlaku kompilasi, saya telah membina bahasa sebelum ini dan saya tahu menukar himpunan bahasa kepada yang lain bukanlah mudah )
Untuk android kami menggunakan Javascript yang dijalankan pada Rangka Kerja DroidScript, selain itu rakan sepasukan yang lain bertarung dengan hackathon lain dan mengikut permintaan saya untuk pelaksanaan ciri.
Saya memilih DroidScript kerana cara uniknya mengurangkan kerumitan ui pada android dan aksesnya kepada api asli sambil menghasilkan binari kecil.
Selain itu, saya memilihnya berdasarkan pengalaman dengan pembangunan ui menggunakannya, saya telah mengalihkan perpustakaan reka bentuk bahan 3 ke DroidScript sebagai pemalam baru-baru ini oleh itu ui tidak akan menjadi masalah.
Saya memutuskan untuk tidak menambah Node.js untuk aplikasi pelanggan, kerana Node terlalu berat tetapi untuk aplikasi pentadbir saya menggunakan nod dengan perasa esm di mana-mana sahaja.
Kami menyiapkan projek dalam masa 4 hari dan mula mendraf apl pentadbir pada hari penyerahan yang sama tetapi kami tidak berjaya menyiapkannya.
Jadi, apakah hasilnya? Nah, kami tidak menang malah tidak berjaya ke pusingan akhir. Malah, kami tidak pernah menerima sebarang maklum balas atau kemas kini, yang mengecewakan. Saya tidak kecewa dengan kerugian tetapi kerana kekurangan ketelusan.
Walaupun segalanya, terdapat beberapa manfaat berharga daripada hackathon ini:
Tulis Ujian, Walaupun dalam Hackathon
Kami melangkau ujian pada mulanya kerana kekangan masa, tetapi ia kembali menggigit kami. Ujian akan membantu kami mengelak daripada membuat lebih 5000 panggilan Firebase semasa pembangunan. Pengajaran.
Jangan Pandang Rendah XML DOM dalam Android
Kami bergelut dengan prestasi UI, terutamanya apabila menambah berbilang elemen secara dinamik. Cara DOM XML Android dikendalikan oleh DroidScript ternyata lebih perlahan daripada yang dijangkakan. Saya sepatutnya menggunakan Enjine.IO, versi berasaskan web DroidScript (ditulis oleh teras DroidScript Devs) tetapi lebih pantas serta faedah menjadi merentas platform.
Fikir Dua Kali Tentang Mengecualikan Node.js
Kami fikir mengecualikan Node.js untuk apl pelanggan akan menjimatkan ruang, tetapi ia membebankan kami kefungsian. Firebase adalah jauh lebih perlahan apabila disepadukan sebagai skrip, berbanding menggunakannya sebagai modul Nod. Lain kali, saya akan mempertimbangkan semula pertukaran.
Terima kasih kerana membaca! Catatan blog ini mungkin mengambil masa berbulan-bulan untuk diselesaikan, tetapi pelajaran yang saya pelajari akan bertahan lebih lama.
Anda boleh menyemak projek di sini: Projek Hackathon.
Beritahu saya pendapat anda!
Atas ialah kandungan terperinci Hackathon Full-Stack Pertama Saya: Pengajaran daripada Membina Apl Mudah Alih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!