БЕТ: Современный стек для современной сети
В веб-разработке существует бесчисленное множество стеков, каждый из которых основан на одной или двух основных платформах.
Некоторые из самых популярных веб-стеков в настоящее время — это 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, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.