Сохранен F 136
https://2ch.hk/pr/res/410188.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

[web] Критикуем рендеринг на стороне климента

 Аноним 25/11/14 Втр 23:49:50 #1 №410188 
14169485903480.png
Свап программач. Чем плох рендеринг на стороне клиента? Обоснуйте все плюсы и минусы. Мне важно ваше диванное мнение.

Есть такая сферическая архитектура в вакууме: бекенд отвечает всегда в JSON. Всё остальное на фронтенде.

Я пока вижу это так:

минусы:
0. Намного сложнее поддерживать
1. Тормозит и оче жирно
2. Не нужно

плюсы:
0. Возможноcть нескольких фронтендов
1. Не грузить сервер генерацией шаблонов (это вообще онли для жирнохайлоад)
2. Вся вёрстка-говно полностью на фронтендерах

Стоит ли юзать это говно? Моё имхо - нет.


Алсо, советуйте свои технологии и фреймворки для этого. Интересно, что другие юзают для этого говна.

Пикрандом.
Аноним 25/11/14 Втр 23:53:22 #2 №410190 
>>410188
Рендеринг всегда идет на стороне клиента. За исключением пары клинических случаев.
Аноним 25/11/14 Втр 23:55:19 #3 №410191 
>>410190
Неправильно сформулировал. Но суть и так должна понятна быть. Генерация представления в виде HTML.
Аноним 26/11/14 Срд 00:18:26 #4 №410197 
>>410191
Если бложик, новости, иб или что-то контентоподобное, то на сервере.
Если серьезное, сложное веб-приложение, то жсоны, вебсокеты, емберы и ангулары.
Аноним 26/11/14 Срд 00:29:10 #5 №410202 
>>410188
В предельном случае можно использовать общий бекенд для веб- и мобильных фронтендов.
Аноним 26/11/14 Срд 00:56:30 #6 №410221 
>>410197
А если интернет магазин?
ЗЫ: уже прочитал, что проблемы с сео при клиентсайд рендере.
Аноним 26/11/14 Срд 01:47:13 #7 №410262 
>>410221
На сервере. Но гугл уже научился нормально рендерить и индексировать такое, так что если магазин зарубежный, то можно и на клиенте. Хотя я бы типичный магазин делал по старинке, на сервере то есть.
Аноним 26/11/14 Срд 03:45:04 #8 №410282 
>>410188
>Намного сложнее поддерживать
Да ладно? По JSP, JSF спеца найти гораздо сложнее, чем фронтенд-макаку. Пердолинга меньше для бекендера.
>Тормозит и оче жирно
Ну это ещё как сказать, если у тебя хоть немного хайлоад, рисовалка на сервере покажет, что такое тормоза и жирно.
>Не нужно
Зависит от задачи - для бложика/гостевухи- да, ненужно.

По технологиям - Ангуляр хорошо подходит для подобной хуйни
Аноним 26/11/14 Срд 10:01:46 #9 №410300 
>>410282
Два чая адеквату.

На работе приходится импользовать ExtJS - не вздумай связываться. Весьма нишевая хуйня скорее для интранет приложений -очень сложная и из-за этого забагованная (жс хули).

Задрочи Ember или angular.

Мне еще думается что https://facebook.github.io/flux/ (react) интересная штука, но не имел с ней дела.

Еще meteorЖС сейчас форсят.

Олсо, за рендерингом на клиенте\синглпейдж\риа будущее.
Аноним 26/11/14 Срд 10:57:36 #10 №410315 
14169886562190.jpg
>>410188
А как поисковые системы индексируют подобные сайты? Или они могут в js и дом?
Аноним 26/11/14 Срд 10:59:11 #11 №410316 
>>410188
В эпоху облачных вычислений сама идея клиентского рендеринга выглядит утопичной.

Уже игры можно запускать удалённо.

Самый большой минус безусловно большой парк устройств. Если на йоба пк всё будет летать, то на рядовом пользовательском хромбуке летать будут полосы по экрану.
Аноним 26/11/14 Срд 11:21:06 #12 №410320 
>>410315
>Или они могут в js и дом?
Любая хрень в это умеет. Полно всяких фантомжс, хтмлунитов, селениумов и т.п.
Аноним 26/11/14 Срд 11:25:05 #13 №410322 
>>410316
Серверный рендеринг это как раз подход из девяностых и пхп-параши. Все современные сервисы отдают только жсон.
Аноним 26/11/14 Срд 11:58:10 #14 №410333 
>>410322
Кокие это? А то обычно когда хочешь попиздить данные с сайтика, обычно html приходит, особенно где хайлоад и важна скорость работы именно на клиенте. Тот же гугл так делает но у гугла есть конечно апи, но не всегда решает некоторые задачи.
Аноним 26/11/14 Срд 12:11:04 #15 №410338 
>>410188
Плюсы:
-Меньшие требования к каналу (ajax)
-Возможность встраивать готовые приложения в сторонние сайты без ебли с iframe
-Выше юзер экспириенс (пользователю всегда приятнее работать с одной сущностью, чем с набором страниц)
-Возможность оптимизации трафика на стороне клиента (актуально для хайлоада, особенно когда он развернут поверх CDN)
-Проще организовать кеширование данных, если они сильно юзеро-зависимы
-Удобно собирать различные метрики и багрепорты напрямую от приложений, пока идет отладка
-Оптимизация числа запросов
-Не так жирно, как генерация на серверной стороне (вычисления не наши, наше дело - сервер и r/s)

Минусы:
-Наследуются баги от фреймворков, на которых написаны
-JS имеет ограничения по производительности
-Сложно проводить анализ кода, не зная подробностей устройства конкретного фреймворка
-Код отдается клиенту
Аноним 26/11/14 Срд 12:13:48 #16 №410342 
>>410333
Почти любой крупный метапоисковик отдаёт данные в json.

>попиздить данные с сайтика
Недосайтики не нужны. У нормальных сервисов клиенты и браузеры и мобайл и другие сервисы, и работает всё через один апи. Собственно сервисная архитектура - общепринятый подход в программировании уже очень давно и только в веб-параше это стало модно несколько лет назад, так как там всё через жопу.
Аноним 26/11/14 Срд 12:15:39 #17 №410346 
>>410333
уходи. кормить не буду
Аноним 26/11/14 Срд 14:57:40 #18 №410392 
>>410322
У вас сервисы головного мозга.
Аноним 26/11/14 Срд 23:40:14 #19 №410563 
>>410188

Это не столько плохо, сколько бессмысленно. Проще генерировать страницы на сервере и отдавать готовые и получить работающий везде и всегда сайт чем более сложно устроенный, медленный, не работающий у половины пользвоателей и поисковиков. Причем клоуны которые делают такие поделия, зачастую и не слышали про мониторинг ошибок на клиенте.

Богатый клиент нужен если нужна высокая степень интерактивности, например если ты пишешь свой Google Drive.

Аноним 26/11/14 Срд 23:43:03 #20 №410564 
>>410342

