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

Что такое джазак и как мне начать?

Сайты jamstack – это ярость прямо сейчас в Web Dev World. И по праву так! Но что именно и как мы все можем воспользоваться его преимуществами? Что это нажает?

Автор оригинала: FreeCodeCamp Community Member.

Сайты jamstack – это ярость прямо сейчас в Web Dev World. И по праву так! Но что именно и как мы все можем воспользоваться его преимуществами?

  • Что это на джаза?
  • Это не путать с серверуми
  • Что делает JamStack?
  • Так что же отлично делает приложение JamStack?
  • Мой сайт считается на джамани?
  • Какие примеры JamStack?
  • Каковы некоторые инструменты, которые я могу использовать для создания сайтов или приложений JamStack?

Что это на джаза?

Начать, JamStack Является ли архитектура программного обеспечения и философия, которая придерживается следующих компонентов: JavaScript, API и Markup.

Если это звучит знакомо, это потому, что это так! Это реагирует на приложение, которое вы компилируете с WebPack и в конечном итоге служить S3 ? Да, это приложение JamStack. Этот простой HTML-файл, который не имеет JavaScript и буквально не делает ничего динамично? Да, это также приложение JamStack.

Это не путать с серверуми

Если вы идете больше от облачной стороны вещей (думайте AWS , GCP , Azure ), вы можете быть склонны думать о Смертный и джазак как то же самое. Предоставлено, у них есть сходство в философии того, как управлять ресурсами, таких как проведение сайта на S3. Но приложение JamStack не всегда будет приложение без сервеса.

Рассмотрим приложение, размещенное в статическом хранилище на облачный поставщик по вашему выбору. Да, вы можете служить приложением без сервера, но вы можете иметь дело с API, который использует WordPress или Rails, оба из которых наверняка не безверены.

Объединение этих философий может пройти долгий путь, но их не следует смущать как то же самое.

Что делает JamStack?

Вернуться к JamStack: он обычно состоит из 3 компонентов: JavaScript, API и Markup. Его История стеблей от выращивания термина «статический сайт» в нечто более значимое (и товарища). Итак, в конечном итоге статический сайт является конечным результатом, он взорван, чтобы включить первый класс для каждого шага пути.

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

Javascript

Компонент, который, вероятно, делал наибольшую работу для популяризации JamStack, является JavaScript. Наш любимый язык браузера позволяет нам предоставлять все динамические и интерактивные биты, которые мы могли бы не иметь, если мы обслуживаем простой HTML без него.

Это где много раз вы увидите базы пользователей, таких как Реагировать , Vue и новички, как Svelte вступают в игру.

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

Эти HTML-файлы включают в себя группу активов, таких как изображения, CSS и фактические JS, которые в конечном итоге получают вручение браузера через ваш любимый CDN (сеть доставки контента).

Апис

Использование сильных сторон API является ядром для того, как вы делаете DamStack App Dynamic. Будь то аутентификация или поиск, ваше приложение будет использовать JavaScript, чтобы сделать HTTP-запрос другому провайдеру, который в конечном итоге улучшит опыт в одной форме или другой.

GATSBY Придумал фразу « Content Mesh », которая делает довольно хорошую работу при описании возможностей здесь.

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

Например, если у вас нет без головы WordPress API, где вы принимаете свои сообщения в блоге, Главарное Счет, где вы храните специализированные СМИ, и Elasticsearch Экземпляр, который предоставляет вашу функциональность поиска, все они работают вместе, чтобы получить один опыт для людей, используя ваш сайт.

Разметка

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

Чтобы считаться приложением JamStack, HTML должен быть подан статически, что в основном означает отсутствие динамически отображения с сервера.

Если вы соедините страницу вместе и обслуживаете ее с PHP, это, вероятно, не приложение JamStack. Если вы загрузите и обслуживаете один HTML-файл из хранилища, который создает приложение с JavaScript, звучит как приложение JamStack.

Но это не значит, что мы должны всегда строить 100% приложения в браузере. Инструменты, такие как GATSBY и другие Статические генераторы сайта Позвольте нам потянуть некоторые или все наши источники API в Stroke Time и отобразите страницы в виде HTML-файлов.

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

Одна заметка о «хостинге»

Использование терминов хостинга здесь можно вводить в заблуждение, если вы новичок в концепции. Да, ваш сайт технически размещен где-то, но это не в традиционном смысле. У вас нет сервера, который вы поддерживаете, где вы загружаете свои файлы с помощью FTP Клиент, как Cyberduck Отказ

Вместо этого, ли вы делаете это самостоятельно с S3 или трубопроводом в NetLify (что на самом деле Multi-Cloud ), ваши HTML и статические активы подаются от хранения объектов. На хвостовом конце того, что у вас обычно есть CDN, как CloudFlare Какие кэширует эти файлы в местах по всему миру, делая ваши страницы быстрее, чтобы люди посещали ваш сайт.

