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

О проекте

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

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

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

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

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

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

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

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

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

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

    • в папке containers: системные экранные формы:
      • login.mdcontainer: отображает пользовательскую форму входа в приложение. Управление отображением пользовательской формы входа или формы входа по умолчанию производится в консоли администрирования AdminTools.
      • lockout.mdcontainer: отображает информацию о блокировке пользователя.
      • error.mdcontainer: отображает информацию об ошибке.
      • errorPage.mdcontainer: отображает ошибку HTTP 404.
      • changePassword.mdcontainer: отображает форму смены пароля.
      • alert.mdcontainer: отображается при вызове метода Alert() JS-библиотеки FrontendCore.
      • AccessDenied.mdcontainer: отображает информацию о запрете доступа к странице.
      • selectProvider.mdcontainer: отображается до login.mdcontainer для выбора поставщика политик авторизации — Active Directory или локальный.
      • waiting.mdcontainer: отображает индикатор загрузки после отправки пользователем запроса.
      • masterPage.mdcontainer: описывает структуру экранной формы, отображаемой при открытии любого приложения на базе Платформы. masterPage.mdcontainer содержит меню в левой части.
      • mainPage.mdcontainer: отображает стартовую страницу https://<Platform_instance_URL>/demo.
      • UserProfile.mdcontainer: отображает пример страницы с информацией о пользователе.
    • в папке containers\fragments находятся следующие фрагменты экранных форм:
      • SideBar.mdcontainer: отображает меню и используется в masterPage.mdcontainer.
      • menuItem.mdcontainer: описывает пункт меню в SideBar.mdcontainer.
      • Burger.mdcontainer: описывает кнопку открытия меню в мобильной версии приложения. Burger.mdcontainer также может использоваться и в веб-версии приложения.
      • TechSupport.mdcontainer: отображает форму обращения в Службу технической поддержки.
      • ChangePasswordCustom.mdcontainer: отображает пример, используемый в UserProfile.mdcontainer.
    • в папке dictionaries находится файл index.mddict, содержащий словари Platform, Menu и TechSupport, которые используются для отображения локализованных строк на перечисленных экранных формах.
    • в папке static находятся значки и изображения, которые используются на перечисленных экранных формах.
    • в файле Static.asset перечислены значки и изображения, находящиеся в папке static, с присвоенными псевдонимами.
    • в папке styles находится файл Style.mdtheme, который описывает основную тему приложения, цветовые палитры, отступы, кратность отступов, размер шрифта. Также в этой папке находится файл CSS.css, описывающий каскадные таблицы стилей системного проекта.
    • в папке utils находится файл validations.mdvalidations, который описывает правила валидации в перечисленных экранных формах.

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

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

    Пользовательские проекты используют классы модели данных служебного проекта (описанные в models/system.mdmodel) для работы бэкенд-сервисов Платформы. Артефакты служебного проекта используются для запуска хранилища данных Платформы.

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

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

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