Перейти к основному содержимому

О проекте и решении

Разработка приложения на базе Атомкод связана с понятиями проект и решение.

Проект

Проект — папка с набором файлов, необходимых для разработки приложения или области функциональности приложения на базе Атомкод.

Разрабатываемое приложение может включать один и более проектов, созданных на базе одной версии Атомкод.

Вы самостоятельно принимаете решение о количестве создаваемых проектов. При проектировании приложения рекомендуется руководствоваться следующими соображениями:

  • чем большее количество функций приложение должно выполнять, тем больше оснований разрабатывать это приложение на базе множества проектов;
  • управление проектом с меньшим набором функций требует меньших трудозатрат и проще с точки зрения отладки;
  • проект с меньшим набором функций можно в дальнейшем использовать как компонент других разрабатываемых приложений.

В Атомкод различают следующие типы проектов:

  • Пользовательский: проект, который вы разрабатываете согласно бизнес-требованиям к приложению.

    DevTools содержит шаблон проекта с набором файлов и папок. Вы создаете проект на основе шаблона или путем импорта и модификации импортированного проекта.

    Пользовательский проект, который использует файлы других проектов, называется зависимым. Зависимый проект может использовать следующие файлы:

    • *.mdmodel;
    • *.mddict;
    • *.mdfunctions;
    • *.css;
    • файлы из папки static.
  • Системный: проект, который поставляется в составе дистрибутива Атомкод. В списке проектов отображается как Main.

    Системный проект запрещено удалять.

    Системный проект содержит следующие файлы, которые используются пользовательскими проектами:

    • в папке containers находятся следующие файлы описания системных экранных форм:

      • login.mdcontainer: отображает пользовательскую форму входа в приложение. Управление отображением пользовательской формы входа или формы входа по умолчанию производится в консоли администрирования AdminTools.
      • lockout.mdcontainer: отображает информацию о блокировке пользователя.
      • error.mdcontainer: отображает информацию об ошибке.
      • errorPage.mdcontainer: отображает ошибку HTTP 404.
      • changePassword.mdcontainer: отображает форму смены пароля.
      • alert.mdcontainer: отображается при вызове метода Alert() библиотеки FrontendCore.
      • AccessDenied.mdcontainer: отображает информацию о запрете доступа к странице приложения.
      • selectProvider.mdcontainer: отображается до момента отображения login.mdcontainer для выбора поставщика политик авторизации — Active Directory или локальный.
      • waiting.mdcontainer: отображает индикатор загрузки после отправки пользователем запроса.
      • masterPage.mdcontainer: описывает структуру экранной формы, отображаемой при открытии любого приложения на базе Атомкод. В левой части экранной формы masterPage отображается меню.
      • mainPage.mdcontainer: отображает стартовую страницу https://<Atomcode_instance_URL>/demo.
      • UserProfile.mdcontainer: отображает пример страницы с информацией о пользователе.
    • в папке containers\fragments находятся следующие файлы описания фрагментов экранных форм:

      • ChangePasswordCustom.mdcontainer: отображает пример страницы, используемый в UserProfile.mdcontainer.
      • FileExplorer.mdcontainer: отображает проводник файлов.
      • FilePreview.mdcontainer: отображает содержимое файла, выбранного в проводнике файлов.
      • TechSupport.mdcontainer: отображает форму обращения в Службу технической поддержки.
    • в папке dictionaries находится файл index.mddict, содержащий словари Platform, Menu и TechSupport, которые используются для отображения локализованных строк на перечисленных экранных формах.

    • в папке static находятся значки и изображения, которые используются на перечисленных экранных формах.

    • в файле Static.asset перечислены значки и изображения, находящиеся в папке static, с присвоенными псевдонимами.

    • в папке styles находится файл Style.mdtheme, который описывает основную тему приложения, цветовые палитры, отступы, кратность отступов, размер шрифта. Также в этой папке находится файл CSS.css, описывающий каскадные таблицы стилей системного проекта.

    • в папке utils находится файл validations.mdvalidations, который описывает правила валидации данных на перечисленных экранных формах.

    Пользовательские проекты также используют локали, указанные в файле Main.mdproj.

  • Служебный. В списке проектов отображается как System. Служебный проект запрещено изменять и удалять.

    Артефакты служебного проекта используются для настройки доступа к хранилищу данных Атомкод.

Все файлы проекта хранятся в файловой системе бэкенд-сервиса DevTools. Также файлы проекта могут быть сохранены в репозитории системы управления версиями.

В процессе разработки приложения к проекту применимы следующие операции:

  • сборка — проверка файлов проекта на соответствие определенным правилам и формирование набора файлов на основе исходных файлов;
  • публикация — доставка определенных файлов на сервер Атомкод для последующего запуска разработанного проекта.

Решение

Решение — группа проектов, содержащая один или более пользовательских проектов, один системный проект и один служебный проект, которые хранятся в одной ветви репозитория системы управления версиями. Решение имеет имя и URL-адрес, начало которого совпадает с URL-адресом экземпляра Атомкод. Решения в Атомкод позволяют изолировать проекты или группы проектов друг от друга.

В одном экземпляре Атомкод можно создавать несколько решений. Плитки с именами решений отображаются на странице https://<Atomcode_instance_URL>.

Параметры решения хранятся в скрытом файле.