Программная платформа для разработки приложений. Что это, и для чего она нужна?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Платформа это новый этап в эволюции разработки. Беря на себя всю рутинную часть - предоставляет разработчику простор для творчества и созидания. Кратно уменьшает сроки разработки и риски проекта.

Darion Software Platform
Darion Software Platform

Так что же это за такой зверь невиданный и как он вообще работает? Постараюсь ответить на эти вопросы на примере нашей разработки платформы.

Давайте посмотрим, что такое программная платформа.

Изначально скажу что платформа - это в первую очередь набор четких правил, по которым происходит разработка и которые необходимо неукоснительно соблюдать. Все эти правила можно организовать и при обычной разработке, но людей достаточно сложно заставить четко соблюдать ВСЕ правила. В нашем случае все правила берет на себя инструментарий платформы и программистам уже хочешь-не хочешь приходится их соблюдать :)

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

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

Визуальные редакторы платформы DarionCode
Визуальные редакторы платформы DarionCode

Единый язык. Редакторы, с генераторами кода создают единый язык разработки продукта (правила, порядок, расположение), что позволяет всем разработчикам легко понимать друг друга и четко определять свое место и задачи в проекте. Данный подход в полной мере реализует основные принципы DDD (Domain-Driven Design): единый язык, стратегическое и тактическое моделирование. Что в свою очередь кратно уменьшает время разработки.

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

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

Вхождение в проект. Так, как используются визуальные редакторы (вся структура проекта и описание находится в одном месте), то время вхождения новых разработчиков очень невелико. Всегда можно быстро определить, что откуда и куда в проекте. Нет необходимости долго лазить по исходникам и выискивать связи.

Автоматическая постановка задач. Платформа позволяет автоматически ставить задачи разработчикам при проектировании структуры проекта и шаблонов основных методов.

Единая и четка структура проекта. Разработчики логики не могут изменять структуру и архитектуру проекта (генерируется платформой). Структуру меняет только архитектор или ведущий разработчик.

Мультиязычность. Платформа не привязана к какому-то одному языку и ОС. Генераторы кода могут быть созданы под самые различные языки программирования и различные операционные системы.

Добавление собственных редакторов. В платформу можно добавить и собственные редакторы, которые максимально плотно "заточены" под реализуемый проект.

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

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

Платформа и команда разработчиков
Платформа и команда разработчиков

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

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

Тут же вся система работает четко, надежно и красиво. С полным контролем всех частей.

Желающие более подробно ознакомится с возможностями платформы могут это на сайте

softwareplatform.ru

На все вопросы отвечу в телеграме @Darion4455

Источник: https://habr.com/ru/post/683878/


Интересные статьи

Интересные статьи

Как мы обсуждали в прошлый раз, удручающее ожирение сайтов и софта вернуло моду на простые, маленькие проекты. И сейчас происходит своеобразный ренессанс веба 90-х, вплоть до стиля Geocities (такой ...
В данном посте мы расскажем как запустили пилот национальной BugBounty платформы в Казахстане, как из этого родился полноценный международный стартап и почему мы считаем это одной из самых успешных ин...
Привет, Хабр! Завтра начинается международная гибридная конференция Black Hat 2021. Мы, как активный участник и контрибьютор мероприятия проанализировали доклады и подобрали самое интересное. В этом п...
В прошлом году мы дружно перешли на удалёнку и стали экспериментировать и приспосабливаться к новым условиям. Результаты нас порадовали, мы не сбавили частоту релизов, и ...
Вопрос разработки и приготовления плейбуков по реагированию на инциденты сейчас очень активно обсуждается и порождает разное количество подходов, поиск баланса в которых крайне важен....