UNISTACK — единый стек
Парадигма разработки автора: unified software stack — единый набор технологий и абстракций для клиента, сервера, БД, сети. Predшественник идеи Metarhia.
Что это
UNISTACK = unified software stack. Все слои приложения построены на одних и тех же примитивах, без лоскутного одеяла из разнородных библиотек.
Принципы
- Один язык на всех узлах — JavaScript на клиенте, сервере, БД (V8 + GlobalStorage).
- Один протокол — JSTP/Metacom прозрачен между всеми участниками.
- Один транспорт — TCP/WebSocket/Unix-сокеты под единым API.
- Один формат данных — JSON5/JSON.
- Одна модель данных — единые типы и схемы в memory, БД, по сети.
Цитата
«Мы хотим поговорить о парадигме разработки UNISTACK, что означает unified software stack, то есть унифицированный стек программного обеспечения.»
Зачем
Классические enterprise-стеки: Java на сервере, JS на клиенте, SQL в БД, XML/JSON по сети, Protobuf в RPC, отдельный язык конфигурации, отдельный шаблонизатор. Это сложно поддерживать, дублируется логика.
UNISTACK: всё на JS, всё через единые абстракции — меньше moves between worlds.
Примеры в UNISTACK
// Wave Server (пример из лекции 2016)
var server = new WaveServer();
server.Start;
// Сервер + wave.js на клиенте — один протокол
В Metarhia сегодня:
- Impress поднимается из одного конфига.
- Metacom — единый канал для RPC, файлов, событий, sync.
- Metaschema описывает типы для API, БД, домена.
- GlobalStorage — JS-нативная БД.
Чем отличается от MEAN/MERN
MEAN/MERN — все на JS, но используются разнородные библиотеки (Express + Mongoose + React + Webpack), каждая со своим API.
UNISTACK — те же библиотеки задизайнены под единую идиому.
Эволюция
- 2010-е — Impress + JSTP.
- 2020-е — Metarhia + Metacom + Metasql.
- Сегодня — local-first как продолжение UNISTACK на клиента.
🎓 Источники
- 🎓 UNISTACK · 2016-03-13
- Цитата: «UNISTACK означает unified software stack, то есть унифицированный стек программного обеспечения.»