Бұл жазба автоматты түрде аударылған. Бастапқы тіл: Орысша
Төмен код платформалар графикалық қолданушылардың көмегімен қосымшалар жасауға мүмкіндік береді кодты жазудың орнына интерфейстер (GUI). Олар көбірек назар аударады, себебі олар бизнес пайдаланушыларға білімсіз қосымшаларды тез құруға көмектеседі бағдарламалау.
Мыңдаған компаниялар low-code платформаларын пайдаланады бизнес үшін маңызды шешімдерді әзірлеу. Қазірдің өзінде жұмыс істеп үлгергендердің бәрі осындай құралдармен олардың сенімділігі мен ыңғайлылығын бағалай алды. Алайда, қашан бизнес белгілі бір жетілу деңгейіне жетеді, оның экожүйесі мүмкін негізгі low-code платформалар стандартты емес тәсілдерді талап етеді қамтамасыз ете алмайды.
Төмен код ауқымды үшін тамаша әзірлемелер, бірақ әдістерді қарызға алу қажет болатын жағдайлар бар дәстүрлі бағдарламалау. Бұл сапаны айтарлықтай жақсартуға мүмкіндік береді тапсырмалар санын азайту және команданың жұмысын жеңілдету әзірлеушілер, осылайша жоба шығындарын азайтады.
Бұл мақалада біз шешім қабылдау тәжірибемізбен бөлісеміз стандартты емес пайдалану арқылы low-code платформасында күрделі әзірлеу міндеттері тәсілдер.
Клиент
Біздің сарапшылар бірнеше көмекке шақырылды ірі банк үшін CRM жүйесін дамытатын командалар төмен код платформалары. Топ 50 ден астам адамнан түрлі рөлдерден тұрды: әр түрлі деңгейдегі әзірлеушілер, QA мамандары, бизнес-талдаушылар және инженерлер. Банктің қызметі көптеген бағыттарды қамтиды, соның ішінде бөлшек сауда несиелеу, заңды тұлғаларды несиелеу және ипотекалық несиелеу және әрқайсысы команда өз бағыты үшін функционалдылықпен айналысты. Шығарылымдар өтті тәуелсіз, бірақ барлық командалар бір әмбебап қосымшаны жасады.
Команданың негізгі қиындықтары шығарылымдардың сапасы және оларды орнатудың күрделілігі.
Қолданба сапасын бағалау
Көптеген low-code платформаларында кіріктірілген қолданба сапасын қамтамасыз ету құралдары. Бұл бақылау тақталары қосымшаның жалпы жағдайы, әзірленген функционалдылықты көру мүмкіндігі сынақтар арқылы филиалдар мен функционалдылықты бақылау.
Өкінішке орай, бірнеше топ жұмыс істегенде бір қолданба арқылы бір команда әзірлеген функционалдылық жасырын болуы мүмкін басқа команданың жұмысына әсер ету.
Толық кросс-шолу және регрессиялық тестілеу әрдайым мүмкін емес, сондықтан логикалық шешім болды дәстүрлі бағдарламалаудың ең жақсы тәжірибелерін қолдану. Даму әлемі Java қолданбалардың сапасын бақылаудың жетілген тәжірибесін ұсынады 20 жылдан астам уақыт бойы дамып келеді. Atomazing мамандары шешім қабылдады олардың кейбірін low-code платформасына бейімдеу:
- Модульдік Java тестілеу
- Бақылау құрастыру сапасы
- Кодты қайта қарау сыртқы құралдарды қолдану
1. Модульдік тестілеу
Негізгі мәселе болмау болды жиынтықтың жұмысын тексере алатын күрделі интеграциялық тесттер сыртқы жүйелермен өзара әрекеттесуді қоспағанда, бизнес ережелері жиынтықта, қол жетімді болмауы мүмкін. Мұндай функционалдылық көбінесе жоқ low-code платформаларында, бірақ Java туралы терең білім бұл мәселені шешті.
Java модульдік тестілеу құралдарының көмегімен біздің команда қажетті бірлік сынақтары мен интеграциялық сынақтарды тез жазды, бұл құрылымдарды тексеруге және проблемалық аймақтарды анықтауға мүмкіндік берді. Жинақ Java құралдарының кеңдігі соншалық, ол барлығына тесттер жасауға мүмкіндік береді қажетті бизнес сценарийлері.
2. Құрастыру сапасын бақылау
Біздің мамандар автоматтандыруға ұмтылды құрастырудан кейінгі ықтимал шығарылымның сапасын бақылау. Команда жаңаларын қосты даму ортасындағы ескертулер мен шектеулер. Біз pipeline да кезең құрдық, ол құрылымның белгіленген критерийлерге сәйкестігін тексерді:
- Болмауы әзірлеуші түсіндірместен ескертулер.
- Болмауы орта және жоғары деңгейдегі ескертулер.
- Болмауы өнімділікке қатысты ескертулер.
- Қамту жаңа мүмкіндіктердің 85% - дан астамын сынау.
Егер құрастыру критерийлерге сәйкес келмесе, pipeline оны автоматты түрде қабылдамады.
3. Кодты қайта қарау
Кодты қайта қарауға арналған кіріктірілген құралдар low-code платформалары стандартты жобаларға жарамды, бірақ теңшелген қолданбалар олар жиі шектеледі. Біз құралдарды біріктірдік дәстүрлі бағдарламалаудан.
Барлық low-code элементтері үшін ыңғайлы ревьюерлерге түсініктеме қалдыруға мүмкіндік беретін өзгерістердің мәтіндік көріністері нақты жолдарға. Бұл ревью процесін тездетіп, жақсартты.
Құрастыру құбырын автоматтандыру
Low-code платформаларының көпшілігі мыналарды қолдайды ci / CD процестері, бірақ олардың икемділігі жиі жеткіліксіз. Мысалы, шығарылым мүмкін жаңа қосымшаны ғана емес, сонымен қатар дерекқордағы күрделі өзгерістерді де қосыңыз деректер көші-қоны және қоршаған орта айнымалыларын теңшеуге арналған нұсқаулар.
Atomazing командасы pipeline-ді Java тәсілдерін қолдана отырып бейімдеді. Конфигурация файлының негізінде құрастыру сервері қажетті артефактілерді түсірді, SQL сценарийлерін орындады және көші-қон жүргізді. Бұл тәсіл қолды барынша азайтты операциялар және қателер саны.
Қорытынды
Low-code платформалары кең бизнес мүмкіндіктері. Дегенмен, кірістірілген мүмкіндіктер жеткіліксіз болса, Әрқашан дәстүрлі бағдарламалаудың ең жақсы тәжірибелерін біріктіруге болады ең жақсы нәтижеге қол жеткізіңіз.
Low-code платформы позволяют создавать приложения с помощью графических пользовательских интерфейсов (GUI) вместо написания кода. Они привлекают всё больше внимания, так как помогают бизнес-пользователям быстро создавать приложения без знаний программирования.
Тысячи компаний используют платформы low-code для разработки критически важных решений для бизнеса. Все, кто уже успел поработать с такими инструментами, смогли оценить их надежность и удобство. Однако, когда бизнес достигает определенного уровня зрелости, его экосистема может потребовать нестандартных подходов, которые базовые low-code платформы обеспечить не в состоянии.
Low-code отлично подходит для крупномасштабной разработки, но бывают ситуации, когда необходимо заимствовать методы из традиционного программирования. Это позволяет значительно улучшить качество решений, уменьшить количество рутинных задачи и облегчить работу команде разработчиков, сократив таким образом расходы на проекте.
В этой статье мы делимся своим опытом решения сложных задач разработки на платформе low-code с использованием нестандартных подходов.
Клиент
Наших экспертов пригласили помочь нескольким командам, разрабатывающим CRM систему для крупного банка с использованием платформы low-code. Группа состояла из более чем 50 человек различных ролей: разработчиков разного уровня, QA специалистов, бизнес-аналитиков и инженеров. Деятельность банка охватывает множество направлений, включая розничное кредитование, кредитование юридических лиц и ипотечное кредитование, и каждая команда занималась функционалом для своего направления. Релизы проходили независимо, но все команды создавали единое универсальное приложение.
Основные трудности команды были связаны с качеством релизов и сложностью их установки.
Оценка качества приложения
Многие платформы low-code имеют встроенные инструменты для обеспечения качества приложений. Это дашборды, отображающие общее состояние приложения, возможности просмотра разработанного функционала в ветках и отслеживания функционала через тесты.
К сожалению, когда несколько групп работают над одним приложением, функционал, разработанный одной командой, может неявно влиять на работу другой команды.
Проведение полноценного кросс-обзора и регрессионного тестирования не всегда возможно, поэтому логичным решением стало применение лучших практик из традиционного программирования. Мир разработки на Java предлагает зрелые практики контроля качества приложений, которые развиваются уже более 20 лет. Специалисты Atomazing решили адаптировать некоторые из них для платформы low-code:
- Модульное тестирование на Java
- Контроль качества сборки
- Код-ревью с использованием внешних инструментов
1. Модульное тестирование
Основная проблема заключалась в отсутствии сложных интеграционных тестов, которые могли бы проверять работу множества бизнес-правил в совокупности, исключая взаимодействие с внешними системами, которые могут быть недоступны. Такая функциональность часто отсутствует в платформах low-code, но глубокие знания Java позволили решить эту проблему.
С помощью инструментов модульного тестирования Java наша команда быстро написала необходимые юнит-тесты и интеграционные тесты, которые позволяли проверять сборки и выявлять проблемные места. Набор инструментов Java настолько обширен, что позволяет создавать тесты для всех нужных бизнес-сценариев.
2. Контроль качества сборки
Наши специалисты стремились автоматизировать контроль качества потенциального релиза после сборки. Команда добавила новые предупреждения и ограничения в среду разработки. Мы создали этап в pipeline, который проверял соответствие сборки установленным критериям:
- Отсутствие предупреждений без объяснения разработчика.
- Отсутствие предупреждений среднего и высокого уровня.
- Отсутствие предупреждений, связанных с производительностью.
- Покрытие тестами более 85% новых функций.
Если сборка не соответствовала критериям, pipeline автоматически её отклонял.
3. Код-ревью
Встроенные инструменты для код-ревью на платформах low-code подходят для стандартных проектов, однако для кастомизированных приложений они часто ограничены. Мы интегрировали инструменты из традиционного программирования.
Для всех элементов low-code были созданы удобные текстовые представления изменений, позволяющие ревьюерам оставлять комментарии к конкретным строкам. Это ускорило и улучшило процесс ревью.
Автоматизация сборочного pipeline
Большинство платформ low-code поддерживают процессы CI/CD, но их гибкости часто недостаточно. Например, релиз может включать не только новое приложение, но и изменения в базе данных, сложную миграцию данных и инструкции для настройки переменных среды.
Команда Atomazing адаптировала pipeline, используя подходы Java. На основе конфигурационного файла сервер сборки выгружал необходимые артефакты, выполнял SQL-скрипты и проводил миграции. Этот подход минимизировал ручные операции и количество ошибок.
Заключение
Платформы low-code предоставляют широкие возможности для бизнеса. Однако если встроенных функций недостаточно, всегда можно интегрировать лучшие практики традиционного программирования, чтобы достичь наилучшего результатов.