Каталог решений - Фреймворк для создания бизнес web-приложений

Фреймворк для создания бизнес web-приложений

Фреймворк для создания бизнес web-приложений

В наличии

Для создания систем, решающих узкие бизнес задачи, использовать 1С бывает нецелесообразно. Хочу представить альтернативу — web фреймворк katejs.
Будет интересно также тем, кто интересуется web разработкой на современном javascript.

Категория:

Описание

Альтернатива

Не стоит сравнивать этот 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. GIT
  2. Node.js
  3. MySQL
  4. Редактор кода по вкусу (как вариант VS Code)

Все элементы нужно скачать, установить.

Для примера, опишу шаги для запуска демо приложения, разработка которого описывается в документации в разделе Руководство.

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. Оценим результат

Мы получили приложение для учета домашних финансов с возможностью создания доступа разного уровня для членов семьи (Без пользователей контроля доступа нет. Перед созданием пользователя нужно создать роль с полными правами, назначить ее пользователю и перезапустить сервер).

Вопросы

Отвечу на вопросы в комментариях. На предметные вопросы по работе с фреймворком могу ответить на форуме (киньте в личку ссылку на топик с вопросом).

has been added to your cart:
Оформление заказа