Сервисная архитектура давно исплозуется в PHP: есть приложение, есть база данных, есть какой-нибудб мемкеш. А больше сервисов не надо.

В качестве преимущества SOA назвают возможность исплоьзовать разные платформы и технологии. Нужно это обычно клоунам, которые хотят написать кусок сайта на каком-нибудь ерланге или лиспе и свалить в закат, когда им надоест.
sageАноним 27/11/14 Чтв 00:26:57 #21 №410581 
Проиграл с пхп-даунов.
Аноним 27/11/14 Чтв 06:19:01 #22 №410645 
>>410563

В целом я с тобой согласен, но тренды таковы, что либо ты делаешь хоть какой-то интерактивный фронтенд, либо считаешься чмошником-ретроградом из второго эшелона, который ниасилил клиент-сайд. А у меня просто руки не подымаются делать UI из палок и говна, после того как писал на монолитных Qt или Swing, которые изначально заточены под UI. То ли я старею, то ли нынешняя молодежь знает о фронтенде больше чем я. В общем я всегда уговариваю заказчика делать поменьше всего на клиенте, потому что потом гораздо легче найти ребят которые быстро доделают и починят, да и тестировать проще - не надо раскидывать тесты по клиенту и серверу.
Аноним 27/11/14 Чтв 10:11:22 #23 №410662 
>>410564
>Сервисная архитектура давно исплозуется в PHP: есть приложение, есть база данных, есть какой-нибудб мемкеш.
Ебать дебил. Как будто в принципе есть возможность эти вещи не разделять.. Тебе говорят про сервисную архитектуру твоего приложения.
Аноним 27/11/14 Чтв 14:13:19 #24 №410740 
14170867994940.jpg
>>410188
Статья на тему какого пшека: http://eshlox.net/en/2014/05/04/short-story-about-rendering-html-client-side-vs-server-side/


Если коротко из статьи, то минусы клиент рендеринга:
1. отсутствие индексации поисковиками, что выливается в
2. атомная ебля с фреймворками (ибо необходимы)
3. атомная ебля с поддержкой клиентской стороны
4. долгая загрузка страниц (ВТФ?)

На мой взгляд, костяк проблем только в индексации поисковиками. Легко решается, но порождает рост приложения, а значит поддержку и хуеву тучу ошибок.

4-й пункт - хуита.

Дискач.
Аноним 27/11/14 Чтв 15:09:49 #25 №410760 
>>410740
Я хуй знает, но твиттер одно время рендерили все на клиенте, потом дропнули, сказав, что дохуя головняков. Ты сможешь лучше?
Рендеринг на клиенте занимает довольно спецефическую нишу - приложухи для всяких интранетов, еще админки ЦМС-ок, где на поисковики похуй.
В обем, идея не нова, но не оправдывает себя в большинстве случаев.

И с отладкой соснешь, базарю.
Аноним 27/11/14 Чтв 15:48:57 #26 №410784 
14170925376910.jpg
>>410188
Охуеть блядь, если б таких уеб как ты слушали, инторнет выглядил бы даже хуже чем на пикрилейтеде.
Тошо сервер не отдает скриншоты страниц а хтмл это уже рендер у клиента бля, а будущее за улучшением этого всего, аякса там и прочего, в идеале будут серваки одни заголовки отдавать, состояние клиента в куках забирать и все.
А тошо соснули пока с реализацией, так это пушо стандартизация страдает, когда сделают единое ядро типа и пидорнут все браузеры без этой шняги, вот тогда заживем.
Аноним 27/11/14 Чтв 17:35:00 #27 №410842 
>>410760
> Я хуй знает, но твиттер одно время рендерили все на клиенте, потом дропнули, сказав, что дохуя головняков. Ты сможешь лучше?
Прохладная история. Зашел сейчас в твиттер, покликал по твитам. Типичное Singepage Application. Просто вместо хэшбенгов используются нормальные урлы.
Аноним 27/11/14 Чтв 18:55:05 #28 №410873 
>>410760
>отсутствие индексации поисковиками
Сам же гугол форсит свои ангуляры, но при этом не знает как индексировать такие приложения?

>ебля с фреймворками
Как и в любом другом направлении, если хочешь что-то сделать сложнее хеллоу ворда.

>атомная ебля с поддержкой клиентской стороны
Как раз когда у тебя нормальный фреймворк, структурирующий всю кодобазу, а не говнопортянки на джиквери с динамической бекенд генерацией шаблонов с серверными вставками - то намного удобней поддерживать такой чистый клиентсайд.

Нытьё про отладку - это просто сопли неосиляторов.
Аноним 27/11/14 Чтв 18:56:46 #29 №410874 
>>410784
Двачую.
Аноним 27/11/14 Чтв 22:59:50 #30 №410989 
>>410188
Одностраничный сайт — говно.
Всплывающие окошки — аякс.
Постинг форм — аякс (с последующим редиректом).
Всякие автообновления на странице — аякс.
Всё остальное отдельными страницами, которые отдает сервер.
Аноним 27/11/14 Чтв 23:04:17 #31 №410996 
>>410740
> 4. долгая загрузка страниц (ВТФ?)
Вместо того чтобы просто получить страницу тебе нужно скачать саму страницу, кучу жс говна и штук 5 джсонов.
Аноним 28/11/14 Птн 00:27:58 #32 №411026 
>>410996
Как там, в 2000 году?
Сейчас этот кодж закешируется, и грузить нужно будет только компактный шаблон, сжатые данные и всё. Далее рендер будет разворачивать на клиенте страничку с нужными данными в нужном объеме.
Аноним 28/11/14 Птн 00:36:42 #33 №411027 
>>411026
Да, вот эта вот вся хуйня против простой загрузки странички.
Аноним 28/11/14 Птн 01:15:12 #34 №411035 
>>410662

В приницпе есть. Называется Embedded Databases. А кеш можно банально заменить на массив в памяти прилоежния. Так что сам дебил.

>>410645

> но тренды таковы, что либо ты делаешь хоть какой-то интерактивный фронтенд, либо считаешься чмошником-ретроградом из второго эшелона, который ниасилил клиент-сайд
Зачем слушать людей глупее тебя?

>>410873

Я подозреваю, люди, делающию портянку на джейквери так же легко сделают ее на ангуляр.

>>411026

И что в 2014 году люди стали тупее? Я прекрасно различаю загрузку за 50 мс (условно) и за 1500. И прекрасно отличаю легкую верстку от тяжелой при прокрутке. За других людей сказать конечно не могу, может у них мозги медленно шевелятся или у них компьютер всегда тормозит и они разницы не видят.

Ну и приведу конкретный пример как сайты становятся хуже: после редизайна мануал php начал использовать модные кастомные шрифты, и подключил к странице целый мегабайт их (8 файлов для разных начертаний, любой кто умеет пользоваться инспектором их увидит). Если раньше на странице сразу появлялся текст, то теперь часто появляется страница без текста и надо ждать пока шрифты загрузятся. Можно подумать шрифты там самая важная часть сайта.

