Альтернатива
Не стоит сравнивать этот web-фреймворк и платформу 1С - это разные решения. Фреймворк также направлен на разработку бизнес приложений и также значительно экономит время, при сравнении с затратами создания таких приложений с нуля, но, разумеется, он в общем случае не может заменить платформу 1С.
Идея
Приложения для бизнеса (CRM, PM, системы учета и т.п.) имеют похожую структуру, а при их разработке приходится выполнять множество однотипных задач (работа с СУБД, разработка интерфеса и т.п.).
Фреймворк разрабатывается для того, чтобы избавить разработчика от рутины, позволить заниматься реализацией только бизнес логики и тем самым ускорить и упростить процесс создания бизнес ПО.
Фреймворк берет на себя всю рутину web-разработки (никакой верстки, роутинга, работы с СУБД и т.п.), при этом не ограничивает в методах и подходах к написанию кода.
Демо
Общее впечатление об интерфейсе можно сложить посмотрев на скриншоты или вживую - Таск менеджер
Основа
Сервер использует koa в качестве http сервера и ORM Sequelize для работы с СУБД. Основной используемой базой данных является MySQL.
Интерфейс строится на React, используя стилизацию material-kit-react компонентов material-ui.
С чем придется иметь дело
Консоль
Так уж сложилось - современная web-разработка тесно связана с использованием командной строки. Бояться не стоит, в необходимый минимум входит довольно ограниченный набор команд.
Javascript.
Единый язык на клиенте и сервере (Node.js). Современный язык - с классами, наследованием, ожиданием асинхронных операций.
Клиент-серверная архитектура
Две части кода - серверная и клиентская, общение через http.
СУБД
MySQL в общем случае, SQLite для совсем скромных решений. Для простых приложений прямые SQL запросы не нужны - встроенная ORM поможет получать все необходимые данные.
Для чего и для кого
Фреймворк позволяет относительно быстро разрабатывать несложные бизнес приложения. Позволяет и сложные - просто уже не быстро.
Будет интересен тем, кто интересуется web разработкой.
В архитектуру заложена модульность: разработанное решение сразу является модулем - с небольшими усилиями его можно сделать доступным для общественности. С другой стороны - можно использовать стороннее решение и модифицировать его - как структуру так и формы, не изменяя его код (если аккуратно все делать - изменения не придется вносить заново при обновлении стороннего решения).
В процессе решения различных задач на фреймворке было разработано порядка 10 разных модулей. Все эти модули доступны к использованию (документация пока есть только на три, но я буду дополнять ее по мере возможности).
Фреймворк распространяется бесплатно. Код модулей открыт.
На сколько фреймворк готов к работе в боевых условиях.
Эксплуатация решений на фреймворке началась в марте текущего года. На текущий момент реализовано 4 сложных проекта, в том числе две учетные системы. Все работают в проде.
Документация
Фреймворк достаточно полно документирован, документация доступна по ссылке https://docs.katejs.ru/ . Рекомендую читать первые три раздела подряд, а далее по потребности.
С чего начать
Для работы фреймворка потребуется
Все элементы нужно скачать, установить.
Для примера, опишу шаги для запуска демо приложения, разработка которого описывается в документации в разделе Руководство.
1. Создадим папку с приложением. Пусть это будет `C:\projects\katejs-demo`.
2. Откроем консоль - Командную строку, зайдем в папку проекта
C:\>cd c:\projects\katejs-demo
c:\projects\katejs-demo>
3. Получим код приложения из git репозитория (в конце точка, чтоб код распаковался в текущую папку)
c:\projects\katejs-demo>git clone https://github.com/romannep/katejs-tutorial.git .
Cloning into '.'...
remote: Enumerating objects: 228, done.
remote: Counting objects: 100% (228/228), done.
Receiving objects: 100% (228/228), 651.23 KiB | 0 bytes/s, done. (210/228)
Resolving deltas: 100% (134/134), done.0)R
remote: Compressing objects: 100% (110/110), done.
remote: Total 228 (delta 134), reused 203 (delta 109), pack-reused 0
c:\projects\katejs-demo>
4. Установим зависимости (займет некоторое время)
c:\projects\katejs-demo>npm install
5. Создадим базу данных test в MySQL (можно использовать идущий в комплекте MySQL Workbench)
6. Отредактируем файл `env.local.json` - нужно указать данные для подключения к СУБД и название базы данных
{
"database": {
"host": "127.0.0.1",
"database": "test",
"username": "root",
"password": ""
},
"http": {
"port": 2002
},
"apiUrl": "http://localhost:2002/api"
}
7. Синхронизируем структуру БД
c:\projects\katejs-demo>npm run dev-dbsync
8. Запустим сервер
c:\projects\katejs-demo>npm run dev-server
9. Запустим клиентское приложение (нужна новая консоль)
C:\>cd c:\projects\katejs-demo
c:\projects\katejs-demo>npm run dev-client
10. Оценим результат
Мы получили приложение для учета домашних финансов с возможностью создания доступа разного уровня для членов семьи (Без пользователей контроля доступа нет. Перед созданием пользователя нужно создать роль с полными правами, назначить ее пользователю и перезапустить сервер).
Вопросы
Отвечу на вопросы в комментариях. На предметные вопросы по работе с фреймворком могу ответить на форуме (киньте в личку ссылку на топик с вопросом).