Zero coding

Зерокодинг (zero coding от англ. zero — ноль) — подход к созданию различных IT-продуктов с помощью уже готовых шаблонов, инструментов моделирования и графического интерфейса без написания кода. Синонимом является термин ноукодинг (от англ. no code — буквально «программирование без кода»). Близкородственное понятие — лоукодинг (от англ. low — низкий), заключается в минимальном написании кода. Оба этих подхода позволяют существенно удешевить и ускорить разработку IT-продуктов за счет отсутствия самого дорогого, длительного и сложного этапа написания кода.

История зерокодинга

С самого появления программирования как такового возникла идея упрощения и ускорения этого процесса. В то время наиболее очевидный и доступный способ достичь этой цели заключался в использовании шаблонов — отдельных компонентов, которые можно было использовать при написании различных программ. При разработке некоторых языков программирования в них изначально закладывалась модульность и возможность повторного использования кода. Например, еще в 80-х годах в СССР в рамках создания космического корабля «Буран» был разработан язык «Дракон», в котором реализована концепция «программирования без программирования». Аналогичные языки были созданы и в других странах.

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

Наконец, большую роль в развитии зерокодинга сыграло появление графических интерфейсов. Изначально созданные для облегчения взаимодействия компьютера (точнее, его операционной системы) и пользователя, они были взяты на вооружение программистами. Результатом этого стало появление так называемого визуального программирования, в котором процесс создания приложения был частично или полностью реализован в виде «виртуального конструктора» из отдельных графических модулей.  

Сама же концепция зерокодинга сформировалась в конце нулевых и начале 2010-х годов. В 2014 году сооснователь no-code сервиса bubble.io в своей статье, опубликованной в Huffington Post, призвал развивать программирование, основанное не на языках, понятных компьютеру, а на механизмах, естественных для человеческого мышления. Эта концепция стала набирать большую популярность в последние годы в связи с массовым распространением не только ПК, но и мобильных устройств, для которых ежегодно создаются тысячи новых приложений. Значительный толчок развитию зерокодинга дала пандемия COVID-19, стимулировавшая бизнес активно автоматизироваться, развивать собственные приложения, сайты и сервисы для дистанционной связи с сотрудниками, удаленного оказания услуг и т. д. По некоторым оценкам, к 2024 году около 80% сервисов и приложений будет создано именно непрофессионалами, пользующимися zerocode-инструментами. 

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

В своем современном виде программирование без кода представляет собой конструирование приложения или другого программного продукта (например, сайта, базы данных и т. д.) из отдельных модулей. По сути процесс чем-то напоминает сборку конструкторов «Лего». Для этого используются среды визуальной разработки (СВР), которые включают:

  • Графический интерфейс, в котором пользователь осуществляет непосредственную манипуляцию программными компонентами.
  • Набор программных шаблонов, отвечающих за функциональность, внешний вид программного обеспечения.
  • Компилятор или интерпретатор, переводящий язык, на котором написано приложение, в машинный код.
  • Средства отладки, тестирования, оптимизации, автоматизации, управления версиями и т. д.
Zero coding - визуальный интерфейс конструктора сайтов Tilda
Графический (визуальный) интерфейс конструктора сайтов Tilda

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

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

Преимущества зерокодинга

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

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

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

Недостатки зерокодинга

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

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

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

Кому полезен зерокодинг?

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

Программистам-профессионалам. Среди профессиональных разработчиков достаточно распространено мнение, что зерокодинг бесполезен и, более того, «убивает» программирование. На практике же использование zerocode позволяет быстрее решать рутинные задачи, прототипировать конечный продукт, осуществлять его тестирование на упрощенной модели, тем самым сокращая время разработки, снижая вероятность ошибки. Кроме того, большинство создателей и пользователей зерокод-продуктов со временем сталкиваются с тем, что их функционал нужно расширить или оптимизировать — и обращаются уже к профессиональным программистам. 

Программистам-любителям. Визуальная разработка — идеальный способ сделать первые шаги в программировании без знания языка. Она не требует знания языков, что снижает порог вхождения, зато дает наглядное представление о том, как работают программы, по каким принципам они создаются и т. д. Неслучайно один из популярных инструментов для обучения программированию — платформа Scratch, используемая в школах. Также с помощью СВР можно разработать собственную игру, обучающее приложение для своего ребенка, электронную библиотеку книг по саморазвитию, планировщик бытовых или рабочих задач и массу других полезных в повседневной жизни программных продуктов. 

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

Что можно разработать с помощью зерокодинга?

Сегодня зерокодинг используется для создания достаточно широкого перечня программных продуктов:

  • Сайтов. Это могут быть как простые одностраничные сайты-визитки или лендинги, так и довольно сложные интернет-магазины, информационные порталы и даже социальные сети с развитым функционалом (электронной оплатой, поиском по товарам и т. д.). Для их разработки используются такие популярные решения, как Tilda, WordPress, Wix и т. д.
  • Мобильных приложений. Как правило, это вспомогательные инструменты, используемые, например, коммерческими компаниями, офлайн- и онлайн-СМИ, государственными органами для информирования клиентов, рассылки рекламы, оформления заказов и т. д. Такие мобильные приложения можно создать, например, с помощью сервисов Adalo, Glide.
  • Чат-ботов. Эти средства автоматизации используются, например, в интернет-магазинах или на сайтах услуг для ответов пользователям на часто задаваемые вопросы, помощи с оформлением заказов, рассылки уведомлений и т. д. Популярными инструментами для зерокод-разработки чат-ботов являются конструкторы Botmother, LEADTEX.
  • Email-рассылок. Такие автоматизированные рассылки позволяют принимать, сортировать и отправлять письма без участия человека-оператора. Большинство конструкторов сайтов, такие как Tilda или Wix, имеют встроенные инструменты для этого. Есть и специализированные сервисы — например, Postcards.
  • Игр. Конечно, с помощью zerocode-конструкторов нельзя разработать большие AAA-проекты. Но вполне возможно создать небольшую браузерную, мобильную или десктопную инди-игру, от головоломки до платформера и даже шутера от первого лица. Распространенные платформы для создания игр — GameMaker Studio 2 и GDevelop.

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

Заменит ли зерокодинг классическое программирование?

Несмотря на бурное развитие зерокодинга, полностью заменить традиционное ручное написание кода он не сможет по ряду причин:

  • Zerocode-инструменты позволяют создавать только типовые продукты с ограниченным набором функций. 
  • Зависимость продуктов, созданных с помощью зерокодинга, от платформы снижает их безопасность, что в ряде случаев является критичным.
  • Разработка самих zerocode-инструментов требует написания их программного кода с нуля.

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

(рейтинг: 5, голосов: 4)
Добавить комментарий