Так что же отлично делает приложение JamStack?

AmStack Apps по своей природе удовлетворяют больше всего, если не все 5 столпов AWS хорошо архивационные рамки Отказ Это основные понятия, которые AWS считает быстрыми, безопасными, высокопроизводительными, упругими и эффективной инфраструктурой.

Давайте посмотрим, как …

Скорость

Тот факт, что вы обслуживаете приложения JamStack, так как статические файлы непосредственно с CDN (обычно), что, скорее всего, ваше приложение будет загружаться Super Fast. Прошли времена, когда сервер должен провести время настроить страницу перед ответом; Теперь вы обслуживаете страницу как просто простой HTML «как есть» или с некоторым типом клиентской боковой гидратации, как вы увидите с Реагировать Отказ

Расходы

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

Масштабируемость

Поскольку вы подаете файлы от статического хостинга, скорее всего, CDN, что в значительной степени автоматически дает вам бесконечную масштабируемость. Большинство поставщиков сделают это претензию, что означает, что у вас не будет проблем, чтобы любой приток людей попал в ваш сайт через входную дверь.

Обслуживание

Основание вашего статического сайта не сервер, что означает, что вам не нужно его поддерживать. Будь то NetLify, S3 или любой другой поставщик, ваш статический HTML, CSS и JS поддерживаются для вас без головы.

Безопасность

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

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

Но это также зависит от ваших API

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

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

Мой сайт считается на джамани?

Мы уже говорили о 3 компонентах (JavaScript, API, Markup), но то, о чем мы не говорили, это тот факт, что вам не обязательно использовать все 3 из них, чтобы рассмотреть ваш сайт достойным Отказ

Действительно все сводится к разметке и как вы его служите. Вместо вашего приложения Rails рендурируют свой HTML для вас, вы можете провести предварительнокомдационное приложение RACT RACT на S3, который достигает рельсов через набор API.

Но вам даже не нужно иметь API. Вам даже не нужно иметь JavaScript! Пока вы обслуживаете HTML-файл без него, чтобы быть скомпилирован на сервере по запросу (AKA предварительно рендеринг его), у вас есть сайт JamStack.

Какие примеры JamStack?

freecodecamp.org

Да! FreeCodeCamp.org и его обучающий портал – это сайт JamStack, построенный на GATSBY. Даже с сложными возможностями предоставляют приложение для проведения курсов кода, FreeCodeCamp сможет сорвать силу статического генератора сайта и мощных API для привлечения людей по всему миру силу учебного кода.

Вы можете увидеть Quincy от FreeCodeCamp больше об этом на jamstack_Conf 2018: https://www.youtube.com/watch?v=e5h7ci3yqpy.

Примечание: порталы новостей и форума в настоящее время нет сайтов JamStack.

Невозможное питание

Главный сайт для Невозможное питание не отличается от сайта GATSBY! Все, что от их рецептов до их поисках местоположения все скомпилированы через наш любимый «пылающий быстрый» статический генератор сайта.

web.dev

Google’s web.dev Ресурсный центр построен с использованием растущих 11-е годы Отказ Вы даже можете найти код с открытым исходным кодом: https://github.com/googlechrome/web.dev.

Каковы некоторые инструменты, которые я могу использовать для создания сайтов или приложений JamStack?

Хорошие новости со всем этим Buzz – это тонна инструментов, доступных в настоящее время, а тонкую дорожку на пути. Они все еще могут быть немного грубыми по краям, но это потому, что это смелый новый мир инструментов, и это поднимается сглаживание, чтобы получить правильно.

Создание вашего приложения

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

Нужна ли я выбрать один? Начните с GATSBY и Bootstrap с простым стартером Отказ

Обслуживание вашего приложения

Мне нравится думать об этом как о простых части в зависимости от вашей настройки. Подобные инструменты, такие как NetLify и Zeit, сделайте этот ветерок для настройки, подключив в репо GitHub, и построить в любое время, но новый коммит продвигается, но, конечно, у вас есть такие варианты, как AWS, если вы хотите больше контроля.

Нужна ли я выбрать один? Начните с NetLify и занять 5 минут, чтобы развернуть этот сайт GATSBY.

Сделать ваше приложение динамично

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

А как насчет общих ресурсов для изучения?

Вы можете найти много ресурсов, чтобы встать и быстро работать в мире JamStack.

Ожидать, чтобы увидеть больше

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

Присоединяйтесь к разговору в Twitter и Дайте мне знать Какая ваша любимая часть строительства сайта JamStack!

Что-то не хватало?

Отсутствует ваш любимый инструмент JamStack или потрясающий пример? Пинг мне в Twitter !