БЕТ: Современный стек для современной сети

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

Некоторые из самых популярных веб-стеков в настоящее время — это MERN (MongoDB, Express, React, Node), MEVN, PERN и так далее.

Но с недавним появлением некоторых интересных новых инструментов и платформ появился новый веб-стек: BETH.

Рамки

Стек BETH состоит из 4 основных фреймворков:

Мы рассмотрим каждый из них индивидуально.

булочка

Bun — это универсальный набор инструментов JavaScript/TypeScript, который включает в себя:

  • Среда выполнения, которая поддерживает TypeScript и JSX «из коробки». Она невероятно быстра, поскольку расширяет JavaScriptCore вместо использования V8, как Node.js.
  • Менеджер пакетов, совместимый с npm и, конечно, намного более быстрый.
  • Невероятно быстрый инструмент для запуска тестов с синтаксисом, совместимым с Jest, и возможностью симулировать DOM с помощью Happy-dom.
  • Современный сборщик JavaScript (на данный момент все еще находится в стадии бета-тестирования).

Bun фокусируется на производительности и опыте разработчиков, и это полная замена Node.js, что делает миграцию очень простой.

Элизия

Elysia — это серверная платформа Bun TypeScript с отличной производительностью и опытом разработки.

Некоторые из его мощных функций включают в себя:

  • Невероятная производительность: скорость до 18 раз выше, чем у Express.
  • Суперпростая разработка, позволяющая создавать конечные точки API, просто возвращая нужные данные ответа, без ненужных методов или шаблонов.
  • Строгая типизация на базе TypeBox обеспечивает строгую проверку типов для обеспечения целостности типов по умолчанию.
  • Соответствие OpenAPI, позволяющее Elysia автоматически генерировать спецификации OpenAPI 3.0 с помощью плагина Swagger.
  • Сквозная безопасность типов синхронизация типов во всех приложениях.
  • Активная экосистема плагинов, которая поможет интегрировать ваш сервер Elysia с различными инструментами и платформами, в том числе: Swagger, GraphQL Yoga, tRPC, Vite, Web Socket и другими.

Турсо

Turso — это распределенная база данных с периферийным размещением, основанная на libSQL, ответвлении SQLite с открытым исходным кодом и открытым вкладом.

Разработчики по всему миру любят Turso за его простоту и производительность, и он предлагает интеграцию с несколькими популярными платформами, такими как Vercel, Cloudflare, Netlify и другими.

HTML-код

HTMX — это небольшая и мощная библиотека, которая предоставляет вам доступ к AJAX, CSS-переходам, веб-сокетам и событиям, отправленным сервером, непосредственно из HTML, устраняя необходимость написания ненужного кода JavaScript.

Более подробно о HTMX я рассказал в этой статье: HTMX: гипертекст для современной сети.

Дополнительный

Некоторые дополнительные библиотеки для стека BETH:

  • typed-html: типобезопасное HTML-шаблонирование с использованием простого TypeScript.
  • Tailwindcss: многофункциональная CSS-инфраструктура для быстрого создания красивых пользовательских интерфейсов.
  • Drizzle: типобезопасная ORM для обработки базы данных (Лично я предпочитаю Prisma, Drizzle более легкая, производительная и ориентированная на SQL, в то время как Prisma обеспечивает автоматическую миграцию и более удобочитаемый синтаксис. и более крупную экосистему, но выбор в конечном итоге за вами).
  • Hyperscript: простой и доступный язык для улучшения HTML с помощью лаконичного DOM, функций событий и синхронизации.
  • Fly.io: простое развертывание в более чем 30 регионах на 6 континентах.

Как использовать стек BETH

Стек BETH основан на использовании JSX с HTMX и Hyperscript для интерактивности на сервере Bun & Elysia, создавая легкий и быстрый веб-сайт.

Дополнительную информацию можно получить из репозитория the-beth-stack GitHub.

Преимущества

Некоторые из основных преимуществ стека BETH включают в себя:

  • Высокая производительность. Используя некоторые из самых быстрых веб-технологий, таких как Bun и Elysia, стек BETH чрезвычайно эффективен.
  • Простота. Стек BETH очень прост и удобен, стремясь свести к минимуму объем JavaScript, написанного во внешнем интерфейсе, за счет использования HTMX и Hyperscript, а также инструментов, известных своим хорошим опытом разработки, таких как Elysia и Turso. использовать.
  • Гибкость. Стек BETH чрезвычайно гибок, его можно модифицировать и интегрировать с широким спектром инструментов, что позволяет адаптировать его к характеру и требованиям вашего проекта.

Недостатки

Трудно выделить набор конкретных недостатков стека BETH из-за его чрезвычайной гибкости, но мы можем заметить две проблемы:

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

Заключение

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

Стеккадемический

Спасибо, что дочитали до конца. Прежде чем уйти:

  • Пожалуйста, рассмотрите возможность аплодировать и следовать автору! 👏
  • Следуйте за нами в Twitter(X), LinkedIn и YouTube.
  • Посетите Stackademic.com, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.