Здравстуйте. Не так давно я начал изучать веб-разрботку. Учился делать не сложные сайты, вроде гостевой книги или блога. Вывод в основном делался только с помощью html+css. Генерировал нужные страницы на сервере и выдавал их пользывателю.
На днях познакомился с js и у знал о его фреймворках, а так же чудо технологии ajax. Собственно в чем вопрос: как расделать логику приложения ? Где эта грань между беком и фронтом. В основном понятно что с помощью js к базе данных не подступишься, для этого нужен сервер. Но например сам вывод можно генерировать на сервере, а можно получать на клиете json с нужными данными с сервера и уже на основе данных генерировать html. Понимаю что возможно с более глубоким вниканием в разработку вопрос отпадет сам собой, но все же хотелось бы разобраться где эта золотая середина.
Всем спасибо.
Каждый раз обращаться к базе за 5-6 постами, а не сразу все забирать, у вас в базе может быть и десятки тысяч этих постов, а убивать сервер на одном пользователе - сомнительное удовольствие
Тут уже используют шаблонизаторы, например twig, или встроенные в фреймворк. Не забивайте себе голову на этапе обучения. Пока для вас достаточно <a href="mysite/main"><?=$var?></a>
Клиентский калькулятор может спокойно подставить нужные данные и вывести html, нагружать сервер этой работой - лишь увеличивать на него нагрузку. Представьте, что у вас 100 пользователей одновременно пролистывают допустим новости. Если вы на каждую прокрутку будете генерировать шаблон на стороне сервера - то на сервер будет идти необоснованная нагрузка. Пусть лучше все эти действия совершает клиент. Они совсем не затратны, когда единичны.
Пётр Любко: запомните - если есть возможность скинуть действия с сервера - скидывайте. Например хранить картинки для статей следует на отдельном файловом хостинге, а не на самом сервере. Конечно скидывание не касается тех вещей, которые связаны с безопасностью, например - валидация данных обязана быть на сервере, на клиенте она для красоты так сказать - показать пользователю, что нужно ввести корректный email и т.д.
Варианты есть всегда, но веб движется в сторону разделения. Одним сервером можно кормить web/android/ios клиенты. Но к сожалению ajax сайты на текущий момент умеет индексировать только google, остальным нужны костыли. Хотя технологии уже более 10 лет.
Не отвалится. Бизнес-логика приложения должна где-то жить. Вместо модели толстый сервер - тонкий клиент, получится модель тонкий сервер - толстый клиент.