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

Что такое универсальный угловой? Понимание изоморфных приложений

  1. Немного истории
  2. Являются ли приложения на стороне клиента неудобными?
  3. Что такое изоморфные приложения?
  4. Угловой 5 Универсальный
  5. архитектура
  6. Выполнение на сервере
  7. Скоро ...

Angular Universal - это технология, позволяющая запускать приложение Angular с сервера . Рендеринг на стороне сервера (SSR) может заинтересовать вас в вопросах SEO, для совместного использования страниц в социальных сетях (с вашим эскизом ) или, например, для сокращения времени начальной загрузки. Хотите узнать больше? Продолжайте читать ...

Немного истории

Рендеринг на сервере ничего нового. На самом деле, это было преобладающей тенденцией еще несколько лет назад. От PHP до Python, через Java или .NET, основная задача бэкэнда заключалась в том, чтобы сгенерировать HTML для каждого запрошенного маршрута и передать его клиенту. Это были статические страницы, и каждая нажатая ссылка должна была ждать загрузки новой страницы. В те дни Javascript имел ограниченное применение для улучшения UX (например, drag & drop ) и немного другого.

Затем появились клиентские приложения , в которых сервер отправлял только пустое представление index.html с зависимостями JS. Когда я получил код JS, браузер начал выполнять функции, которые изменяли DOM, создавая представление от клиента.

Клиентские приложения предлагали универсальность и динамичность, невиданную ранее, с просмотром клиентом и концентрацией связи с сервером в вызовах API REST. Настолько, что в настоящее время они стали обычным тоником интернета (Angular, React ...).

Являются ли приложения на стороне клиента неудобными?

Да да Ничто не идеально, и работа в клиенте имеет свои недостатки. В основном два:

  • Увеличение времени загрузки : вам нужно скачать и разобрать index.html, найти зависимости JS, загрузить их и выполнить, чтобы начать иметь что-то в представлении.
  • Проблемы с SEO : боты поисковых систем не должны выполнять JS. Обычно то, что они находят на вашей странице, это то, что сервер дает им, пустой DOM.

Эти недостатки побудили сообщество разработать гибридную стратегию ( Isomorphic Apps ) для решения этих проблем.

Что такое изоморфные приложения?

Изящество использования SSR с Angular (как и с другими передними библиотеками, такими как React) заключается в том, что вы можете затем «повторно связать» эту страницу с клиентом. Таким образом, вы получаете лучшее из обоих миров:

  • Быстрая первоначальная зарядка благодаря SSR
  • Более динамичная навигация благодаря локальному исполнению

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

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

Ниже вы можете увидеть анимацию с основным функционированием изоморфной сети.

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

Клиент показывает представление, предоставленное сервером, и тот, который получает данные для генерации приложения из Javascript (как это обычно делает Angular / React), начинает загружать его в фоновом режиме .

Когда приложение готово, оно заменяет представление, доставленное сервером, на представление, созданное на клиенте. Последний известен как процесс регидратации .

Угловой 5 Универсальный

Angular Universal - это проект, существующий с Angular 2. Вы скажете мне ... почему вы подождали, пока Angular 5 скажет мне?

До недавнего времени Angular Universal находилась в несколько экспериментальной фазе, и, среди прочего, регидратация страницы не была решена. Состояние представления SSR не было перенесено в представление клиента и при определенных условиях вызывало незначительное мерцание представления.

Все эти проблемы были решены с помощью Angular 5, благодаря сервису TransferState, который позволяет передавать данные отрендеренного веб-сервера на сервер клиенту.

архитектура

Чтобы запустить приложение в клиенте, вам нужен ваш обычный угловой код. ОК, но ... а серверная часть?

Angular Universal предоставляет вам инструменты, так что вам почти не нужно прикасаться к своему коду: прикладной уровень остается неизменным, а на уровне рендеринга добавляется второй элемент, который позволяет генерировать DOM в виде строки, чтобы вернуть его в ответ на запрос браузер.

Angular Universal предоставляет вам инструменты, так что вам почти не нужно прикасаться к своему коду: прикладной уровень остается неизменным, а на уровне рендеринга добавляется второй элемент, который позволяет генерировать DOM в виде строки, чтобы вернуть его в ответ на запрос браузер

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

В этом случае ответ таков: на уровне Angular вам просто нужно добавить вторую точку входа (с соответствующим модулем), которая будет выполняться с сервера. Следующая диаграмма более поучительна.

Конечно, это перенесет вас в другую тему. Если у вас есть 2 точки входа, вам потребуется сгенерировать 2 разных пакета на уровне веб-пакета: один для запуска на сервере, а другой для локального запуска.

Выполнение на сервере

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

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

Хотя Angular Universal поддерживает .NET и работает над поддержкой серверов Java, PHP и Python, основная поддержка, по логике, для NodeJS.

Фактически, сервер Node - это именно то, что вы найдете в файле server.ts на предыдущей диаграмме.

Angular предоставляет адаптеры для серверов Node в виде экспресс или Hapi.js , так что очень просто отрендерить и вернуть соответствующие угловые компоненты для входного пути.

Скоро ...

В следующей статье я расскажу о коде, публикуя пошаговые инструкции по запуску приложения Angular с использованием Angular Universal. Можете ли вы подождать до сих пор, или вы посмотрите на это самостоятельно?

Если вам понравилась эта статья, поделитесь ею 😉

родственный

Что такое изоморфные приложения?
Хотите узнать больше?
Являются ли приложения на стороне клиента неудобными?
Что такое изоморфные приложения?
Почему вы подождали, пока Angular 5 скажет мне?
А серверная часть?
Можете ли вы подождать до сих пор, или вы посмотрите на это самостоятельно?
Реклама
Навигация сайта
Реклама
Популярные новости
Хорошая туристическая компания

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

Шкафы недорого эконом готовые
После того, как ремонт или отделка закончена приходит время подумать и о мебели. Ну, наверно каждый человек выберет то, что он поставит в своем доме первым: диван, стол, кресло… А почему бы первым не

Финансы и бизнес
Чтобы повысить производительность и результативность бизнеса, руководителям и персоналу маркетинга, сбыта, цепочки поставок, производства необходимо понимать конкретную ситуацию, что происходит и куда

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

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

Рефинансирование ипотеки в Москве 2019
Россельхозбанк в 2018-2019 году проводит рефинансирование кредитов как своих, так и других банков: рассмотрим, процентные ставки и условия перекредитования в Россельхозбанке для физических лиц, бюджетников

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

Курсы изучения китайского языка
Хотите получить помощь в изучении китайского языка, но не знаете кому можно доверять ? Отвечаю вам товарищи, ещё недавно я был таким же, как вы ровно до того момента, как узнал здешний адрес. Друзья,

Реклама
Облако тегов