CabloyJS — это полный стек фреймворк на Node.js с встроенным движком рабочих процессов, предназначенный для создания низко-кодовых приложений для разработчиков. Он реализует концепцию "разработка один раз, запуск везде", позволяющую одновременно создавать как B-конечные системы управления, так и C-конечные приложения. Одним набором кода можно обеспечивать работу как на ПК, так и на мобильных устройствах, причём мобильная версия имеет близкий к нативному опыт использования.
Каждое встроенное свойство CabloyJS тщательно откалибровано, чтобы обеспечить плавный переход от "коробочного решения" до "гибкой настройки". Включает в себя такие компоненты, как система ролей, аутентификация пользователя, права доступа меню, данные, формы, валидация форм, движок рабочих процессов, словарь, панели мониторинга, онлайн-推送, 页面主题,多语言支持,CMS引擎,微信接口和钉钉接口。
Cabloy5.0 использует TypeScript для глубинной рефакторизации всего стека, подробнее см.:
Backend | Frontend | |
---|---|---|
Old | js, egg2.0, mysql | js, vue2, framework7 |
New | ts, egg3.0, многоплатформенная база данных (поддерживает mysql, postgresql) | ts, vue3, quasar |
Сцена | Технологический стек |
---|---|
Frontend | vue2 + framework7 |
Backend | koa2 + egg2 |
База данных | mysql |
Распределённые технологии | redis, bullmq, websocket |
Редактирование Markdown | Prosemirror |
CabloyJS предлагает множество онлайн демонстраций:
Поэтому настоятельно рекомендуется посетить: онлайн демо.
Для добавления в официальную группу общения CabloyJS свяжитесь со мной через личное сообщение WeChat, указав: "Добавить в группу"
Если вы хотите использовать CabloyJS стек сразу же после установки, начните с изучения следующих руководств, чтобы получить первое представление о том, что значит "вынуть из коробки" и "гибкая настройка":
Все приложения, которые можно написать на JavaScript, будут когда-нибудь писаться на JavaScript | Закон Атвуда
На данный момент большинство фреймворков, связанных с NodeJS, рассматривают его как уровень инструментов, агрегации, промежуточного уровня или прокси, но мало кто работает над бизнес-логикой, считая её областью Java. Такой подход противоречит закону Атвуда.
Если вы хотите испытать другой опыт разработки полного стека NodeJS, попробуйте использовать открытый и полностью функциональный фреймворк CabloyJS. Чтобы повысить эффективность и качество разработки на уровне бизнес-логики, CabloyJS предоставляет множество полезных инструментов и компонентов как для фронта, так и для бэка.
В области разработки на NodeJS существуют несколько проблем на текущий момент (январь 2022 года):
Многие современные системы управления имеют хороший дизайн для персональных компьютеров, но мобильная версия часто является недостаточной и неудобной.
Кроме того, большинство "шаблонов административных систем" являются просто шаблонами кода. При использовании этих шаблонов для конкретных проектов, изменения становятся трудными, поскольку они затрудняют дальнейшие обновления и оптимизацию шаблона.
Хотя большинство фреймворков легко поддерживают CRUD, это не должно быть главным преимуществом NodeJS. Для глубокой работы в бизнес-логике, движок рабочих процессов является ключевым компонентом.
Многие бизнес-формы требуют более сложного дизайна, чем простое добавление или удаление полей. Большинство платформ низко-кодового программирования не предоставляют достаточных инструментов для такого уровня кастомизации.
Основываясь на вышеупомянутых проблемах, CabloyJS предлагает четыре ключевых функциональных и четыре ключевых архитектурных преимущества:
CabloyJS предлагает уникальный механизм адаптивного дизайна: одна и та же программа может работать на мобильных устройствах с близким к нативному опытом, а также на ПК с аналогичным уровнем удобства.
Просмотрите примеры на ПК и мобильных устройствах: https://test.cabloy.com/ , чтобы прочувствовать эту уникальную возможность.
Один раз определите JSON Schema, и она будет автоматически применяться для рендеринга форм на фронте и валидации данных на бэке.
CabloyJS использует ProseMirror для создания редактора Markdown, который сочетает в себе удобство использования и гибкость. Обычные пользователи могут использовать его без знаний Markdown, а профессионалы получают мощные возможности для быстрого ввода.
CabloyJS использует гибкость JavaScript и удобство JSON для создания движка рабочих процессов, который проще и легче в использовании, чем Activiti в мире Java.
Как платформа низко-кодового программирования, CabloyJS стремится объединить "готовое к использованию" и "гибкую настройку" в одном продукте. Это достигается благодаря модульной системе разработки и изоляции модулей. Для удовлетворения требований к разработке крупных бизнес-систем, CabloyJS использует "модульное мышление" для планирования архитектуры системы, организуя передние компоненты и логику серверной части в единую "ビジネскую модуль", связанную с конкретной бизнес-функцией (например, заявка на командировку). Это способствует концентрации и повторному использованию бизнес-функций, а также позволяет эффективно распределять задачи между членами команды по бизнес-функциям.
Кроме того, все элементы внутри бизнес-модуля, такие как страницы, данные, логика, маршруты, конфигурации и прочее, имеют изолированное пространство имён, что помогает избежать проблем с переменными и конфликтами между модулями. Другими словами, когда вы называете ресурс в своём бизнес-модуле, вам не стоит беспокоиться о том, существует ли ресурс с таким же названием в других бизнес-модулях, что снижает нагрузку на ваш мозг.
EggJS ориентирован на роль фреймворка для фреймворков, а backend CabloyJS основан на EggJS и использует механизм "настраиваемого Loader'а" для расширения и создания новых возможностей, адаптированных к бизнес-сценариям.
Например, существующий процесс модели "Worker + Agent" EggJS очень удобен для работы на одном компьютере. Однако при работе с многими машинами в кластере, особенно при использовании кластера Docker, "агентский процесс" становится малоэффективным. Более того, если начинать разработку с использованием "агентского процесса", переход к распределённой среде будет затруднителен. Поэтому backend CabloyJS использует Redis, чтобы начать проектирование нативной распределённой архитектуры уже на уровне фреймворка, и это привело к созданию целой серии распределённых компонентов разработки, таких как Broadcast, Queue, Schedule, Startup, что делает возможным начало работы с распределённой системой сразу после запуска проекта. Таким образом, когда система начинает расти, можно легко масштабировать её до кластера, см.: Broadcast, Queue, Schedule, Startup.
CabloyJS использует концепцию "множества экземпляров" для поддержки разработки SaaS-систем с множеством доменов и арендаторов. Нужно запустить всего один сервис backend, чтобы поддерживать работу нескольких экземпляров одновременно. Экземпляры используют общую структуру таблиц данных, но генерируемый во время выполнения контент является изолированным.
Сценарий | Front-end | Back-end |
---|---|---|
ПК: Web | Front-end CabloyJS | Back-end CabloyJS |
ПК: Desktop | Front-end CabloyJS + Electron | Back-end CabloyJS |
Мобильное устройство: iOS | Front-end CabloyJS + Cordova | Back-end CabloyJS |
Мобильное устройство: Android | Front-end CabloyJS + Cordova | Back-end CabloyJS |
Учетная запись WeChat | Front-end CabloyJS + API WeChat | Back-end CabloyJS |
WeChat Enterprise | Front-end CabloyJS + API WeChat Enterprise | Back-end CabloyJS |
DingTalk | Front-end CabloyJS + API DingTalk | Back-end CabloyJS |
Slack | Front-end CabloyJS + API Slack | Back-end CabloyJS |
Mini-Programs: WeChat, Alipay и т.д. | Uni-app + Front-end SDK CabloyJS | Back-end CabloyJS |
CabloyJS был запущен в разработку в 2016 году и прошел два этапа разработки:
Основное внимание EggBornJS уделяет модульной системе и изоляции модулей, благодаря чему реализуется полноценный стековый фреймворк для разработки.
Например, модуль egg-born-front является основным модулем front-end фреймворка, модуль egg-born-backend — основным модулем back-end фреймворка, а модуль egg-born — командной строкой для создания скелета проекта.
Именно поэтому все бизнес-модули имеют префикс названия egg-born-module-
EggBornJS представляет собой базовый стековый фреймворк для разработки, который может поддерживать быстрое развитие бизнеса, но для этого требуется учесть множество связанных с бизнесом характеристик, таких как движок workflow, управление пользователями, ролями, правами доступа, меню, параметрами, проверкой формы, механизмом входа и т.д. Особенно важно это в случае разделения front-end и back-end.
CabloyJS на основе EggBornJS предоставляет набор основных бизнес-модулей, которые обеспечивают ряд характеристик поддержки бизнеса, объединяет эти характеристики в единое целое, создавая гибкий и полезный надстрой, который поддерживает конкретные процессы разработки бизнеса.
Теперь, благодаря EggBornJS, кроме компонентов, могут быть переиспользованы и бизнес-модули.
Благодаря CabloyJS, вы можете быстро разрабатывать различные бизнес-приложения.
Все приложения, которые можно написать на JavaScript, будут написаны на JavaScript | Закон Atwood
Уверены, что глубокие исследователи JavaScript будут вдохновлены этой цитатой и вместе будут работать над улучшением экосистемы JavaScript, строя более процветающую экосистему приложений.
CabloyJS является попыткой следовать за этим законом. Приглашаем вас присоединиться к экосистеме CabloyJS, чтобы вместе способствовать процветанию JavaScript и его применению.
Происхождение этого имени довольно просто, потому что есть Egg (backend framework), стало быть, есть EggBorn. Есть анимационный фильм "Приключения Чебурашки", где главный герой зовется "Яйцеголовый". Я люблю этот фильм (неудачно выдал свой возраст 😅).
Cabloy происходит от заклинания из мира Smurfs, правильно произнеси Cabloy, и ты получишь волшебный эффект. Также, CabloyJS — это волшебство химии, основанное на сочетании модулей и биохимических реакций, позволяющее достичь любого желаемого результата.
Пожалуйста, добавьте мой личный WeChat, чтобы связаться со мной и присоединиться к группе, укажите: "Присоединиться"
MIT, бесплатное использование для коммерческих целей
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )