Изоморфные JavaScript приложения - будущее Web?

Изоморфные JavaScript приложения - будущее Web?

Изоморфные JavaScript Приложения - будущее Интернета?
Один из самых известных лозунгов Java во всем интернете – «Напиши один раз – запускай где угодно» (англ. Write once, run everywhere). Но разве этот девиз применим только к Java? Можем ли мы использовать его для описания JavaScript тоже? Ответ - Да.

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

 

Как мы к этому пришли
Много лет назад, web был набором статических страниц, сделанных с помощью HTML и CSS, без особой интерактивности. Каждое действие пользователя приводило к запросу на сервер. Благодаря JavaScript, разработчики начали создавать интересные эффекты, переходы, но это произошло с приходом AJAX, который произвел революцию. Веб-разработчики начали писать код, который может общаться с сервером, чтобы отправлять и получать данные без необходимости перезагрузки страницы.

Годы идут, а вместе с ними растет обязанность за клиентский код, в результате чего появилось новое приложение, известное как single-page application (SPA). В SPA все необходимые средства извлекаются с помощью одной загрузки страницы, либо динамически загружены и добавлены к странице. Примеры: Gmail и редактор StackEdit.

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

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

Исследование Bing показало, что увеличение времени загрузки страницы на 10 мс стоит сайту $ 250к дохода в год.

 

SEO
Поскольку SPA зависит от JavaScript, серверы не производят все содержимое HTML так, как они делали это раньше. Таким образом, при индексации странички, боты поисковых сервисов сталкиваются с трудностями во время анализа страниц. Боты-индексаторы делают запросы на веб-сервер и анализируют результаты в виде исходного текста, без интерпретации и выполнения содержания. Недавно Google улучшил свой веб-сканер, так что он может работать со страницами на JavaScript основе, но как же Bing, Yahoo, и другие поисковые системы? Хорошая индексация имеет решающее значение для любого бизнеса, так как это обычно приводит к более высокому количеству посещений и более высоким доходам. 

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

На сегодняшний день существует несколько фрейморков, которые помогают избежать распространенных ошибок. Один из них - возможно, самый известный - это Meteor. Meteor - JavaScript фреймворк с открытым исходным кодом, написанным на Node.js, который фокусируется на приложениях реального времени. Еще один проект, который следует упомянуть, - Rendr. Это небольшая библиотека, разработанная Airbnb, которая позволяет запускать приложения Backbone.js на клиентской стороне и на сервере.

Все больше компаний принимают и адаптируют Node.js для своих продуктов. Код-шеринг между клиентской и стороной сервера становится все более распространенным и естественным выбором. Данная тенденция подкрепляется обменом темплейтами через библиотеки, такие как React.

Автор Aurelio De Rosa
Оригинал статьи