Логотип
Баннер в шапке 1
Баннер в шапке 2

Oven: Bun JavaScript-платформа

Продукт
Разработчики: Oven
Дата премьеры системы: 2023/09/11
Технологии: Средства разработки приложений

2023: Bun 1.0

11 сентября 2023 года стало известно о том, что представлен первый значительный выпуск платформы Bun, предназначенной для обособленного выполнения приложений, написанных на языках JavaScript, JSX и TypeScript. Проект нацелен на использование в качестве прозрачной замены платформы Node.js, поддерживает используемые в Node.js механизмы работы с модулями и обработки зависимостей. Код проекта написан на языках Zig и С++, и распространяется под лицензией MIT. Для выполнения JavaScript задействован JavaScript-движок JavaScriptCore и компоненты проекта WebKit с дополнительными патчами.

Bun 1.0

Как сообщалось, в состав Bun входит полный набор инструментов для создания и выполнения приложений на языках JavaScript и TypeScript. Среди прочего, платформа предоставляет runtime для создания серверных обработчиков и выполнения JavaScript-приложений без браузера, совместимый с NPM пакетный менеджер, инструментарий для выполнения тестов, систему сборки самодостаточных пакетов и утилиту bunx для установки и запуска пакетов из репозитория NPM (эквивалент npx и yarn dlx).

Заявлены такие цели, как возможность запуска большей части существующих серверных JavaScript-приложений, достижение оптимальной производительности и предоставление инструментов для снижения сложности разработки и оптимизации производительности труда. Проект также предоставляет минимальный набор оптимизированных API для эффективного выполнения таких задач, как запуск HTTP-сервера и работа с файлами. Поддерживается режим "bun - hot" для автоматической горячей перезагрузки кода в случае изменения файлов приложения, выполняемой без остановки работы программы (при перезагрузке установленные соединения не будут оборваны и состояние не будет потеряно).

Особенностью Bun является очень оптимальная производительность. Например, в тестах на выполнение серверного приложения на базе фреймворка React применение Bun демонстрирует в два раза большую пропускную способность (число обработанных приложением HTTP-запросов в секунду), чем платформа Deno и в 4.7 раза, чем Node.js. В тесте на работу чат-сервера, использующего WebSocket, Bun обгоняет Deno в два раза, а Node.js - в 6 раз. В тесте загрузки больших таблиц из SQLite платформа Bun быстрее Deno в два раза, а Node.js - в 4 раза.Как работает институт «цифровых атташе», и в каких странах ждут российских ИТ-экспортёров. Интервью с Владимиром Дождёвым, Минпромторг 7.5 т

Выполнение установки приложений при помощи команды "bun install" производится в 25 раз быстрее, чем при использовании "npm install", а сборка командой "bun build" в 1.76 быстрее esbuild, в 26 раз быстрее rspack, в 155 раз быстрее Parcel 2 и в 224 раза быстрее WebPack 5. По сравнению с Node.js и Deno, использующими JavaScript-движок V8, Bun построен на базе фреймворка JavaScriptCore, развиваемого компанией Apple для браузера Safari. Кроме производительности применение JavaScriptCore также позволило снизить потребление памяти.

Проект развивается с оглядкой на обеспечение совместимости с серверными приложениями, написанными для Node.js, поддерживает большую часть API Node.js, включая модули и структуры fs, path, http, process, __dirname и Buffer. Поддерживается и традиционный Web API, включая объекты fetch, WebSocket и ReadableStream. Предоставляется совместимость как с модулями Node.js (CommonJS и node_modules), так и с JavaScript-модулями (ESM), созданными в соответствии со спецификацией ECMAScript 6 и применяемыми в браузерных web-приложениях. В текущем виде большинство npm-пакетов, созданных для Node.js, могут быть запущены в Bun без внесения изменений или с минимальными правками. Поддерживаются многие серверные фреймворки, такие как Express, Koa и Hono.

Платформа также может заменить собой множество сопутствующих инструментов, развиваемых для экосистемы Node.js. Например, Bun может использоваться для запуска файлов с расширениями .js, .ts, .cjs, .mjs, .jsx и .tsx, заменяя такие системы, как tsc, babel, ts-node, ts-node-esm и tsx. Встроенная система сборки обособленных программ позволяет обойтись без esbuild, webpack, parcel и rollup. Встроенный пакетный менеджер предоставляет команды, совместимые с npm, обрабатывает package.json, записывает результат в каталог node_modules и может заменить npm, yarn, pnpm и lerna[1].



