Платформы с низким кодом – опасная ставка


Низкий код действительно низкий стресс?

Платформы приложений с низким кодом (LCAP) появились в ответ на сложность и разнообразие современного ландшафта разработки программного обеспечения. Mendix По словам Гартнера, это один из самых выдающихся игроков в этой области, поэтому позвольте мне использовать его в качестве ссылки в этой статье. Аналогичные выводы будут применяться к Outsystems, Appian, Kony, Betty Blocks и многим другим платформам.

Вам также может понравиться:
  Понимать инструменты разработки приложений без кода и с низким кодом

Будучи проданными руководителям предприятий, LCAP первоначально утверждали, что бизнес-пользователи гражданские разработчики) может создавать решения корпоративного уровня. Итак, разработчики сейчас устарели? Ну, через несколько лет Мендикс признается:

Какой поворот! Я думаю, ребята из Mendix поняли, что для чего-то более сложного, чем базовая система CRUD, все еще требуется профессиональный инженер-программист, так же, как для обслуживания вашего автомобиля, помимо накачки шин, обычно требуется профессиональный механик.

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

Отлично подходит для прототипирования

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

Когда вы закончите, вы можете одним щелчком развернуть свое приложение в облаке Mendix и увидеть, как оно работает. Это выглядит просто и работает как шарм, так что этого часто бывает достаточно, чтобы руководитель бизнеса подписал чек.

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

Итак, давайте посмотрим на это с точки зрения разработчика.

(S) низкий код

Любая логика – будь то вычисления или взаимодействие с пользователем – должна быть описана в микропотоке, визуальном представлении кода, как показано выше. Здесь есть несколько вопросов.

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

Второй читабельность, Эти трафареты выглядят красиво, но что за этим стоит Sub_RegistrationValidation? Вы не можете прочитать это, не погружаясь.

В качестве отдыха, Mendix предлагает Действия Java, Это означает, что вы можете вызывать методы Java (с серьезными ограничения для облачного развертывания) из микропотока. Вы можете написать Java-код в Eclipse, что нормально, хотя многие предпочитают IntelliJ – ведущую IDE. Недостатком является отсутствие прозрачность: все точки входа в ваш код находятся в микропотоках, поэтому отладка или отслеживание зависимостей затруднены. Логический поток разбросан между двумя мирами.

Последний бит, который я должен упомянуть, это контроль версий. Хорошая новость в том, что она есть. Плохая новость заключается в том, что это ограниченная часть Subversion. Скажи пока git-потоку.

Нет управления

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

Забудь об этом с Мендиксом. Каркас является проприетарным, поэтому базовый стек – это черный ящик. Все, что вам осталось – это платная поддержка или молитва, которые помогут кому-то в сообществе. Форум ~ 200 вопросов в месяц.

Поставщик Замок

Mendix, вероятно, часто тыкают за это. Они даже положили статья объяснить, как вы не заперты в них. Если вы можете читать за строкой, он говорит:

Вы можете получить свои данные, DDL, ресурсы пользовательского интерфейса и код (микропотоки, магически преобразованные в Java).

Будет ли это запускаться или компилироваться без среды выполнения Mendix и API? Риторический вопрос. Это потребует полной переписывания системы. Вы заблокированы в проприетарной платформе. Вы не являетесь владельцем системы, которую вы создали.

Ограниченная масштабируемость

Маркетинг Mendix нацелен на самые крупные компании, поэтому термин «масштабируемость» пронизывает их маркетинговые материалы. В 2017 году они представили «среду выполнения без сохранения состояния» – это означает, что вся информация о сеансе либо хранится на клиенте, либо сохраняется. Теоретически это означает неограниченную горизонтальную масштабируемость. Звучит круто, но есть подвох – база данных.

База данных является обычным узким местом корпоративного приложения. Итак, что хранит данные за ордой серверов Mendix без состояния? Не удивительно – это старая добрая реляционная база данных. В случае с облаком Mendix это PostgreSQL. Кэширование отсутствует, и DDL, сгенерированный Mendix, сомнителен. Например, я столкнулся с промежуточной таблицей, обычно используемой для моделирования отношений N: M, сгенерированных для отношения 1: N.

Это было бы хорошо, если бы у вас был контроль. Oracle и другие доказали, что RDBMS может работать в масштабе. Вы можете оптимизировать структуру БД, кэшировать данные или даже использовать такие решения, как Citus, для истинной масштабируемости. Но ты не.

Единственный вариант масштабирования БД – масштабирование через реплики только для чтения (например, Amazon RDS), но это не помогает при записи.

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

(Де) Квалифицированный посох

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

Цены, которые кусаются

Последний, но тем не менее важный. лицензия на одно приложение начинается с 1875 долларов в месяц и ограничивается 50 внутренними пользователями с трехлетним обязательством. Корпоративная лицензия с возможностью развертывания локально начинается от 7825 долл. США, или почти 100 тыс. Долл. США. Приличное предприятие с несколькими тысячами пользователей, вероятно, будет платить многомиллионные ежегодные сборы.

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

Почему ЛКАП все еще популярен?

На мой взгляд, ответ разочарование, Управление группами разработчиков в крупных организациях – внешних или внутренних – оказывается слишком сложным. Предварительное планирование бюджета, многочисленные заинтересованные стороны, такие как архитекторы или линейные менеджеры со своей повесткой дня, отсутствие ответственности … Просто слишком сложно подтолкнуть вашу идею к реализации.

Самое смешное в том, что типичная реакция коленного рефлекса нанимает больше разработчиков и, конечно, менеджеров. Излишне говорить, что это делает вещи еще хуже. Я знаю пару банков с более чем 10 000 (!!!) разработчиков, и я знаю, что по крайней мере половина из них делает бесполезную работу. В отчаянии руководители предприятий обращаются к волшебным решениям, решающим все ваши проблемы, таким как LCAP.

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

Какие есть альтернативы?

В настоящее время существует большой выбор инструментов и сред для разработчиков. Например, Spring Framework – это самая популярная технология с открытым исходным кодом для корпоративного программного обеспечения, которая может быть хорошо сочетана с веб-платформами, такими как React или Angular. Инструменты как Весенний инициализр и JHipster сделал это намного проще за последние несколько лет.

Если вам нужны более быстрые результаты и более легкое внедрение, стоит взглянуть на инструменты RAD, такие как Платформа CUBA, Он построен на основе того же Spring Framework, дополняя его средствами визуальной разработки и рынком бесшовно интегрированных надстроек. Вероятно, это будет ближайшая альтернатива для LCAP для разработчиков, все еще предлагая гибкость и удобный процесс разработки.

Таким образом, существует множество вариантов, и окончательный выбор должен зависеть от задачи, а также от навыков и предпочтений вашей команды.

Завершение

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

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

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

Дальнейшее чтение

Low-Code против No-Code: форма, следующая за функцией

5 мифов о низком коде

Адаптация Agile для создания продуктов с низким кодом