Perbincangan terkini mengenai alat pembangunan tahun 1990-an telah mencetuskan perdebatan baharu tentang keadaan semasa pembangunan aplikasi Mac dan iOS. Perbualan ini tertumpu pada UserLand Frontier, sistem skrip dari tahun 90-an yang membolehkan pembangun membina dan mengubah suai aplikasi tanpa kitaran bina-dan-jalankan berterusan yang melanda pembangunan moden.
Model Pembangunan UserLand Frontier (1990-an)
- Seni Bina: Kernel C + bahasa skrip untuk logik aplikasi
- Kelajuan Iterasi: Perubahan kod serta-merta tanpa memulakan semula aplikasi
- Kegigihan: Pangkalan data jadual cincang dengan akses notasi titik
- Pengubahsuaian UI: Penyuntingan menu dan bar alat secara dinamik
- Kemas Kini: Kemas kini tambahan berasaskan web tanpa memulakan semula aplikasi
Asas Seni Bina Yang Hilang
Salah satu kebimbangan paling mendesak yang dibangkitkan oleh pembangun ialah kekurangan panduan seni bina terbina dalam untuk projek baharu. Pembangun iOS dan macOS yang berpengalaman mendapati diri mereka menghabiskan masa yang ketara untuk menyediakan asas projek yang betul sebelum mereka boleh mula bekerja pada ciri-ciri. Overhed seni bina ini mewujudkan geseran yang tidak perlu pada permulaan setiap projek.
Komuniti mencadangkan bahawa platform pembangunan sepatutnya menyediakan templat seni bina yang kukuh secara lalai, yang kemudiannya boleh disesuaikan oleh pembangun jika diperlukan. Pada masa ini, projek baharu bermula dengan struktur yang minimum, memaksa pembangun untuk mencipta semula corak asas berulang kali.
Daya Tarikan Seni Bina Enjin Ditambah Skrip
Perbincangan telah menyerlahkan minat yang semakin meningkat dalam model pembangunan yang menggabungkan enjin teras yang stabil dengan bahasa skrip yang ditafsirkan. Pendekatan ini menawarkan beberapa kelebihan berbanding alur kerja kompil-dan-jalankan tradisional, termasuk maklum balas segera dan keupayaan untuk mengubah suai tingkah laku aplikasi tanpa pembinaan semula penuh.
Beberapa pembangun menunjuk kepada teknologi seperti Tcl/Tk sebagai contoh seni bina ini, walaupun mereka menyatakan batasan dengan integrasi platform asli. Cabaran terletak pada mencipta sistem yang menyediakan fleksibiliti skrip sambil mengekalkan rupa dan rasa asli merentasi platform yang berbeza.
Alternatif Moden dan Batasannya
Walaupun alat semasa seperti Swift Playgrounds dan SwiftUI Previews cuba menangani beberapa isu kelajuan iterasi, pembangun mendapati ia tidak mencukupi untuk pembangunan aplikasi dunia sebenar. Perbincangan komuniti mendedahkan kekecewaan dengan penyelesaian separa ini yang tidak memberikan pengalaman pembangunan yang lancar yang mungkin dengan teknologi lama.
Sebagai seseorang yang melakukan banyak kerja pembangunan VB5-6 pada masa dahulu, perkara yang sama berlaku untuk semua platform.
Sesetengah pembangun telah beralih kepada penyelesaian merentas platform seperti Electron untuk pembangunan JavaScript, yang menawarkan kitaran iterasi yang lebih pantas tetapi datang dengan pertukaran tersendiri dari segi prestasi dan integrasi platform.
Cabaran Pembangunan Moden
- Kitaran Binaan: Iterasi binaan-dan-jalankan yang berterusan diperlukan
- Persediaan Seni Bina: Kerja asas projek manual yang meluas
- Kerumitan Bahasa: Kerumitan yang semakin meningkat dalam Swift dan alat pembangunan
- Alat Pratonton: Keberkesanan terhad Swift Playgrounds dan SwiftUI Previews
- Integrasi Platform: Kesukaran mencapai rupa dan rasa asli dengan alat merentas platform
Jalan Ke Hadapan
Perbualan mencadangkan bahawa platform pembangunan masa depan mungkin perlu menerima pendekatan hibrid yang menggabungkan faedah prestasi kod yang dikompil dengan fleksibiliti bahasa yang ditafsirkan. Ini boleh melibatkan bahasa khusus domain yang direka khusus untuk pembangunan aplikasi, bukannya bahasa pengaturcaraan tujuan umum yang disesuaikan untuk tugas tersebut.
Perbincangan juga menyentuh cabaran yang lebih luas yang dihadapi oleh vendor platform: menarik pembangun baharu yang mungkin memilih persekitaran pembangunan yang lebih mudah berbanding rantaian alat asli yang lebih kompleks tetapi berpotensi lebih berkuasa. Apabila kerumitan pembangunan terus berkembang, tekanan untuk alat pengalaman pembangun yang lebih baik berkemungkinan akan meningkat.