Перш за все, врахуйте, що автор вищезазначеної заяви говорить про розробку веб-сайту. Тож він переживає за розробку презентацій , і саме там він вважає, що Скала не був би хорошим вибором ...
Сказавши це, у мене є хороший досвід роботи з веб-розробкою. Я працював принаймні 8 років виключно з ним, 5 з них у цифрових агенціях.
І так, на мій досвід статично набрана, складена мова на презентаційному шарі може стати великою перешкодою. Зміст потрібно постійно змінювати, набагато частіше, ніж вимоги бізнесу. І зазвичай це потребує чітка команда ("розробники"). Зазвичай вони знають багато про HTML, JavaScript, веб-стандарти, CSS, але не так багато про такі серверні мови, як Java та C #. Вони також припускають, що будь-які зміни в шаблоні одразу доступні; вони не використовуються для компіляції та введення помилок. І вони праві: статично набрані мови дуже хороші для жорстких, складних вимог, таких як доступ до даних та ділових правил, але не такі гарні для розробки інтерфейсу.
Це, власне, одна з головних переваг використання спеціалізованої та інтерпретованої мови шаблонів, наприклад, Velocity . Його простота у використанні, потужність та гнучкість є достатніми для розробників рівня презентаційного рівня. І тоді хлопці, які стоять на сервері, вільно користуватися серйозною статично набраною мовою в будь-якому іншому місці ...
Однак я також згоден, що Скала дещо інший. Будучи в той же час набагато менш багатослівним і значно виразнішим за Java, я вважаю, що його можна використовувати для розробки презентацій - тому, можливо, його можна успішно використовувати як мову шаблонів. І якщо його також можна поєднати з такою основою, як Play (яка збирає веб-сайт автоматично після кожної зміни), це може бути переможцем IMHO. Тим не менш, навіть Play обрала мову, схожу на Groovy (динамічну) шаблон, що не є хорошим знаком.
Підсумовуючи: проблема зі Scala набагато більше пов'язана з тим, що вона складена. Насправді механізм виводу типу змушує вас майже забути, він також статично набраний.
(І вибачте за мою англійську. Повідомте мене, якщо щось не зрозуміло, я спробую це виправити.)
Button
колиWebControl
містить всю інформацію , вам потрібно , і всі елементи управління є похідними від нього.