Developer Menuntut Tools Pengembangan Mac dan iOS yang Lebih Baik Setelah Nostalgia Software Frontier

Tim Komunitas BigGo
Developer Menuntut Tools Pengembangan Mac dan iOS yang Lebih Baik Setelah Nostalgia Software Frontier

Diskusi terbaru tentang tools pengembangan tahun 1990-an telah memicu perdebatan baru mengenai kondisi terkini pengembangan aplikasi Mac dan iOS. Percakapan tersebut berpusat pada UserLand Frontier, sebuah sistem scripting dari tahun 90-an yang memungkinkan developer membangun dan memodifikasi aplikasi tanpa siklus build-and-run yang terus-menerus seperti yang mengganggu pengembangan modern.

Model Pengembangan UserLand Frontier (1990-an)

  • Arsitektur: Kernel C + bahasa scripting untuk logika aplikasi
  • Kecepatan Iterasi: Perubahan kode instan tanpa restart aplikasi
  • Persistensi: Database hash-table dengan akses notasi titik
  • Modifikasi UI: Pengeditan menu dan toolbar yang dinamis
  • Pembaruan: Pembaruan inkremental berbasis web tanpa restart aplikasi

Fondasi Arsitektur yang Hilang

Salah satu keprihatinan paling mendesak yang diangkat oleh developer adalah kurangnya panduan arsitektur bawaan untuk proyek-proyek baru. Developer iOS dan macOS berpengalaman mendapati diri mereka menghabiskan waktu yang signifikan untuk menyiapkan fondasi proyek yang tepat sebelum mereka bahkan bisa mulai mengerjakan fitur-fitur. Overhead arsitektur ini menciptakan gesekan yang tidak perlu di awal setiap proyek.

Komunitas menyarankan bahwa platform pengembangan seharusnya menyediakan template arsitektur yang solid secara default, yang kemudian bisa dikustomisasi oleh developer jika diperlukan. Saat ini, proyek-proyek baru dimulai dengan struktur minimal, memaksa developer untuk menciptakan ulang pola-pola dasar secara berulang.

Daya Tarik Arsitektur Engine Plus Scripting

Diskusi ini telah menyoroti meningkatnya minat pada model pengembangan yang menggabungkan core engine yang stabil dengan bahasa scripting yang diinterpretasi. Pendekatan ini menawarkan beberapa keuntungan dibandingkan workflow compile-and-run tradisional, termasuk feedback instan dan kemampuan untuk memodifikasi perilaku aplikasi tanpa rebuild penuh.

Beberapa developer menunjuk pada teknologi seperti Tcl/Tk sebagai contoh arsitektur ini, meskipun mereka mencatat keterbatasan dalam integrasi platform native. Tantangannya terletak pada menciptakan sistem yang memberikan fleksibilitas scripting sambil mempertahankan tampilan dan nuansa native di berbagai platform.

Alternatif Modern dan Keterbatasannya

Meskipun tools saat ini seperti Swift Playgrounds dan SwiftUI Previews berusaha mengatasi beberapa masalah kecepatan iterasi, developer menganggapnya tidak memadai untuk pengembangan aplikasi dunia nyata. Diskusi komunitas mengungkapkan frustrasi dengan solusi-solusi parsial ini yang tidak memberikan pengalaman pengembangan yang mulus seperti yang dimungkinkan dengan teknologi lama.

Sebagai seseorang yang melakukan banyak pekerjaan pengembangan VB5-6 pada masa itu, hal yang sama berlaku untuk semua platform.

Beberapa developer telah beralih ke solusi cross-platform seperti Electron untuk pengembangan JavaScript, yang menawarkan siklus iterasi yang lebih cepat namun datang dengan trade-off tersendiri dalam hal performa dan integrasi platform.

Tantangan Pengembangan Modern

  • Siklus Build: Diperlukan iterasi build-and-run yang konstan
  • Pengaturan Arsitektur: Pekerjaan fondasi proyek manual yang ekstensif
  • Kompleksitas Bahasa: Kompleksitas yang terus berkembang dalam Swift dan tools pengembangan
  • Tools Preview: Efektivitas terbatas dari Swift Playgrounds dan SwiftUI Previews
  • Integrasi Platform: Kesulitan mencapai tampilan dan nuansa native dengan tools lintas platform

Jalan ke Depan

Percakapan ini menunjukkan bahwa platform pengembangan masa depan mungkin perlu mengadopsi pendekatan hybrid yang menggabungkan manfaat performa dari kode yang dikompilasi dengan fleksibilitas bahasa yang diinterpretasi. Ini bisa melibatkan bahasa khusus domain yang dirancang secara spesifik untuk pengembangan aplikasi, daripada bahasa pemrograman general-purpose yang diadaptasi untuk tugas tersebut.

Diskusi ini juga menyentuh tantangan yang lebih luas yang dihadapi vendor platform: menarik developer baru yang mungkin memilih lingkungan pengembangan yang lebih mudah daripada toolchain native yang lebih kompleks namun berpotensi lebih powerful. Seiring kompleksitas pengembangan terus bertumbuh, tekanan untuk tools pengalaman developer yang lebih baik kemungkinan akan meningkat.

Referensi: Writing Mac and iOS Apps Shouldn't Be So Difficult