История изменений
Исправление
stevejobs,
(текущая версия)
:
вот ты написал что-то на React или Angular. Но теперь ты хочешь, чтобы оно искалось в гугле. Значит тебе нужен React на сервере теперь, чтобы он генерил там. Значит тебе нужен JS на сервере, все-таки React ни на Java ни на Ruby не написан
теперь, у тебя react-router. Зачем тебе роутер еще и в джава-коде? Роутинг на стороне джавы оказываевается не нужен
теперь, страницы у тебя все равно генерит React. Значит такие штуки как Spring MVC не нужны. Да они и несовместимы между собой, тупо потому что смешать код на Java и JavaScript сложно (хоть и можно с помощью Nashorn или GraalVM). Еще один кусок отпал.
теперь, в старых веб-фреймворках был инструментарий для генерации страниц, в том числе крудов из моделей. Но дело в том, что если у тебя доменно-ориентированная микросервисная архитектура, то со стороны микросервисов у тебя нет таких понятий как «страница» - у тебя есть объекты доменной модели типа «пользователь» или «документ». Весь инструментарий про модели идет псу под хвост, т.к. у тебя может теперь и есть «модели», но в мире Domain Driven Design они значат другое
у тебя был ORM вроде Hibernate (кажется, лучший ORM из всех популярных языков вообще), но все больше и больше людей начинают писать тупо SQL, или всякие генераторы запросов. Hibernate - это слишком сложно. Все эти модные когда-то фичи, которые имели идею про то, что вот у тебя есть виджет, и у него есть нижележащая модель, которая является объектом в ORM - они больше не работают.
и так кирпичик за кирпичиком, всё что составляло сущность «веб-фреймворка» исчезает.
его всё еще, конечно, можно использовать, если ОЧЕНЬ изголяться - пихать туда GraalVM-ы, генерить из Hibernate схему для GraphQL и всё в таком духе, но это больно и жутко, и непонятно зачем нужно.
я знаю только один кейс - это нгужно для старичков, которые хотят что-то написать, но не могут, потому что пропустили изменения парадигмы. То, что сейчас происходит в мире - это не появление «еще одного чуть лучшего SpringMVC, который умеет еще лучше отдавать JSON», это прямо фундаментальные изменения в том, как должна выглядеть архитектура веба
тут еще конечно нужно написать огромный текст про Flutter, Kotlin.js, Progressive Web Apps и изоморфные мобильно-десктопные приложения но я пока не осмыслил эту тему, плюс надо ехать в Икею пока не закрылась и покупать матрас ;)
Исходная версия
stevejobs,
:
вот ты написал что-то на React или Angular. Но теперь ты хочешь, чтобы оно искалось в гугле. Значит тебе нужен React на сервере теперь, чтобы он генерил там. Значит тебе нужен JS на сервере, все-таки React ни на Java ни на JS не написан
теперь, у тебя react-router. Зачем тебе роутер еще и в джава-коде? Роутинг на стороне джавы оказываевается не нужен
теперь, страницы у тебя все равно генерит React. Значит такие штуки как Spring MVC не нужны. Да они и несовместимы между собой, тупо потому что смешать код на Java и JavaScript сложно (хоть и можно с помощью Nashorn или GraalVM). Еще один кусок отпал.
теперь, в старых веб-фреймворках был инструментарий для генерации страниц, в том числе крудов из моделей. Но дело в том, что если у тебя доменно-ориентированная микросервисная архитектура, то со стороны микросервисов у тебя нет таких понятий как «страница» - у тебя есть объекты доменной модели типа «пользователь» или «документ». Весь инструментарий про модели идет псу под хвост, т.к. у тебя может теперь и есть «модели», но в мире Domain Driven Design они значат другое
у тебя был ORM вроде Hibernate (кажется, лучший ORM из всех популярных языков вообще), но все больше и больше людей начинают писать тупо SQL, или всякие генераторы запросов. Hibernate - это слишком сложно. Все эти модные когда-то фичи, которые имели идею про то, что вот у тебя есть виджет, и у него есть нижележащая модель, которая является объектом в ORM - они больше не работают.
и так кирпичик за кирпичиком, всё что составляло сущность «веб-фреймворка» исчезает.
его всё еще, конечно, можно использовать, если ОЧЕНЬ изголяться - пихать туда GraalVM-ы, генерить из Hibernate схему для GraphQL и всё в таком духе, но это больно и жутко, и непонятно зачем нужно.
я знаю только один кейс - это нгужно для старичков, которые хотят что-то написать, но не могут, потому что пропустили изменения парадигмы. То, что сейчас происходит в мире - это не появление «еще одного чуть лучшего SpringMVC, который умеет еще лучше отдавать JSON», это прямо фундаментальные изменения в том, как должна выглядеть архитектура веба
тут еще конечно нужно написать огромный текст про Flutter и Kotlin.js, но я пока не осмыслил эту тему, плюс надо ехать в Икею пока не закрылась и покупать матрас ;)