Рубрики
Без рубрики

Если вы используете JavaScript MVC Framework для создания вашего веб-приложения?

Объясните разницу между серверным приложением и приложением к клиентам, чтобы помочь считывателям понять, что должно быть встроена их проект.

Автор оригинала: Craig McKeachie.

Эта статья объяснит различия между приложениями на стороне сервера и приложениями к клиентам (одностраничные приложения), чтобы помочь читателям понять, что должно быть встроена их проект. Приложения на стороне сервера построены с такими языками, как Ruby на рельсах, в то время как Однострановые приложения построены с JavaScript с использованием таких каркасов, как Angularjs, Ember.js и backbone.js.

Текстовое резюме написано командой кодаментации и основана на рабочих часах, размещенных Craig Mckeachie , кто удивил JavaScript Framework Guide Отказ Сводка может варьироваться от оригинального видео, и если вы увидите какие-либо проблемы, пожалуйста, дайте нам знать!

Кодаментатор JS Frameworks Office Часы работы

Прежде чем мы посмотрим, какие проекты подходят для веб-серверных или клиентских веб-приложений, давайте сначала осмотрите архитектуру обоих типов.

Как мы строим веб-приложения для серверов

Вот как мы традиционно строим веб-приложения для серверов. Упрощенное объяснение того, что произойдет, это запрос HTTP, изготавливается из браузера пользователя на веб-сервере, вы получаете данные обратно на свой веб-сервер, и он динамически помещается в шаблон HTML на сервере. Затем HTML возвращается к клиенту.

Как мы строим веб-приложения на стороне клиента (ака одна страница приложений)

В веб-приложении на стороне клиента вы делаете тот же запрос на сервер, но на этот раз JavaScript Worth of Jackss, который запрос на новую страницу. В какой-то момент либо в начале жизненного цикла приложений или когда страница меняется, JavaScript отключает шаблон HTML к клиенту как статический HTML. Работа сервера становится отправляющей статические шаблоны и RESTFLAFLE API в браузер и отправляя обратно немного JSON.

Другими словами, когда кто-то меняет страницы на нанесении на стороне клиента или нажимает кнопку, JavaScript перехватывает и определяет, какой необходим шаблон, следует ли сделать запрос XMLHTTPREQUEST (XHR), чтобы получить этот шаблон, и данные, которые попадают в шаблон. Затем JavaScript создает вызов AJAX и запрос XHR на сервер, чтобы вернуть данные. Поскольку механизм шаблонов перешел к клиенту, данные и шаблон создаются в браузере клиента.

Есть много способов сделать спа. Вы можете отправлять Tidbits html обратно, но angularjs, ember.js и backbone.js все принимают один и тот же архитектурный подход к объединению данных и шаблон в JavaScript на клиенте.

Какой из них вы должны использовать для создания вашего веб-приложения?

Когда я думаю о том, должен ли я сделать приложение для сервера, я спрашиваю себя, если важен SEO. Если SEO является интегральным в приложении, я бы укрепил от использования MV * Frameworks. Это своего рода смелое заявление, но основано на том факте, что поисковая система Google не делает хорошую работу, ползание JavaScript, даже если Angularjs исходит от самого Google. Вам обычно нужно построить в процессе, который запускает Phantomjs или какой-то JavaScript на сервере, чтобы сделать статус страницы и отправить это, когда агент пользователя является Google. Таким образом, вы можете легко испортить это и, в свою очередь, разрушит ваш SEO.

Я не говорю не использовать MV * Frameworks, если у вас есть приложение корзины корзины, так как он идеально подходит, используя Angularjs, например, в оформлении заказа отличного пользователя. Тем не менее, я бы действительно подумал об этом перед использованием MV * Frameworks для создания страниц продукта. SEO – это общая слабость для этих JavaScript Frameworks.

Все сводится к тому, нужен ли вам ручной работы, потрясающий деревянный стул, который является произведением искусства, или если вам нужны стулья из IKEA. Если последний, рассмотрите возможность сохранения вашего веб-приложения на сервере. Если вам нужна эта удивительная удивительна, и кто-то оплачивает вас, чтобы сделать действительно отзывчивое приложение с опытом, похожим на настольное приложение, то вы будете намного счастливее с помощью MVC Framework.

Небольшое исключение с Ember, хотя это немного запутанно. У них есть более новая HTML и шаблон, HTMLBars, это быстрее, чем у них ранее, потому что это не на основе строк прямо сейчас. Это означает, что нет необходимости в памяти Phantom браузера, как Phantomjs, чтобы сделать ваши страницы на сервере. Тем не менее, каждый раз, когда вы настраиваете свой сервер, вы должны убедиться, что ваш SEO правильный, и есть шанс, который вы попадете в тупик, что может заставить некоторых людей нервничать.

В сортировке SEO Downfall Frameworks javaScript уменьшается в Ember, потому что вам все равно предстоит сделать работу на стороне серверов, но она не так много настроек по сравнению с другими каркасами, которые все еще должны использовать фантовые. Кроме того, довольно легко забыть о URL-адресах, когда вы строите приложение и забывают, что люди иногда глубоко связаны на определенные страницы. Это невозможно забыть в Ember, потому что маршрут сначала приходит – вы всегда должны сначала объявлять свой объект маршрута, когда он работал над приложениями Ember, что является причиной, что у него есть сильная сила на Angularjs с точки зрения совместимости SEO.

Если кто-то уже построил приложение Angularjs и хочу сделать его более удобным, есть ли решение?

Как упоминалось ранее, SPA/JavaScript Frameworks и SEO не очень совместимы. Тем не менее, это программное обеспечение AS-A-Service (SaaS) в Prerender.io, который в основном предварительно отображает ваши страницы на своем сервере, поэтому, когда веб-боты ползают вас, ваша страница все еще будет отображаться. Это самый простой способ справиться с общими проблемами SPA.