А то у меня сложилось впечатление, что всё больше народа идёт в js. И нам останется только клепать апи для ajax-запросов.
@Zuldek php-программистам. Ну типа я представлял что spa делает ajax-запросы к бэкенду, а задача того, только к базе обращаться и отдавать(обратно в spa) json или что-то такое.
@romach просто я слабо отдаю себе отчёт в том, что сейчас происходит в мире фронтенда. Не читал никогда, ни про какие ангуляры и прочее их гавно ) А теперь с осознанием того, что такое spa, приходит ужас.
не сильно понятно в чем разочарование, вы хотите логику представлений на php описывать? на серверном стеке описывается серверная логика, так было всегда и будет. <p><?=$content?></p> а для динамичных представлений джейквари вертеть и с чистого листа на нативном js говнокодить? да, не будет и нет давно и слава Богу вполне себе удобные фреймворки, что angular что react native. Последний так вообще подарок для мобильных приложух мультиплатформенных. echo $content лучше ?
Короче, я думал, что spa не тупо меняют DOM "для красоты". А делают ту работу, которую раньше делали на бэкенде, который теперь только json'ами плюётся - чистыми данными. У них там свой mvc, mvp, ещё хер знает что, короче уже свой лунапарк с блекджеком и дамами. Но из живых примеров в вебе, я видел только gmail.
а как ты определяешь что вьюха сделана с использованием js-фреймворка? много js-кода в начале документа?)
Никак не определяю. Я слышал, что есть js-фреймворки, и эти js-фреймворки следуют mvc, mvp, mvvm и прочему говну. А если в фреймворке есть модели(m), то значит есть и бизнес-логика, следовательно бизнес логика не на бэкенде, а закачивается один раз в браузер при первом запросе, и потом это всё работает. Следовательно это значит, что фронтенд отбирает работу бэкенда. ФУуух... Всё.
Вот так оно и бывает, сегодня composer нахер не сдался, а завтра ты осознаешь, что все уже пишут на тайпскрипте, с бабелями, ангулярами, вебпаками да реактами. И что тогда делать? А хер его знает ))
@machetero Не волнуйся, хватит тебе работы ничего не изменилось: генерируем все тот же html, добавились канвасы. Разделение с mvc, как и в случае с любой другой разработкой, для упрощения сложной логики не более того. Keep an open mind! 21 век же)
Проектировать надо так, чтобы было в тему. Для каких-то проектов тащить реакты, ангуляры, SPA и прочую "моду" - только усложнять все и замедлять разработку. А для каких-то это вот нужно как воздух. Задача определяет инструментарий, а не наоборот. Если твои задачи не требуют реакты-херакты, то забей. Главное, хотя бы поверхностно ознакомься с ними, чтобы потом, в случае чего, вспомнить, когда будет нужда, и применить. --- Добавлено --- Чесслово и я балдею от этого. Просто вот балдею, когда надо только принять запрос, унифирированно его обработать, и в нужном формате выплюнуть JSON. И все. Когда клиент не размазан 50 на 50 по серверу и браузеру. Когда его один раз выплюнул, а дальше только дататрансферы гоняй. Прекрасно же, ну. Плюс, никто не заставляет тебя прям изоморфный рендеринг пилить. Это не всегда нужно. Twitter, как-то перешел на него, к примеру, а потом слез обратно. На данный момент хз, мб опять перешел. То есть, ответом твоего API вполне себе может быть и фрагмент HTML, почему нет? Все зависит от задачи. И от дедлайна
Изоморфный рендеринг уже делается "из коробки" ) Конечно, есть свои нюансы и ограничения, но ничего сложного в этом уже нету.
а кто с изоморфными фреймворками уже прям поработал-поработал? мне очень интересно узнать фидбек, так сказать.
Это когда страничка может отрисоваться на сервер, а может и сразу на клиенте, продвинутая версия SPA ) Нормально живется, если не воспринимать это как магию и знать откуда всё берется: что доступно и там и там, что есть только при серверной генерации, что у клиента и не менять вручную state ) В итоге фронт превращается из мешанины шаблончиков в нормальное самостоятельное приложение, что удобно и мимишно ) Покури nuxt в связке express, если есть желание.
т е сервер выплевывает JSON, клиент его принимает, разбирает, засовывает в html и выводит на страницу? б#я, получается я пилил изоморфные куски и даже не знал об этом))