Her şeyden önce, yukarıdaki ifadenin yazarının web sitesi geliştirme hakkında konuştuğunu unutmayın. Bu yüzden sunum geliştirme konusunda endişeli ve Scala'nın iyi bir seçim olmayacağını düşünüyor.
Bunu söyledikten sonra, web geliştirme konusunda iyi bir deneyimim var. En az 8 yıl boyunca bununla çalıştım, 5 tanesi dijital ajanslarda.
Ve evet, tecrübelerime göre , sunum katmanındaki statik olarak yazılmış, derlenmiş bir dil büyük bir engel olabilir. İçeriğin, iş gereksinimlerinden çok daha sık aralıklarla değiştirilmesi gerekir. Ve genellikle bunun farklı bir ekip ("ön uç" geliştiricileri) tarafından yapılması gerekir. Normalde HTML, JavaScript, web standartları, CSS hakkında çok şey biliyorlar, ancak Java ve C # gibi sunucu tarafı diller hakkında çok fazla şey bilmiyorlar. Ayrıca, bir şablondaki her türlü değişikliğin hemen kullanılabilir olduğunu varsayarlar ; bunlar derleme ve yazma hataları için kullanılmaz. Ve haklılar: statik olarak yazılmış diller, veri erişimi ve iş kuralları gibi zor, karmaşık gereksinimler için çok iyidir, ancak arayüz geliştirme için iyi değildir.
Aslında, Velocity gibi özel ve yorumlanmış bir şablon dili kullanmanın ana avantajlarından biri budur . Kullanımı kolay, gücü ve esnekliği sunum katmanı geliştiricileri için yeterlidir. Ve sonra sunucu tarafındaki adamlar, her yerde ciddi, statik olarak yazılmış bir dil kullanmakta özgürler ...
Bununla birlikte, Scala'nın biraz farklı olduğunu da kabul ediyorum. Çok daha az ayrıntılı ve çok daha etkileyici Java ile aynı anda olmak, inanması olabilir sunum gelişimi için kullanılabilecek - belki başarılı bir şekilde şablon dili olarak kullanılabilir. Ayrıca, Play (web sitesini her değişiklikten sonra otomatik olarak derleyen) gibi bir çerçeveyle birleştirilebiliyorsa , kazanan bir IMHO olabilir. Yine de, Play bile iyi bir işaret olmayan Groovy benzeri (dinamik) bir şablon dili seçti.
Özetlemek gerekirse: Scala ile ilgili sorun, derlendiği gerçeğiyle çok daha ilgili. Aslında türünü çıkarma mekanizması, statik olarak da yazıldığını neredeyse unutturmanızı sağlar.
(Ve İngilizcem için üzgünüm. Bir şey net değilse bana bildirin, düzeltmeye çalışacağım.)
Button
zaman olup olmadığını kontrol etmeyeWebControl
gerek yoktur.