Также не следует забывать про длинный хвост распределения времени ответа. Из N запросов 1 по какой-то причине может затормозиться. Чем больше сайт использует блокирующих ресурсов (яваскрипты, шрифты, аякс-запросы), чем больше из них размещены на стороннем домене, тем больше веоятность увидеть этот лаг на сайте.

Так что старые добрые технологии до сих пор надежнее и провереннее.

> Сейчас этот кодж закешируется
Наивный мальчик. Сейчас каждый сайт все свои ресурсы помечает как кешируемые и так как кеш не резиновый, файлы там и 20 минут не проживут.
Аноним 28/11/14 Птн 01:17:20 #35 №411037 
>>411027
Ну да, каждый раз тянуть гору говна это конечно гораздо лучше чем один раз дернуть гору говна а потом запрашивать только данные.
Аноним 28/11/14 Птн 01:20:18 #36 №411038 
>>410740

Главный вопрос на который не отвечает статья: ради чего вообще делать генерацию кода на клиенте? На сервере она делается прощу и требует меньше усилий.

Пример: пишем hello world, сохраняем под именем index.html. Сайт готов. А теперь попробуй сделать такой же простой сайт на основе клиентсайд рендеринга.

Я подозреваю, люди просто не знают ничего кроме яваскрипта и потому придумывают всю эту ерунду. Они еще и ноду с монгой наверно по той же причине вместо нормальных технологий посоветуют.
Аноним 28/11/14 Птн 01:23:54 #37 №411039 
>>411026

На обычных страницах всякие CSS, JS и изображения точно также кешируются. Если ты не налепил 200 килобайт лапши в шапку и футер каждой страницы то классический сайт вряд ли будет медленнее. При этом он будет во много раз проще устроен, открывается на Нокии 1100 и на твоем телевизоре, читается роботами, надежнее, отобразится даже если загрузился только html, и не покажет белый экран при исключении в js коде.
Аноним 28/11/14 Птн 01:25:38 #38 №411040 
>>411037
Получить тарелку говна лучше, чем получить яблоко, нож, дождаться, пока яблоко порежется на кусочки, прожуётся, переварится и высрется на тарелку.
Раз уж мы аналогиями разговариваем.
Аноним 28/11/14 Птн 01:26:17 #39 №411041 
>>411039
Ебать дебил, при серверсайд рендеринге всю js и css параше еще парсить придется, SPA это сделают только один раз при первой загрузке приложения
Аноним 28/11/14 Птн 01:27:22 #40 №411042 
>>411039
А при неотловленном исключении в коде на сервере все конечно же заебись продолжить работать, молодец
Аноним 28/11/14 Птн 01:32:54 #41 №411043 
>>411041
> SPA
Это еще что за поебень?
Аноним 28/11/14 Птн 01:33:25 #42 №411044 
>>411041

Верно. Но если твой CSS/JS небольшой, порядка 50 Кб, то это будет быстро. И даже если он больше, а зачем для этого полноценный клиентсайт рендеринг? Разве недостаточно скачать аяксом с сервера HTML и отобразить, без всех этих наркоманских бекбонов, ангуларов и моделей на клиенте? Это явно будет и проще в реализации и быстрее работать.
Аноним 28/11/14 Птн 01:35:48 #43 №411045 
>>411042

Серверные ошибки в отличие от клиентов мониторится. Плюс серверные ошибки в отличие от клиентских не зависят от браузера. Серверная ошибка видна в новом сафари которым пользуется разработчик, а яваскриптовая, специфичная только для некоторых браузеров, нет.
Аноним 28/11/14 Птн 01:37:32 #44 №411047 
>>411044

Кроссбраузерная реализация скачивалки страниц без перезагрузки мне кажется будет занимать строк 100-200 на vanilla js. Ее можно прямо в страницу встроить при желании. Вконтакте вроде бы именно такую схему и использует, рендеринг на сервере, на клиенте только отображение пришедшего html для второй и далее страниц.
Аноним 28/11/14 Птн 01:38:00 #45 №411049 
>>411044
Бро, зачем незачем это не тот вопрос который можно объективно обсуждать, если разработчик/заказчик хочет чтобы вебприложение работало без рефреш-релоуд циклов и задержен, он будет юзать клиентский рендеринг, если нет - то нет. Это просто подход со своими минусами и плюсами, но то что скорость приложения в пользовательском восприятии будет быстрее, а нагрузка на сервер уменьшится - факт
Аноним 28/11/14 Птн 01:39:12 #46 №411050 
>>411045
Диванный не палится. Нормальные пацаны уже давно умеют мониторить клиентские ошибки
Аноним 28/11/14 Птн 01:42:34 #47 №411051 
>>411049

> если разработчик/заказчик хочет чтобы вебприложение работало без рефреш-релоуд циклов и задержен
В том-то и проблема что дебилы хотят чтобы использовался модный %frameworkname%, а не чтобы сайт грузился быстрее. Но на практике выйдет наоборот, особенно если у тебя высокий пинг, мобильный интернет и прочее. Не может HTML страница загружаться медленнее чем HTML + куча JS + куча аякс запросов.
Аноним 28/11/14 Птн 01:44:28 #48 №411053 
>>411051
Шутишь?
Сервер сайд: стянуть HTML, пропарсить закешированный JS и CSS
Клиент сайд: стянуть JSON
Аноним 28/11/14 Птн 01:47:42 #49 №411054 
>>411053

Распиши то же самое для первого захода. Есть конечно сайты на которых я смотрю много страниц (например: хабр), но наверно половину сайтов я открываю из поиска, пролистываю и закрываю.

При том для того же хабра, я особо тормозов не замечаю. Современные браузеры, если страница грузится быстро (а стили и прочее закешированы), не показывают белый экран при переходе, а сразу показывают новую страницу, то есть выглядит как будто перезагрузки нет.
Аноним 28/11/14 Птн 01:49:32 #50 №411055 
>>411053

И сразу вопрос номер два, а нафига JSON а не готовый HTML? Для HTML не надо на клиентсайде городить приложение, а хватит кода уровня

