Интегрированная среда разработки приложений

Клиент программного обеспечения Molis

Платформа Apla включает интегрированную среду разработки, которая позволяет создавать взаимодействующие приложения в программном клиенте платформы (Molis), не прибегая к каким-либо другим программным продуктам.

Molis включает в себя редактор контрактов (с собственным языком Simvolio), редактор интерфейса (собственный язык процессора шаблонов Protypo), инструменты для работы с таблицами базы данных, а также настройщик языковых ресурсов, механизм импорта / экспорта приложений и другие полезные функции.

Приложения Apla

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

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

Смарт-контракты

Смарт-контракты - это базовые элементы при реализации алгоритмов в приложениях на платформе Apla. Контракты - это заключительные части кода, которые выполняют следующие функции: (1) получение информации из пользовательского интерфейса или других контрактов (раздел «данные»), (2) анализ правильности данных (раздел «условия») и (3) выполнение необходимых транзакций - записи базы данных («действия »).

Контракты Apla написаны с использованием проприетарного языка сценариев, полного по Тьюрингу, который называется Simvolio. Язык включает необходимый набор функций для создания алгоритмов обработки данных и проведения операций со значениями базы данных. Контракты создаются и изменяются с помощью специализированного редактора в программном клиенте Molis. Операции с данными в блокчейне выполняются текущими (самыми последними) версиями контрактов. Вся история изменений, внесенных в контракты, сохраняется в блокчейне и доступна из программного клиента.

Умные законы

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

Этот набор норм и ограничений кодифицирован в интеллектуальных законах, совокупность которых формирует правовую систему. В отличие от смарт-контрактов, смарт-законы определяются до начала деятельности в экосистеме и могут быть изменены при необходимости на основе консенсуса членов экосистемы. Правила достижения консенсуса устанавливаются соответствующими умными законами.

Пользовательские интерфейсы

Разработчики приложений могут разрабатывать интерфейсы без использования программного клиента Molis и языка шаблонов Protypo, вместо этого работая напрямую через Apla API.

Интегрированная среда разработки программного клиента Molis включает в себя редактор и визуальный дизайнер интерфейсов приложений. Специализированный язык шаблонизатора под названием Protypo используется для описания структуры страниц интерфейса и для обработки данных.

Функциональные возможности языка позволяют извлекать данные из таблиц базы данных и обрабатывать их, создавать программные циклы и условные операторы, создавать элементы форм, многоуровневые меню, а также выполнять контракты и передавать им вводимые пользователем данные. Для отображения данных в виде таблиц и диаграмм в Protypo используются специальные виджеты. Во многих случаях дизайнер визуального интерфейса позволяет создавать страницы интерфейса, не прибегая к исходному коду. И контракты, и страницы интерфейса хранятся в блокчейне, что обеспечивает их защиту от несанкционированного доступа на стороне клиента.

Полная история изменений, внесенных на страницы интерфейса, доступна у разработчика интерфейса программного клиента. Разрешения для создания и редактирования страниц и меню также можно настроить из программного клиента. Пользовательские интерфейсы приложений в Apla по умолчанию оптимизированы для работы на мобильных устройствах. Разработчики приложений могут разрабатывать интерфейсы без использования программного клиента Molis и языка шаблонов Protypo, вместо этого работая напрямую через Apla API.

Редактор языковых ресурсов

Программный клиент Molis использует механизм локализации интерфейса с помощью специальной языковой функции шаблонов Protypo. Эта функция переводит метки в пользовательском интерфейсе с соответствующими значениями таблицы выделенных языковых ресурсов в соответствии с языком, выбранным пользователем. Все переводы пользовательского интерфейса на разные языки хранятся в специальной таблице языковых ресурсов.

Механизм контроля прав доступа

Apla имеет многоуровневую систему управления правами доступа. Права доступа можно настроить для создания и изменения любого элемента приложения: контрактов, таблиц базы данных, страниц и меню. Также можно настроить разрешения на изменение прав доступа.

Права доступа могут предоставляться конкретным членам экосистемы (пользователям сети) или определяться алгоритмами, изложенными в специализированных контрактах - интеллектуальных законах. Кроме того, есть возможность предоставить определенные контракты с исключительными правами на изменение значений в любом количестве отдельных столбцов в таблице базы данных.

По умолчанию всеми правами в экосистеме Apla управляет ее основатель. Однако после создания специальных интеллектуальных законов контроль прав доступа может быть передан всем участникам экосистемы или группе таких участников.

Импорт и экспорт приложений

Программный клиент Molis позволяет экспортировать элементы приложения (таблицы, контракты, страницы и языковые ресурсы) в файл, который затем можно импортировать в другую экосистему. Как структуру, так и содержимое таблиц можно экспортировать с помощью функции экспорта таблиц.

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

API

Все функции, доступные в программном клиенте Molis, включая аутентификацию пользователя, получение данных о параметрах экосистемы, обработку ошибок, работу с таблицами базы данных, интерфейсными страницами и контрактами, доступны через REST API Apla. Таким образом, разработчики могут получить доступ ко всем функциям платформы через REST API без использования программного клиента Molis.

Магазин DApp

У Apla есть децентрализованный магазин DApp, где разработчики могут предлагать лицензию на программное обеспечение для своих приложений другим пользователям за плату или бесплатно по своему желанию. Комиссии оплачиваются в токенах APL.

Функционирование DApp Store основано на следующих принципах:

Разнообразие

Разработка приложения инициируется, управляется и выполняется разработчиками Apla, которые имеют разный набор навыков, культур и национальностей (модель краудсорсинга).

Окончательность

Ведение переговоров, торговля, разработка приложений и расчет комиссий выполняются на платформе Apla.

Подотчетность

Разработчики несут полную ответственность за качество разрабатываемых приложений. Apla не выполняет предварительную проверку приложений и не несет ответственности перед пользователями за какие-либо упущения или сбои в работе указанных приложений. Процесс загрузки приложения в DApp Store описан в технической документации Apla.

Узнайте больше и будьте в курсе через наши каналы

Https://www.apla.io
https://www.facebook.com/aplablockchain/
https://twitter.com/@aplablockchain
https://blog.apla.io/
https://github.com/AplaProject/go-apla/