Комментарии 16
Sun со своей Java (на нём были основаны приложения специального вида, предназначенные для запуска в браузере, – сервлеты)— не сервлеты (которые запускаются на сервере), а апплеты
JavaServlet (позднее – JavaFX)— и опять мимо. Java Servlets и JavaFX имеют разные, не пересекающиеся между собой области применения
В контексте данной статьи лучше бы вспомнили про Java Web Start
Кстати, сам JS довольно неплохой язык, особенно в последних спецификациях (ES). Увы, все убивает не сколько JS, столько DOM. Кривое API, которое тянется не одно десятилетие.
Если предстивить на минуту, что кто решил завести другой движок (язык) в браузере, то думаю, его бы ждал такой же перформанс как и с JS, а может даже и хуже. Так как DOM API все тоже.
И вопрос автору, чем синтаксис JS так уж плох? Как я уже упомянул выше, на сегодня в JS много чего вкусного завезли — модули, классы, async/await. Для статики кода можно Typescript использовать, а там и декораторы, и приватные переменные, и типы, и интерфейсы.
с возможным вкраплением зачатков объектно-ориентированного подхода
В 2021 уже как-то несерьёзно. Ничто не мешает писать только в концепциях ООП. Да и 10 лет назад не мешало. И это ещё без TS.
Привычка может?
В любом случае, объектная модель Javascript может не прийтись по вкусу тем, кто на строго типизированных языках учился (Delphi, C# и т.д.)
Последне версии freimwork на Delphi позволяют создавать сайты ну очень быстро. причем сразу для разных webserver — iis или Linux. Наверно это самый быстрый инструмент для кровавого enterprise.
Создавать можно быстро. Отлаживать и ловить недокументированные особенности и глюки IDE — очень долго. в совокупе потери времени от использования абракадабры (embarcadero) оказались лично для меня огромными
15 лет назад в университете я делал проекты с Borland C++Builder, потом еще коммерческой разработкой на ExtJS занимался.
После всего этого опыта я предпочту компонентную модель из современных фреймворков (Vue, React, Angular). Старый добрый ООП с его иерархией классов типа BaseWidget -> AbstractPanel -> MyCustomPanel
намного сложнее поддерживать и проще настрелять себе в ногу с переопределением метода где не надо. Современные фреймворки дают намного более удобные кирпичики для сборки через композицию вместо наследования.
Да, в UI объектный подход всегда выглядел громоздко и переусложненно. Тот же Реакт по факту вообще от него отказался, остались компоненты-функции. А в моделях и логике ООП со своими классическими паттернами и бестпрактисами по-прежнему рулит, в том числе находится место и наследованию, не часто, но по ситуации.
Поговорим об инструментах для создания клиентских веб-приложений с использованием традиционных языков программирования