Подрядчики-лидеры по количеству проектов

За всю историю
2022 год
2023 год
2024 год
Текущий год

  Солар (ранее Ростелеком-Солар) (47)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
  Форсайт (13)
  Axiom JDK (БеллСофт) ранее Bellsoft (10)
  Unlimited Production (Анлимитед Продакшен, eXpress) (10)
  Другие (400)

  Солар (ранее Ростелеком-Солар) (10)
  Форсайт (3)
  Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
  КРИТ (KRIT) (2)
  Cloud.ru (Облачные технологии) ранее SberCloud (2)
  Другие (13)

  Солар (ранее Ростелеком-Солар) (6)
  Unlimited Production (Анлимитед Продакшен, eXpress) (4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (4)
  Форсайт (3)
  РЖД-Технологии (3)
  Другие (24)

  Unlimited Production (Анлимитед Продакшен, eXpress) (5)
  Солар (ранее Ростелеком-Солар) (4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (2)
  Наносемантика (Nanosemantics Lab) (1)
  Оператор Газпром ИД (ГИД) (1)
  Другие (11)

  Форсайт (2)
  Актив (Актив-софт) (1)
  Наносемантика (Nanosemantics Lab) (1)
  РТК ИТ Плюс (1)
  Сбербанк-Технологии (СберТех) (1)
  Другие (1)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2022 год
2023 год
2024 год
Текущий год

  Солар (ранее Ростелеком-Солар) (2, 49)
  Microsoft (41, 47)
  Oracle (49, 26)
  Hyperledger (Open Ledger Project) (1, 23)
  IBM (33, 18)
  Другие (624, 314)

  Солар (ранее Ростелеком-Солар) (1, 11)
  Форсайт (1, 3)
  Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
  Сбербанк (1, 2)
  Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
  Другие (9, 9)

  Солар (ранее Ростелеком-Солар) (1, 6)
  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
  Мобильные ТелеСистемы (МТС) (1, 4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
  РЖД-Технологии (1, 3)
  Другие (15, 25)

  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 5)
  Солар (ранее Ростелеком-Солар) (1, 4)
  Мобильные ТелеСистемы (МТС) (2, 3)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
  Оператор Газпром ИД (ГИД) (1, 1)
  Другие (12, 12)

  Форсайт (1, 2)
  Наносемантика (Nanosemantics Lab) (1, 1)
  Сбербанк-Технологии (СберТех) (1, 1)
  Актив (Актив-софт) (1, 1)
  РТК ИТ Плюс (1, 1)
  Другие (0, 0)

Распределение систем по количеству проектов, не включая партнерские решения

За всю историю
2022 год
2023 год
2024 год
Текущий год

  Solar appScreener (ранее Solar inCode) - 49
  Hyperledger Fabric - 23
  Windows Azure - 20
  FIS Platform - 15
  Форсайт. Мобильная платформа (ранее HyperHive) - 14
  Другие 334

  Solar appScreener (ранее Solar inCode) - 11
  Форсайт. Мобильная платформа (ранее HyperHive) - 3
  BSS Digital2Go - 3
  Cloud ML Space - 2
  Tarantool Data Grid - 1
  Другие 8

  Solar appScreener (ранее Solar inCode) - 6
  EXpress Защищенный корпоративный мессенджер - 6
  МТС Exolve - 4
  Форсайт. Мобильная платформа (ранее HyperHive) - 3
  РЖД и Робин: Облачная фабрика программных роботов - 3
  Другие 15

  EXpress Защищенный корпоративный мессенджер - 5
  Solar appScreener (ранее Solar inCode) - 4
  МТС Exolve - 2
  Наносемантика: DialogOS (Dialog Operating System) - 1
  ФинПлатформа Т1 - 1
  Другие 11

  Форсайт. Мобильная платформа (ранее HyperHive) - 2
  Наносемантика: DialogOS (Dialog Operating System) - 1
  СберТех: GigaIDE - 1
  Guardant SLK - 1
  РТК ИТ Плюс: Акола Конструктор для создания порталов и приложений - 1
  Другие 0