Pertama-tama, ingatlah bahwa penulis pernyataan di atas berbicara tentang pengembangan situs web. Jadi dia khawatir tentang pengembangan presentasi , dan di situlah dia berpikir Scala tidak akan menjadi pilihan yang baik ...
Karena itu, saya memiliki pengalaman yang baik dengan pengembangan web. Saya telah bekerja selama setidaknya 8 tahun secara eksklusif dengannya, 5 di antaranya di agensi digital.
Dan, ya, dalam pengalaman saya, bahasa yang dikompilasi secara statis diketik pada lapisan presentasi bisa menjadi hambatan besar. Konten perlu diubah terus-menerus, jauh lebih sering daripada persyaratan bisnis. Dan biasanya ini perlu dilakukan oleh tim yang berbeda (pengembang "front-end"). Mereka biasanya tahu banyak tentang HTML, JavaScript, standar web, CSS, tetapi tidak banyak tentang bahasa sisi server seperti Java dan C #. Mereka juga berasumsi bahwa segala macam perubahan dalam suatu template segera tersedia; mereka tidak digunakan untuk kompilasi dan mengetik kesalahan. Dan mereka benar: bahasa yang diketik secara statis sangat baik untuk persyaratan yang sulit dan kompleks, seperti akses data dan aturan bisnis, tetapi tidak sebagus untuk pengembangan antarmuka.
Itu, pada kenyataannya, salah satu manfaat utama dari menggunakan bahasa template khusus dan ditafsirkan seperti Velocity . Mudah digunakan, daya, dan fleksibilitasnya memadai untuk pengembang lapisan presentasi. Dan kemudian orang-orang di sisi server bebas untuk menggunakan bahasa yang diketik secara statis di tempat lain ...
Namun, saya juga setuju bahwa Scala agak berbeda. Menjadi pada saat yang sama jauh lebih sedikit bertele-tele dan jauh lebih ekspresif daripada Jawa, saya percaya itu bisa digunakan untuk pengembangan presentasi - jadi mungkin itu bisa berhasil digunakan sebagai bahasa template. Dan jika itu juga dapat digabungkan ke kerangka kerja seperti Play (yang mengkompilasi situs web secara otomatis setelah setiap perubahan), itu bisa menjadi pemenang IMHO. Namun, bahkan Play telah memilih bahasa template (dinamis) seperti Groovy, yang bukan pertanda baik.
Singkatnya: masalah dengan Scala jauh lebih terkait dengan fakta bahwa itu dikompilasi. Bahkan jenis mekanisme inferensi membuat Anda hampir lupa itu juga diketik secara statis.
(Dan maaf tentang bahasa Inggris saya. Beri tahu saya jika ada sesuatu yang tidak jelas, saya akan mencoba memperbaikinya.)
Button
kapanWebControl
berisi semua info yang Anda butuhkan dan semua kontrol berasal darinya.