$.ajax({
success: function (html) {
$(x).html(html);
}

По моему если уж избавляться от перезагрузки страницы то с серверсайдным рендерингом все равно проще выходит.
Аноним 28/11/14 Птн 01:53:03 #51 №411056 
>>411053

По моему SPA нужны там, где у нас не сайт, а приложение. Например штука где много форм, ты можешь что-то редактировать, перетаскивать, и т.д. А для сайта рассчитанного на потребление контента типа хабра, вконтакте, medium или янедкс все это излишне.
Аноним 28/11/14 Птн 01:53:57 #52 №411057 
>>411054
Первый заход
Сервер: стянуть HTML, стянуть CSS и JS, их же пропарсить
Клиент: стянуть CSS и JS, далее либо получить JSON и построить приложуху (даже глазу не будет заметно, ибо JS в современных браузерах очень быстр), либо отрендерить первую страницу на сервере (см. react.js например)
Аноним 28/11/14 Птн 01:55:37 #53 №411058 
>>410740
> индексации поисковиками
не нужно
>атомная ебля с фреймворками
Атомная ебля с фреймворками будет у двух пхп-васянов, решивших замутить сайт. В более-менее крупных проектах есть фронтендер, который знает хотябы ангуляр, которого вполне достаточно.
Ты видел решения для серверсайд-рендера на других языках, кроме пхп? Много там специалистов?
Но главная проблема убогого сервер-велосипеда даже не в этом. Сейчас эпоха мобильных приложений. Индусы ананируют на убогий ведроид, илита онанирует на аппл. И тут без сервиса уже не обойтись.
Аноним 28/11/14 Птн 01:59:20 #54 №411060 
>>411058

Ну так почему бы не использовать SPA для интерактивных приложений и классический серверсайд для контентных сайтов?
Аноним 28/11/14 Птн 02:01:43 #55 №411061 
>>411060
Очевидно, потомучто нахуй ненужно увеличивать объём кода в 2 раза, причём кода, делающего одно и то же
Аноним 28/11/14 Птн 02:01:47 #56 №411062 
>>411060
Потому что SPA отзывчевее, но нужно понимать насколько сложнее будет это запилить
Аноним 28/11/14 Птн 02:09:56 #57 №411063 
>>411061

Кода в классическом подходе как раз меньше. Это со SPA проблем больше, надо его писать, дублировать модели и там и там, настраивать цепочку сборки и деплоймента. Пи этом получается более громоздкий, мделенный и ненадежный код.

Если расшифровать SPA то там написано для чего он предназначен: для приложений.
Аноним 28/11/14 Птн 02:17:06 #58 №411064 
>>411055
Как предлагаешь работать с разной диагональю экрана? Страницу перезапрашивать?
Аноним 28/11/14 Птн 02:29:09 #59 №411066 
14171309495060.jpg
>>411064
Ты выдаешь с сервера разные страницы разным экранам? Алсо как ты насервере узнаешь диагональ?
Аноним 28/11/14 Птн 02:32:44 #60 №411068 
>>411064

@media
<picture>
<source>
srcset
sizes

Почитай что ли про HTML 5 и CSS 3. Для responsive design не нужен яваскрипт.
Аноним 28/11/14 Птн 02:34:21 #61 №411071 
>>411068

И да, это пока работает только в Хроме 38, тот же вконтакт переключает размеры картинок яваскриптом пока что. Но @media работает уже давно и везде.
Аноним 28/11/14 Птн 02:36:30 #62 №411072 
>>411066
Это был аргумент против рендера на сервере.

>>411068
Окей, т.е. набор элементов UI у тебя один для всех платформ и они отличаются только размером?
Аноним 28/11/14 Птн 02:44:20 #63 №411073 
>>411072

Если ты хочешь намекнуть на мобильную версию, то ее делают либо адаптивной версткой, либо если этого не хватает, делают отдельный мобильный сайт.

Насчет элементов UI, лучшее решение на мобильных устройствах — исплоьзовать нативные элементы, они на них работают лучше всего. Умные библиотеки виджетов так и делают.

И я не понимаю, какое отношение ангулар или SPA имеет к проблеме отображения на разных устройствах. Для мобильных устройств просто HTML горазд удобнее с учетом ограничений по CPU и памяти.
Аноним 28/11/14 Птн 02:48:24 #64 №411074 
>>411073
>ограничений по CPU и памяти
Через год-полтора будет уже совершенно не актуально. Вобщем-то и сейчас не актуально, но к тому времени подойдет к концу лайфцикл телефонов 2007-2009 годов продажи.

>И я не понимаю, какое отношение ангулар или SPA имеет к проблеме отображения на разных устройствах.
Современный сайт - это приложение, as is. Это продиктовано бизнессом, а не веяниями в дизайне. Соответственно приложение должно запускаться на любом железе с правильным софтом, куда его можно поставить. Беря на себя ответственность за верстку отдельных версий на все случаи жизни ты теряешь время, теряешь время - ты дороже для заказчика, дороже для заказчика - теряешь рынок. Как-то так.
Аноним 28/11/14 Птн 02:58:52 #65 №411075 
>>411074

> Современный сайт - это приложение, as is.
А вот это уже фанатизм. Сайты разные. Есть сайты-приложения, есть контентные сайты, есть что-то между.

И рассмотри мой юзкейс: открываю страницы из поиска чтобы найти нужную. Мне в таком случае меньше всего нужно загружать какие-то приложения, а хочется быстрее увидеть текст и понять, то это или не то. Впрочем, большинство серверсайд сайтов (западные в основном) уже давно открываются небыстро из-за кучи рекламы, которая намертво блокирует вкладку на пару секунд или больше при загрузке.

> Через год-полтора будет уже совершенно не актуально
Наивный. Через год-полтора станет модным ставить фулскрин видео на фон и ресайзить на клиенте огромные картинки с наложением эффектов и развитие железа будет не заметно. Алсо, я читал статью где-то, мобильные архитектуры типа ARM по производительности на порядок проигрывают тому же интелу на той же частоте. Память там скорее всего тоже медленная. То есть не надо думать что 2-ядерный 1.8 Ггц ARM сопоставим с интеловскими десктопными процессорами.

> Беря на себя ответственность за верстку отдельных версий на все случаи жизни ты теряешь время, теряешь время
Достаточно сделать 2 версии средствами CSS: для больших экранов и для маленьких. Если заказчик не хочет платить за это, достаточно сверстать большую версию, а мобильный пользователь будет таскать ее пальцами, это лучше чем ничего. Ты то ли не верстал никогда то ли плохо в этом разбираешься.

И я по прежнему не понимаю при чем тут SPA. Ты без ангулара не способен ширину блока текста поменять?
Аноним 28/11/14 Птн 03:10:12 #66 №411078 
>>411075
>Ты без ангулара не способен ширину блока текста поменять?
Код должен укладываться во внутренник конвенции фирмы. Разнобоя быть не должно.

>это лучше чем ничего
Ну может да, ты вполне можешь быть прав (хотя мне как пользователю это было бы неудобно). Однако заказчик с тобой не согласится и ты потеряешь клиента.

Я к чему клоню, что здесь надо отойти от технологий и смотреть где лучше соотношение (число фич)/(число человеко-часов), причем в человеко-часы надо включать в т.ч. и поддержку. И исходя из этого принимать решение, какую технологию использовать. Фактически это только и выбилой "сервер-сайд" с рынка, а не какие-то прям ужасные технические ограничения.
Аноним 28/11/14 Птн 03:19:04 #67 №411079 
>>411078
> Код должен укладываться во внутренник конвенции фирмы. Разнобоя быть не должно.
Это в css делается.
> выбилой "сервер-сайд" с рынка
Слишком сильно преувеличиваешь.
Аноним 28/11/14 Птн 03:22:39 #68 №411080 
>>411078

В клиентсайде человеко часов будет как раз больше.
Аноним 28/11/14 Птн 03:26:45 #69 №411081 
>>411080
Он про случаи когда требуется не только сайт сделать, но и сам сайт, мобильную версию, андроид приложение, ios приложение, wp приложение, десктоп приложение для 2-3 OS, хроморасширение, файерфоксорасширение и прочее.
То есть на сервере только api.
Аноним 28/11/14 Птн 08:46:47 #70 №411099 
>>411035
> Если раньше на странице сразу появлялся текст, то теперь часто появляется страница без текста и надо ждать пока шрифты загрузятся
Ну вот смотри. У тебя либо уже есть открытая страница, и что-то на нее загружается под маской - ты видишь, что она загружается и все в порядке.
Либо ты сидишь перед пустым экраном браузера и ждешь, пока где-то в Зимбабве издыхающий от жары сервер закончит рендерить твой скриншот страницы, который всего-то десять тысяч триста девятый в очереди. А потом еще будешь ждать пока этот скриншот загрузится.
А в твоем примере тоже мне нашел пример - криворукий сайт на похапе, не осиливший кеширование шрифтов это будут и шрифты тоже. Захотел что-то поменять на странице - серверу отправил запрос и он снова начал рендер твоей страницы, а ты опять сидишь перед пустым экраном.
Аноним 28/11/14 Птн 08:54:36 #71 №411101 
>>411063
>дублировать модели
Это особая быдлокодерская забава такая - дублировать серверные модели там, где они нахуй никому не упали? Абстракцию еще в школе не проходили?
Аноним 28/11/14 Птн 11:58:41 #72 №411121 
>>411081

Я встречал другие варианты, приложения делают позже и для них добавляется АПИ сбоку к сайту.

>>411099

> а и ждешь, пока где-то в Зимбабве издыхающий от жары сервер закончит рендерить твой скриншот страницы
Ты по моему никогда серверсайдом не занимался. Рендеринг шаблона в самом худшем случае (когда база и логика быстро работают) занимает половину времени. Это же всего лишь подстановка переменных в шаблон.

> не осиливший кеширование шрифтов
Если в моем кеше их нет, это никак не поможет. Криворукое решение именно исплоьзовать мегабайт кастомных шрифтов для технического мануала, у которого сценарий использования открыл — посмотрел порядок аргументов — закрыл. Ты по моему вообще ни в чем не разбираешься, фанатик какой-то упоротый.

>>411101

Ты тоже фанатик. Серверные модели тебе понядобятся как только ты начнешь писать прилоежния сложнее TodoList что ты видимо никогда не делал.
Аноним 28/11/14 Птн 20:47:14 #73 №411268 
>>411121
>Серверные модели тебе понядобятся
На UI? Нет, не понадобятся. За десять лет разработки вот ни разу пригодились, веришь? Все как-то обходился абстрактной рефлексией.
Аноним 28/11/14 Птн 23:51:17 #74 №411349 
Зачем нужен клиентсайд рендеринг:
отрендерить только часть контента, остальную — когда пользователь доскролит
на серере рендерится только то, что нужно индексировать, и потом обогащается клиентским рендерингом: виджетами-хуиджитами, фотками-хуетками
магазин с фильтрами-хуильтрами
один сервер, отдающий JSON, и хуилион клиентов: сайт, мобильный сайт, приложухи, админки
Аноним 28/11/14 Птн 23:52:14 #75 №411350 
>>411349
приложухи-хуежухи
Аноним 29/11/14 Суб 00:45:37 #76 №411377 
14172111379630.jpg
Работаю с React на Nodejs – изначальный рендер HTML производится на сервере, дальше на клиенте. Поэтому сайт правильно индексируется и работает с nojs-браузерами.

Даже для ПХП-блядей давно есть V8 kit и либы с подливой на выбор.

О чем тред-то?
Аноним 29/11/14 Суб 01:23:48 #77 №411388 
>>411377
Поясни, что конкретно рендерится на клиентухе. Прост, если так, то вся эта хуита не сработает перед гугл-роботом и оный тупо возьмет на клык.
Аноним 29/11/14 Суб 03:21:17 #78 №411426 
>>411035
>зачем слушать людей глупее тебя?

Дело не в коллегах, которые по большей части понимают все проблемы раздутого фронтенда, а в заказчиках, тимлидах, которые просто не могут выпасть из тренда - везде все свистопердящее и динамичное, а статичные сайты, которые обновляются при переходе по ссылке - хуевый тон. Ну вот так вот сложилось. Думаю мы еще несколько лет поедим это дерьмо, но со временем пойдет тренд к упрощению, ну или хотя бы к четкому разделению ситуаций, когда нужен богаты фронтенд и когда он не нужен.
Аноним 29/11/14 Суб 03:28:12 #79 №411427 
>>411040

Лучше получить обед сразу и быстро, чем ждать пока тебе посолят салат, глядя как при тебе чистят картошку, которая по нескольким причинам может внезапно исчезнуть, оставив тебя наедине с чистой тарелкой. Ах да, обычная тарелка не подходит, ее нужно снизу усилить балками и костылями, чтобы она выдержала обед.

MY ANALOGYA IS BIGGER THAN YOURS
Аноним 29/11/14 Суб 03:32:03 #80 №411428 
>>411050

Маня прогоняет селениум тесты под всеми платформами? Ню-ню. Сразу видно узколобое офисное быдло, которое сидит на большом проекте или пачке однотипных проектов, под которые все настроено. У быдла сформировалось квадратно-гнездовое мышление, и теперь оно при переходе на новую работу будет вещать как надо ПРАВИЛЬНО делать.
Аноним 29/11/14 Суб 03:38:30 #81 №411429 
>>411121

Анон, оставь свое мыло пожалуйста. Нет, работу предлагать не буду, просто пообщаться.
Аноним 29/11/14 Суб 03:47:50 #82 №411432 
>>411377

Хорошо,а как ты делаешь валидацию форм/моделей на клиенте и сервере, особенно в случае, если JS отключен?
Аноним 29/11/14 Суб 04:08:44 #83 №411436 
Клиентсайд намного удобнее и быстрее писать при рестфул модели. Кстати, как возможен MVC/MVVM на клиенте без рестфул и синлпейдж архитектуры?
Аноним 29/11/14 Суб 04:27:15 #84 №411440 
>>411426
>Думаю мы еще несколько лет поедим это дерьмо, но со временем пойдет тренд к упрощению

Ты же понимаешь что этого не произойдёт, как не мог, например, произойти переход из web2.0 обратно в web1.0? Приложения не становятся проще, они с каждым годом всё сложнее и пользователи хотят только больше возможностей. Никому нахуй не всрались статические сайтики, когда веб наполняется приложениями типа гуглдока. Веб эволюционирует и появление ангуляров это не просто от нехуй делать, чтобы в старбаксах обсуждать, это естественная реакция на возросшие потребности индустрии.

Позиция как у тебя, целиком ретроградская, как у байтослесарей из 80-х бугуртящих от ООП. Но как и в их случае, твои кукареки ни на что не влияют, и индустрия идёт дальше.
sageАноним 29/11/14 Суб 06:24:51 #85 №411454 
>>411440
>и индустрия дальше жрет говно
пофиксил
Аноним 29/11/14 Суб 06:27:58 #86 №411455 
>>411454
Проекции пхпдауна
sageАноним 29/11/14 Суб 06:28:28 #87 №411456 
>>411455
Ошибаешься, пидорок.
Аноним 29/11/14 Суб 06:30:52 #88 №411457 
>>411440

Ты не видишь картины в целом, наверняка потому что ты специализируешься на SPA. У меня тоже есть ангуляр в двух проектах, потому что так правда удобнее делать сложные таблицы, где редактирование идет прямо на месте, без открытия сущности. Но для большинства проектов сложный клиент-рендеринг - это оверкилл. Чтобы оно нормально работало, тебе нужно ставить ноду + минифактор + bower. Этого половина фронтендщиков делать не умеет. Если вручную накачать скрипты, то та же половина фронтендщиков не будет их обновлять до самого судного дня. Те фронтендщики, что могут это сделать стоят как 3 пыхомакаки, а потому не выгодны. Макак, которые могут заделать рестфул бэкенд и пиздатый фронтенд несравнимо меньше, чем макак, которые могут сделать нормальный бэкенд и в случае крайней необходимости сделать динамический фронтенд хоть как-то. У лоу-кост проектов, которых дохуя, не стоит вопрос сделать чтобы работало пиздато работало под всеми платформами, стоит вопрос сделать чтобы хоть как-то работало под всеми платформами.

Не надо забывать, что пых при всех своих недостатках стал лидером потому что быдло в него смогло. Чтобы нормально мочь в богатый фронтенд нужна большая квалификация, что сразу ограничивает мейнстримовость технологии.
Аноним 29/11/14 Суб 08:09:59 #89 №411462 
>>411436
Рест выглядит красиво только на картинках. То есть сама идея что сервер должен быть stateless хороша (но она реализуется и с серверным рендерингом), а вот идея что можно представить информацию ресурсами с урлами типа /user/1 и постить/путить/гегить их абсолютно нерабочая.

На практике тебе надо получить список последних 10 сущностей класса А, сущности класса B c идентификаторами 1, 2, 3, 4, 6, 10, 11 и привязанные к ним сущности класса С. Как ты это сделаешь со своим АПИ? Либо ты делаешь «неканоничный» АПИ за который тебя в твиттере обзовут пехапешником-быдлокодером, либо имеешь кучу мелких аякс запросов что не способствует скорости работы.

Все эти ваши клиенты это пятая нога. У нас уже есть клиент-браузер, есть АПИ под названием HTTP, по которому браузер может получать код страниц и отправлять данные. Если тебе нужно АПИ для мобильного приложения ты либо добавляешь в контроллере if чтобы отдавать данные в другом формате типа JSON либо каким-нибудь генератором это АПИ генерируешь. Тем более что скорее всего логика работы сайта и мобильного приложения разная (иначе зачем оно вообще нужно?) и им нужны разные функции АПИ и единое для них не сделать.

Ну и писать код на сервере удобнее хотя бы потому что это более контролируемая среда чем 100500 разных юзерагентов каждый со своими заскоками.

>>411436
Может он там и не нужен?

>>411432
Он ее не делает очевидно. Для TodoList она не требуется.

Аноним 29/11/14 Суб 08:17:32 #90 №411463 
>>411440
Ты все свалил в кучу. Есть приложения типа гуглдока, а есть блоги типа вордпресса, есть форумы типа реддита. Сайты разные, разные сценарии использования и разные технологии лучше подходят. Есть приложения где человек проводит много времени, есть где потребляет контент.

Конечно владельцы контентных сайтов типа хабра/реддита/котаку etc хотели бы превратить их в приложения чтобы они были постоянно запущены у пользователя, или хотя бы висели на стартовом экране браузера и мигали уведомлениями, чтобы постоянно просматривали новые статьи и рекламу, но я как пользователь это бы не хотел. Если я хочу прочесть пост на medium по ссылке я хочу прочесть пост а не отвлекаться на обновляющиеся списки новых постов, вылезающие со всех сторон предложения почитать что-нибудь еще и «рекомендации» сделанные на принципе «миллион мух не может ошибиться» (откройте главную ютуба чтобы понять что интересует миллион мух), вопросы не хочу ли я оставить свой имейл и так далее.
Аноним 29/11/14 Суб 08:22:42 #91 №411465 
>>411457
В случае с серверсайдом есть готовые платформы типа вордпресса, который используют не только для персональных блогов. Может конечно появится какая-то аналогичная платформа для клиентсайда и тогда это станет повсеместным (что скорее плохо чем хорошо, лучше быдлокод на сервере чем в твоем браузере). Более того, для совсем неграмотных ее можно не хранить на сервере, а подключать внешним скриптом как подключаются disqus/hypercomments. Но это для несерьезных приложений, так ни один нормальный человек не отдаст свою базу данных на сторону.
Аноним 29/11/14 Суб 08:52:17 #92 №411467 
>>411465
>есть готовые платформы типа вордпресса
Вся суть пхпдаунов, копротивляющихся прогрессу.
Аноним 29/11/14 Суб 11:45:11 #93 №411485 
>>411467
>javascript
>прогресс
Аноним 29/11/14 Суб 12:43:35 #94 №411500 
>>411462
>Если тебе нужно АПИ для мобильного приложения ты либо добавляешь в контроллере if
Yebat ты bydlocoder. А потом еще что-нибудь понадобится, и ты снова добавишь if. И еще. А потом еще. Ну а хуле, это же всего один if за раз, правда?
Аноним 29/11/14 Суб 13:38:27 #95 №411512 
14172575071760.jpg
>>411485
Ты просто не в теме, пёс.
Аноним 29/11/14 Суб 13:44:01 #96 №411515 
>>411462
>Может он там и не нужен?
Лол, охуенно просто. Может тебе твой серверный MVC тоже не нужен? Давайте просто ебашить портянки говнокода без разделения логики от данных и от представления, без биндингов, без DI, без инкапсуляции. Пиздец.
Аноним 29/11/14 Суб 13:48:31 #97 №411517 
>>411465
>есть готовые платформы типа вордпресса
Понятно. Александр! Это вы админку в битриксе делаете?
Аноним 29/11/14 Суб 14:09:14 #98 №411521 
>>411462
Я не знаю насколько нужно иметь засраные, закостенелые мозги, чтобы не понимать, что когда сервер манипулирует своими чистыми серверными данными, а клиент манипулирует своими чистыми клиент данными - это правильно.

Это просто логично, каждый компонент системы занимается своей работой отдельно, а передаваемая между ними информация должна находится в универсальном, максимально чистом виде. Клиент и сервер должны быть независимы друг от друга, и зависеть только от протокола обмена. Не нужно быть йобаным гением, чтобы это понимать, хотя подобный принцип используется повсюду, и даже не только в программировании, но и других областях, в той же теории систем.

Сейчас, когда клиентсайд имеет все средства для того, что бы быть полноценной платформой, а не статическим куском говна с местечковыми ajax-свистоперделками на архаичной джиквери-блевоте, этот принцип разделения, давно используемый в любой нормальной сфере программирования переходит наконец то и в веб. И визги ретроградов вроде тебя, что мол давайте по старинке, как же так, верните мой 2005 - звучат как симфония прогресса и это прекрасно.

Мне кажется ты просто онли-серверсайд макака (хотя те же рубиняши или нодовцы понимают смысл рестфула, так что ты просто пхп или питонодибил) или олдскульный фуллстек натягиватель шаблонов на вордпресс. В таком случае ты просто не можешь понять, насколько сильно фронтенд программирование с использованием рестфула и ангуляра/ембера отличается от того, что было раньше.
Аноним 29/11/14 Суб 14:54:17 #99 №411534 
>>411521

Может это ты просто восторженный неопытный школьник?
Аноним 29/11/14 Суб 14:56:57 #100 №411535 
>>411462
Ты просто мыслишь какими то странными категориями, типа производительности, которая может и должна быть оптимизирована на совсем другом уровне.

В твоём же примере, про много ajax запросов, хоть он и не совсем корректный, можно использовать вебсокеты/комет/кипэлайв кэшированное соединение/заголовки для отправки нескольких запросов за одну сессию и т.д.

К тому же, что страдает от этого? Типа сервер не потянет? Так ты же его наоборот разгружаешь, освобождая от ненужного на нём динамического формирования шаблона. Ведь теперь js просто стаскивает минимальный статический шаблон через роутинг и сам превращает его во что нужно, мощностями клиента, а не сервера. К тому же вебсервера статику отдают во много раз быстрее динамики, а если nginx под это дело поставить, так вообще охуеешь. Теперь когда у тебя на сервере чётко отделена статика от чистой динамической информации и оптимизирован протокол обмена, всё будет работать только быстрее.

И даже гипотетически, если это и дало бы какое-то замедление, что у тебя от него прям пиздец кишки распидорасило тормозит, то может это сервесайд говно, раз не может работать по принципиально правильной схеме? И пора бы с тормозной пхп-параши перейти на что-то посерьёзней?

Сколько раз видел, как жертвуют теоретически принципиально правильной моделью, ради каких-то мутных выигрышей по производительности - столько раз это всё в результате скатывалось в говно. Подобный подход в прикладном программировании вообще не уместен.
Аноним 29/11/14 Суб 14:58:11 #101 №411536 
>>411534
прагматичные умудрённые говноеды набежали
Аноним 29/11/14 Суб 15:18:15 #102 №411539 
>>411521
У меня от твоих постов ВЕБ ДВА О, блядь.
>>411534
Поддвачну.
Аноним 29/11/14 Суб 15:26:43 #103 №411545 
>>411539
Ещё один натягиватель шаблонов на вордпрес порвался.

Пока нормальные люди пытаются перестать есть говно, коим веб до недавних пор и являлся, прагматичные говнари просят ложку побольше.
sageАноним 29/11/14 Суб 15:46:19 #104 №411554 
>>411545
Да да, мы поняли, что ты школьник-максималист. Иди дальше натягивай ангуляр на жсон.
Аноним 29/11/14 Суб 15:59:14 #105 №411557 
А сценарий таков:

Стандартизация ES6, выход AngularJS 2.0, становление его стандартом, как Spring в жабе. Все будут юзать рестфул с MVVM как в мобайле, будет тусовка хипсторов с альтернативными фреймворками и кучка пристарелых ретрогарадов занимающихся серверным шаблоновысиранием, с непониманием, зачем всё это надо было, ведь можно просто ебошить как 20 лет назад, но к ним у комьюнити будет отношение как сейчас к каким нибудь пердл/ткл некроёбам и вскоре им суждено кануть в небытие.

Олсо, всякие там пыхапе с серверов тоже будут убраны нахуй, несмотря на то, что там есть фреймворки для генерации рест-приложений. Причина будет не в самом пхп, а в многочисленных пхп-даунах, которые ничего, кроме шаблоновысирания на Kohana осилить не способны.
Аноним 29/11/14 Суб 16:15:09 #106 №411562 
>>411554
То есть ты считаешь, что идея независимости подсистем (клиента и сервера) - таки неправильная?

Короче, вордпресоманьки, и прочие пхп-дауны, это ваш последний шанс выйти из этой охуитительной дискуссии не опущенками.

Либо вы приводите какие-то конструктивные опровержения сказанного в >>411436 / >>411515 в >>411521 и в >>411535 , либо с брюзжанием "пок-пок сопляк говна не поел не знаешь как надо" коллективно сливаетсь. Особенно интересует принципиальные противоречия, а не прикладные "пок пок красива тока на бумаге, на практике медленно работает, тупо сделали", хотя и последние так же можно оспорить.
Аноним 29/11/14 Суб 16:32:48 #107 №411569 
>>411562
MVC не нужен. Нормальный код не нужен. Нужен только битрикс и вордпресс!!!! кококо
Аноним 29/11/14 Суб 17:53:48 #108 №411593 
>>411562

Обана, сопляк говна поел.
Аноним 29/11/14 Суб 17:56:56 #109 №411595 
14172730162570.png
>>411557
Аноним 29/11/14 Суб 18:18:54 #110 №411600 
>>411593
>>411595
Один слился, ждём остальных.
Аноним 29/11/14 Суб 18:20:19 #111 №411602 
>>411595
битордик_палится.тхт
sageАноним 29/11/14 Суб 18:28:29 #112 №411606 
>>411600
Ждешь когда тебя обоссут? Так уже. Почитай тред еще разок. Было несколько хороших ответов , а твои высеры уровня "why angular.js/ember.js/huypizda.js is awesome" или "микросервисы - будущее" - нихуя не аргумент, а маркетинговое говно.
Правда я не знаю для кого ты их тут высрал. Дебилы и так найдут.
sageАноним 29/11/14 Суб 18:32:48 #113 №411607 
>>411557
>мам, добро ведь победит и пхпэдауны соснут, да? скажи, мам, что да, скажи
нет, сына, нет
Аноним 29/11/14 Суб 18:45:45 #114 №411612 
>>411606
>вскукареки без конструктива
Понятно. Ещё один.

Олсо, в треде за генерацию на сервере выступали одни дауны без аргументов, тупо проскипавшие всю критику.

Я выложил некоторые аргументы: 1 по поводу разумности разделения и независимости подсистем (клиент-сервер), 2 по поводу невозможности MVC или MVVM на клиенте без рестфула, 3 по поводу того, что повышение нагрузки при рестфуле - миф, 4 по поводу того, что приложениям с течением времени свойственно усложнятся, а не наоборот.

Никаких ответов на это в треде нет.

>микросервисы - будущее
Да блять, сервис-ориентированная архитектура - настоящее индустрии уже десятки лет, и только в отсталом вебе к этому пришли недавно, а не могли раньше это сделать из-за отсутствия полноценной клиент-сайд платфоры.
Аноним 29/11/14 Суб 18:48:53 #115 №411614 
>>411607
Иди зашейся порватка, по всему треду воняешь, а сказать толком ничего не можешь.
Аноним 29/11/14 Суб 22:15:09 #116 №411697 
14172885093700.png
Я вижу в треде ЯРОСТЬ фронтендопетуха, который не может понять, почему остальные не бегут мазаться говном, в котором он сам уже по уши.
Аноним 29/11/14 Суб 23:07:59 #117 №411717 
>>411612
Что ты имеешь в виду под генерацией на клиенте?
Вот зашел человек на сайт, что ему придет? Пустой хтмл с ссылкой на скрипт, который ему весь дом построит?
Или будет общий хтмл со скриптами, которые асинхронно подсосут весь контент?
Аноним 29/11/14 Суб 23:14:57 #118 №411719 
http://www.youtube.com/watch?v=ri2XWgIt59U

Вот классный доклад.
Если коротко.
Критический HTML и CSS на 1000 пикселей вниз надо отдавать в первые 14Кб. Для этого есть специальные средства.
Дальше отдавать весь остально ксс, весь джс, дальше всю рекламу и так далее. Результат - 99/100 в анализе гугла и загрузка за 0.5 секунд. Насчет шрифтов там тоже есть, видел в треде бугуртят, там тоже рассказано как делать надо.
Аноним 30/11/14 Вск 00:06:16 #119 №411737 
>>411535

> В твоём же примере, про много ajax запросов, хоть он и не совсем корректный, можно использовать вебсокеты/комет/кипэлайв кэшированное соединение/заголовки для отправки нескольких запросов за одну сессию и т.д.
И это будет рест апи? С сессиями? На вебсокетах? Наркоман?

То есть только чтобы назло php программистам поставить ангулар, мы должны городить еще комет демона, как-то налаживать его взаимоотношения с другими компонентами (тащить глючные полифиллы для не поддерживающих вебсокет клиентов). Ты то ли упорот, то ли никогда больше TodoList ничего не писал.

> К тому же, что страдает от этого?
Здравый смысл

> мощностями клиента, а не сервера.
Ты школьник знаешь какое железо ставят на сервера (а не на твой хостинг за 5 копеек в год) и какое встречаетя на клиентах? Их даже близко сравнивать нельзя. Тем более я не представляю какой роутинг надо нагородить чтобы нужны были «мощности». Алсо сразу вопрос номер 2, как ты думаешь, сколько роутов, контроллеров, моделей, сущностей, таблиц в базе данных, шаблонов в типичном активно развивающемся проекте который пилят человек 5-7 в течеие 3 лет? И сколько надо из этого вытащить на клиент в твоей схеме?

> К тому же вебсервера статику отдают во много раз быстрее динамики,
Рест апи это динамика ребенок.

> Сколько раз видел,
Судя по тому что ты пишешь если что ты и видел много раз так это борщ от твоей мамки.

Аноним 30/11/14 Вск 00:12:54 #120 №411739 
>>411429

В треде давай общаться. Только я тут нечасто появляюсь.

>>411500

Если это надо сделать одинаково во многих контроллерах то можно добавить функцию. Но на практике скореее всего каждй раз это будет немного по разному и придется все же ставить иф.

>>411719

> Критический HTML и CSS на 1000 пикселей вниз надо отдавать в первые 14Кб
Если не упарываться и не писать огромные простыни и подключить 10 абстрактных less sass grunt css фреймворков то это реально без всяких специальных оптимизаций.


Аноним 30/11/14 Вск 00:18:47 #121 №411741 
>>411535

В общем

— надо различать сайты-как-приложения и сайты-не-как-приложения, для них нужны разные подходы
— если делать клайентсайд, нужно решать проблему дублирования моделей, бизнес логики и шаблонов. Пока для этого из реально работающих вещей есть только нода с какими-то хитрыми фреймворками
— сделать эффективно сайт и мобильное/десктопное приложение на общем Апи вряд ли получится
— чистый рест из учебников не совместим с высоколатентными соединениями кои реальность сгодняшнего веба и никуда не денутся в обозримом будущем ибо скорость света не победишь. Фанатики рест пытаются спасти ситуацию даже тем что помещают рест клиент на сервер: он собирает страницу через рест апи на сервере (там это быстрее выходит) и отдает клиенту.
Аноним 30/11/14 Вск 00:29:17 #122 №411748 
>>411737
>сколько надо из этого вытащить на клиент в твоей схеме
Не больше представления пятидесяти строк одной таблицы, периодически с простенькими джоинами. Что сказать-то хотел?
Аноним 30/11/14 Вск 00:31:58 #123 №411749 
>>411429

Все-таки оставь мыльце, мне было бы интересно поговорить с тобой не только о фронтенде. На том же gmx.com зарегать постяонное дело пары минут.
Аноним 30/11/14 Вск 00:33:51 #124 №411750 
>>411739
>>411749

Промазал.
Аноним 30/11/14 Вск 00:37:00 #125 №411752 
При богатом клиенте может случиться обосрамс, если нужно будет какие-то действия с уже имеющимися моделями выполнять на сервере - расчет статистики, поиск неактивных юзеров, или юзеров которые что-то там особое покупают, на основании чего их данные нужно скидывать в отдел продаж каждый месяц. Да тысячи таких примеров.
Аноним 30/11/14 Вск 00:57:13 #126 №411759 
>>411432
У меня React на Sails.
Аноним 30/11/14 Вск 01:12:07 #127 №411761 
>>411749

Почему бы и нет [email protected]

Аноним 30/11/14 Вск 21:34:58 #128 №412057 
А почему бы просто не провести эксперимент? Посмотреть несколько сайтов с примерно одинаковым размером контента, но реализованных по-разному. И протестировать на каком нибудь гугле или
Аноним 30/11/14 Вск 21:36:41 #129 №412059 
>>412057
Что именно тестить?
Аноним 30/11/14 Вск 21:37:29 #130 №412060 
>>412057
Тут
https://developers.google.com/speed/pagespeed/insights/
или тут
www.webpagetest.org/
Отправил раньше времени
Аноним 30/11/14 Вск 21:38:25 #131 №412061 
>>412059
Ну эт самое. Производительность. Или насчет чего тут холивар?
Аноним 30/11/14 Вск 21:45:08 #132 №412070 
>>412061
Ну ОКАУ, можно начать с производительности.
Но холивар вроде более глобальный.
Аноним 30/11/14 Вск 22:15:43 #133 №412078 
А можно вообще примеры этих сервисов? Что в результате отвечает за внешний вид?
Аноним 01/12/14 Пнд 21:26:10 #134 №412334 
>>412078
icloud, google docs, gmail итд. Это то где необходим толстый фронтенд. А вообще его куда уже только не пихают, даже для написания банальных бложиков.
> отвечает за внешний вид
Такие же шаблоны как и везде.
Аноним 01/12/14 Пнд 21:39:15 #135 №412340 
>>412334

Дай какие нибудь статейки про это почитать с примерами.
Аноним 01/12/14 Пнд 21:41:44 #136 №412342 
>>412340
http://emberjs.com/guides/getting-started/
comments powered by Disqus