История изменений
Исправление
Legioner,
(текущая версия)
:
Ну очевидный ответ — чтобы разделить фронтэнд и бэкэнд. Это могут быть два разных проекта, которые друг про друга знают только REST-протокол и писать их могут две совершенно разные команды. А если мы статику встраиваем в отдаваемый HTML, это куда более тесное связывание бэкэнда и фронтэнда. Те же мобильные приложения обычно требуют REST-протокола, не HTML же им парсить.
HTML и связанные технологии, к сожалению, плохо продуманы. Тот HTML, который отдаёт сервер, выполняет слишком много задач. Это и семантическая структура для поисковика и нетрадиционных браузеров. Это и необходимая структура документа для применения к нему CSS-стилей, чтобы получить желаемый дизайн. Это и необходимая структура документа, чтобы с ней работал клиентский JavaScript, выполняя необходимые задачи. И это является источником многих проблем и неоптимальных решений.
Исходная версия
Legioner,
:
Ну очевидный ответ — чтобы разделить фронтэнд и бэкэнд. Это могут быть два разных проекта, которые друг про друга знают только REST-протокол и писать их могут две совершенно разные команды. А если мы статику встраиваем в отдаваемый HTML, это куда более тесное связывание бэкэнда и фронтэнда.
HTML и связанные технологии, к сожалению, плохо продуманы. Тот HTML, который отдаёт сервер, выполняет слишком много задач. Это и семантическая структура для поисковика и нетрадиционных браузеров. Это и необходимая структура документа для применения к нему CSS-стилей, чтобы получить желаемый дизайн. Это и необходимая структура документа, чтобы с ней работал клиентский JavaScript, выполняя необходимые задачи. И это является источником многих проблем и неоптимальных решений.