Как создать программу не зная программирования
Вы придумали мобильное приложение, которое определяет по фото, будет ли вкусной картошка фри, или выдает классный ответ на неприятную фразу незнакомца. Что дальше? Сделать простое приложение стоит от 3 тысяч долларов. Прежде чем искать деньги, попробуйте сделать прототип вашей идеи. Так можно проверить, нужен ли ваш продукт аудитории. Даже если вы не умеете программировать, можно использовать сервисы для сборки прототипа приложений.
В статье мы расскажем, какие есть сервисы, сколько стоит сделать прототип и на что обратить внимание при выборе.
Прототип — средство быстрой визуализации вашей идеи. Его можно показать заказчику или пользователю. Идею можно даже набросать на салфетке, но это не особо наглядно: пользователь мало что поймет, а разработчику будет неудобно реализовывать задуманное. Вместо рисунков на бумаге создают прототип, который может выглядеть как набор экранов или даже максимально походить на мобильное приложение, где кнопки нажимаются, а переходы переходятся.
Как создают прототип:
- Формулируют идею и требования к приложению.
- При помощи wireframe показывают, как пользователи будут взаимодействовать с интерфейсом. Wireframe — это скелет приложения. Он фокусируется на поведении пользователя и содержании будущего проекта.
Показывают то, что получилось, заказчику и конечным пользователям.
Обрабатывают комментарии, и улучшают прототип.
Этапы показа пользователям и улучшения часто повторяются.
Первое, для чего нужен прототип, — проверить работоспособность вашей идеи, насколько она нужна пользователям. СBInsight пишут, что стартапы чаще всего проваливаются, потому что в них нет потребности рынка. Прототип экономит часы разработчиков и дизайнеров: вы переделываете прототип, вместо того чтобы переделывать интерфейс самого продукта, что обойдется дороже.
Какие еще плюсы прототипа?
- отнести инвесторам, показать, как круто выйдет;
- найти прорехи в логике самой идеи;
- сразу можно будет что-то поменять и не тратить на это бюджет;
- показать потенциальным пользователям, чтобы понять, где улучшить;
- показать разработчикам, чтобы сразу было понятно, куда кодить и сколько примерно это будет стоить.
Есть классный пример того, как прототип помогает при создании продукта. В фильме The Founder Рэй Крок переосмысливает, как выглядит кухня фаст-фуда. Прежде чем делать Макдональдс каким мы его знаем и любим, владельцы чертят на теннисной площадке кухню и тестируют. Сначала получается так себе, но с третьей итерации они находят идеальное расположение зон на кухне. Если бы они сначала построили ресторан и вложили сотни тысяч в оборудование и проведение коммуникаций, это привело бы к большим убыткам.
После сборки в сервисе получается приложение разных степеней прожарки:
- Изображения, чтобы, например, добавить в презентацию.
- Прототип для тестирования на своем телефоне или для отправки ссылки тестировщикам. Он будет выглядеть как настоящее приложение или мобильный сайт, в зависимости от возможностей конкретного конструктора.
- Готовое приложение для AppStore или PlayMarket.
Поэтому если вы хотите обойтись совсем без кода, выбирайте сервисы, которые соберут приложение. Если умеете кодить или планируете работать в команде — делайте прототип, по которому разработчики смогут создать приложение. Для любой кастомной функциональности скорее всего понадобится верстальщик, дизайнер и разработчик.
Базовый же прототип или приложение можно сделать, опираясь на шаблоны. Например, журналист Арина Тарасова поделилась, как в команде проекта получилось сделать функциональное приложение для Зимнего Суриковского фестиваля искусств в Красноярске, используя сервис Glide:
«Задача была рассказать о фестивале и сделать проект максимально удобным. Мы отказались от идеи представлять проекты на конструкторах вроде Wix, Readymag, Tilda и прочих, потому что они открываются в браузере, что не всегда удобно. Еще QR-коды и аудио с Soundcloud выглядят не очень привлекательно, а мы создали много мультимедийных форматов для проекта.
К этому событию в городе запускают брендированный троллейбус, в котором висит QR-код на наше приложение. Приложение открывается, и люди включают аудиогид, который идет по маршруту этого троллейбуса, смотрят карту суриковских мест.
Нам не понадобилось никаких специальных знаний в разработке. В лайтовом режиме, где мы выполняли и другие рабочие задачи, на создание приложения ушло 2–3 дня, чтобы разобраться в интерфейсе и интегрировать туда все наши мультимедийные файлы. Так что без разработчика на этапе прототипа точно можно обойтись.
Из минусов: мы пользовались бесплатной версией, и там есть ограничения по сочетаниям цветов. Если шаблоны не совсем попадают в ваше видение, это неудобно, но все решается подпиской на сервис.
Внутри ресурса можно посмотреть статистику посещений. Так мы знаем, что люди пользуются приложением».
Далее мы рассмотрим ресурсы, в которых можно собрать прототип без знаний разработки.
Платформа для создания прототипов и прогрессивных web-приложений из Google Таблиц в качестве баз данных для приложений. В 2021 году Glide выпускают новую версию, где таблицы можно будет создавать и редактировать внутри их веб-версии.
Чтобы получилось приложение, структурируйте информацию в таблице, после чего Glide собирает новое приложение. Есть комьюнити, чтобы пообщаться, спросить совета или показать свое приложение.
Особенности:
- большая библиотека платных и бесплатных шаблонов;
- через веб-интерфейс настраиваются страницы и блоки приложений, а информацию можно редактировать в таблице;
- можно добавлять изображения и видео;
- встраивается чат, корзина и комментарии;
- подключается Google Analytics;
- приложение можно использовать по ссылке, ничего дополнительно устанавливать не нужно.
Сколько стоит: есть бесплатная версия, ограниченная по размеру таблицы и 100MB хранилища, с брендингом ресурса. Платные версии стартуют от $12 в месяц. Версия без брендинга с кастомным доменом от $32 в месяц.
Продвинутый drag-and-drop конструктор прототипов. Все делается в браузере и есть приложения, чтобы показать прототип пользователям.
Свой прототип можно показать людям на Proto.io Spaces.
Особенности:
- большая библиотека элементов;
- библиотека шаблонов, но можно собрать приложение из элементов;
- есть плагины для редакторов, чтобы добавить свой дизайн, сохранив все слои;
- удобное добавление ссылкой на тестинговый сервис, например, Usertesting;
- можно поделиться ссылкой на прототип — она откроется в мобильном браузере, встроить на свой сайт или предоставить доступ в мобильном приложении.
Сколько стоит: 15 дней пробный доступ ко всем функциям без привязки карты. От 24 долларов в месяц — можно одновременно делать 5 проектов. Есть скидки для студентов и общественных организаций.
Бесплатное десктопное приложение, делает полностью интерактивные прототипы для любой платформы. Результат можно увидеть на Android, iOS и в браузере.
Особенности:
- простые в использовании шаблоны;
- редактор надо качать, есть версия для MacOS и Windows и мобильное приложение;
- импорт из фотошопа и иллюстратора;
- экспорт в html и в нативное приложение *.apk для андроид устройств;
- можно добавить приложение на Usertesting, чтобы получить фидбек от реальных пользователей;
- есть совместное редактирование.
Сколько стоит: есть пробный период 15 дней со всеми функциями. Но бесплатно можно пользоваться инструментом для создания wireframe.от 19$ в месяц с неограниченным количеством прототипов.
Объединяет неограниченное количество пользователей для планирования, дизайна приложения и создания прототипа.
Особенности:
- включает все этапы: от прописывания логики до интерактивного прототипа;
- есть расширения для браузеров;
- библиотека шаблонов;
- около тысячи плагинов для подключения сторонних сервисов;
- совместная работа над прототипом: можно добавлять карточки в Трелло из страниц прототипа.
Превратит дизайн на Фигме в интерактивный прототип и даже нативное приложение без программирования. Есть приложение для тестирования.
Особенности:
- работает с Figma;
- подключает реальные данные;
- генерирует нативный код для Android и iOS.
Сколько: бесплатно неограниченное количество проектов, но можно поделиться проектом не более трех раз, на проекте будет лого ресурса. Платные подписки от €19 в месяц. Они позволяют делиться проектом без ограничений и включают техническую поддержку через электронную почту. В тарифе от €49 в месяц вы добавляете свой брендинг и получаете техподдержку вплоть до публикации приложения.
Собирает прототипы и полноценные мобильные приложения, используя данные из таблиц. Идеально подойдет, например, владельцам малого бизнеса, которые хотят сами сделать систему учета.
- обработка данных из разных таблиц и баз данных, главное, правильно организовать в них информацию;
- интеграция карт;
- в приложениях можно использовать NFC или QR-коды;
- есть шаблоны;
- для использования придется скачать приложение.
Сколько: Потестить и показать можно бесплатно, платные тарифы начинаются, если вам нужно подключить больше 10 человек — от $5/месяц.
Делает прототипы и вполне функциональные голосовые приложения для инструментов Alexa и действий Google. Есть группа на фейсбук, где можно похвастаться или спросить совета. Активно обновляются, прислушиваясь к идеям пользователей.
Особенности:
- прототип можно сделать в браузере или сразу загрузить на смартфон и протестировать;
- логика и структура создается перетаскиванием блоков;
- можно работать с командой;
- есть режим доски;
- режим тестирования на сайте.
Сколько: два проекта бесплатно для индивидуального использования. Oт 40$ в месяц, для каждого редактора нужен отдельный план
Подойдет для новичков. В веб-версии можно собрать постраничный интерактивный прототип приложения для всех устройств, включая умные часы. Чтобы посмотреть прототип, пользователю понадобится установить приложение.
При помощи своего отдельного продукта может превратить ваш прототип на бумаге в интерактивный прототип. Сфотографируйте свои наброски, свяжите объекты, которые должны быть интерактивными с другими объектами и экранами
Особенности:
- помимо приложений в конструкторе можно собирать прототипы сайтов;
- импорт макета из Sketch, или можно использовать готовый макет Sketch из библиотеки;
- добавление в прототип гифок, видео и карт;
- можно комментировать и делиться ссылкой на прототип.
Сколько: бесплатно для одного проекта, больше — от $12 в месяц.
В этом конструкторе больше всего функций для командной работы с дизайнером. У Invision есть плагин Craft, который превратит дизайн-макет в прототип прямо в Sketch. Показать прототип пользователю можно через приложение. Если возникли сложности, можно задать вопрос официальному аккаунту техподдержки в Twitter.
Особенности:
- режим доски;
- проектный менеджмент для дизайнеров;
- тестирование;
- умеет быстро подставлять шаблонную информацию, например, имена или фото с Unsplash;
- можно создавать ветки комментариев по конкретным разделам проекта;
- комментирование в режиме реального времени.
Сколько: бесплатно до 10 активных пользователей, больше — $7.95 за пользователя в месяц.
Подойдет владельцам макбуков, нужен аккаунт разработчика Apple. Показать прототип можно в Origami, мобильном приложении для iPhone или с макбука с установленным Origami. Есть активное комьюнити, где можно задать вопрос.
Особенности:
- мощные анимации;
- функции «экспорта кода», которые позволяют преобразовывать визуальный дизайн в письменный код;
- тестировать можно на мобильном устройстве, подключенном к ноутбуку;
- есть поддержка Figma и Sketch.
Cколько: бесплатно.
Все упомянутые сервисы обещают относительно низкий порог входа. Но в любом случае вам придется разбираться в редакторе и базовой терминологии. Для этого многие сервисы создают поддерживающие комьюнити. Например, Thunkable поддерживают возможность задать вопрос на сайте, Bravostudio предлагает поддержку через почту в платных версиях, а Voiceflow называют свое активное комьюнити с поддержкой своим главным преимуществом. Даже если вы пользуетесь бесплатной версией ресурса, обращайтесь за помощью на внутренних форумах, работа над похожими проектами может повысить шанс на ответ.
Еще есть вариант зарегистрироваться на обучающих сайтах. Например, No Code в платной подписке предлагают личные консультации и групповые сессии по созданию приложения. На Makerpad можно спросить на форуме и посмотреть дополнительные туториалы, а в платной подписке получать индивидуальную поддержку.
Бывало ли у Вас так: возникает жгучее желание что-то создать, да так, чтобы мир стал лучше. И вроде вот оно, перед Вами, а тут вдруг приходит понимание, что паяльник не тот, IQ маловат, программировать — это совсем не мое. И все, желание пропадает, и мир лучше не станет. Вот так и мы дотерзались до «готового» продукта. Приложение-помощник, для автовладельцев, с уровнем владения автомобиля на уровне: ехать, тормозить, рулить. В непредвиденном случае срочно звонить всем по списку контактов.
Прочь полемику, далее повествование от лица идейного вдохновителя, а после, и мое слово, в этой чехарде терзаний.
В рамках пятничного, почти предпраздничного чтива, разумеется. Так что никаких технических деталей, никакого кода, только идея!
1-е лицо:
Изначально, никаких целей написать приложение не существовало. Я сам не программист, и даже при большом желании написать код для меня задача невыполнимая, в связи с полным отсутствием знаний. Сподвигло следующее. Январским морозным днем, опаздывая на службу я получаю звонок от жены с вопросом: " что делать, машина не заводится. " (ага, что бы ей заводится при -25С и аккумуляторе хонды в 40 Ач). Пытаюсь вежливо объяснить: «Дорогая, надо прикурить от кого нибудь… У тебя должны быть провода для „прикуривания“ в багажнике. » В общем развернулся, приехал домой, отдал свою машину жене, а хонду завел от соседкого форда через 10 минут.
Это бы ладно, но вот через день, звонок: «У меня в машине что-то сильно стучит сзади, я боюсь дальше ехать». Хорошо эвакуатор не вызвали, — это огнетушитель, вывалившийся из крепления, бил об заднюю полку багажника, при трогрании и ускорении, издавая звук, что сейчас отвалится задний мост. Все это мне надоело и я решил сделать ей памятку, из серии ЕСЛИ-ТО. Но поскольку, мы живем в век Андроидов и Айфонов, то писать памятку на бумажке, как то не комильфо.
Решено, сделаю приложение Auto-Helper в помощь жене, попутно для дамочек и автомобилистов-новичков! Но как, я ж не программист? Нанимать программиста — не входило в мои планы и вообще я все предпочитаю сначала сделать сам. Поиск Гугола не заставил долго ждать и следующие 2 вечера-ночи я провел в тестировании всевозможных конструкторов мобильных сайтов и приложений, с которыми любая кухарка может разобраться. В итоге мой выбор пал на ОДНО приложение, которое мне показалось достаточно универсальным. И тут начались мои муки творчества. Вернее жестокая и беспощадная борьба полушарий.
Левое:
— Так красиво!
Правое:
— Ни черта не читается твоя красота.
Левое:
-Текст длинный, сокращай!
Правое:
-Не могу все слова важные, кегль уменьшай!
ну и так далее. Плюс еще во все это вмешивались особенности и ограничения конструктора.
Если раньше я думал, что это только клиент с дизайнером договориться не может, теперь я понимаю, что в области мобильных приложений все гораздо хуже. Представляю какая битва происходит между создателем идеи, дизайнером и программистом, не иначе как Сталинград. Но, об этом я напишу другую маленькую статью, «как же сделать правильно».
В итоге, после многократного переделывания контентной части, визуальной части и общего алгоритма действия, приложение обрело почти законченный вид. Наступил этап публикования и тестирования на реальных устройствах. Тут я конечно почти впал в уныние, поскольку процесс публикации, терминология и сопутствующие вещи были мне совершенно не понятны. 2 недели и помощь компетентных людей сделали свое дело. Наконец, я испек свой первый АРК который запустился на моем SGS2, вот счастья то было! Оно работает. Вспомнилось детство, когда я спаял первый радиоприемник из конструктора и он заработал.
В общем мужик сказал — мужик сделал!
Гордый собой, поставил приложение жене на HTC, показал как ей быстро разобраться в том, что происходит с машиной…
На следующий день звонок:
-Дорогой, а как называется приложение.
А теперь немного отмотаем время назад, и вернемся ко 2-му лицу, то есть ко мне.
Так уж вышло, что помимо серверов, десктопов и прочих офисных штук в моей жизни не малую часть занимает хобби в виде диагностики и ремонта автомобилей. Занимаюсь конечно от случая к случаю, но в конечном итоге, большую часть времени все равно приходится тратить на общение с людьми, которые волей-неволей попали в автосервис и почти всегда звучат практически одни и те же вопросы. Систематизируя все эти вопросы, предварительно исключая из них матерные слова и двусмысленности, в конечном итоге можно получить не очень то и большой список самых распространенных проблем, которые настигают автовладельцев в самые неподходящие моменты.
Естественно два разных человека, зная о терзаниях друг друга не могли это оставить просто так. С поправкой на то, что мои знания в программировании ограниченны мелкими скриптами на bash, парой строк php или perl кода, для проверки, так сказать очередного веб-сервера и совсем далекой молодости языка С.
Никаких html5, css, flash, Objective-C — только хардкор!
Что в итоге, получен первичный опыт разработки от идеи, до макета. Оказывается, 50кб структурированного текста, написанного, как мне кажется, максимально доступным языком автомобильной направленности для непосвященного обывателя, задача невероятной сложности. Ведь перед Вами казалось бы, совсем простая цель: взять на заметку список неисправностей, и кратко, почти в формате твита, написать краткое пособие, или скорее не пособие, а указание, что делать дальше. Но сделать это нужно так, чтобы Ваш текст был понятен всем: начиная от тех, кто первый день за рулем, и заканчивая теми, кто уже и без вашей то помощи, может поставить точный диагноз.
Вот примерно так, слово за словом, рождался текст-описание и текст-расшифровка для приложения. Без преувеличения — более 2-х месяцев кропотливой перестановки, замены, снова перестановки, переосмысления, написанных тобою слов.
А далее чистой воды рутина: все конструктором собрать, подготовить картинки. И нырнуть в пучину требований google.play и AppStore.
Правда пока удалось только нырнуть в «корпорацию добра». «Корпорация зла» пока нас не приняла.
Хочешь создать свой проект в «железе», который перевернет мир с ног на голову? Или автоматизировать управление светом в коридоре. При этом ты не специалист в программировании микроконтроллеров, но разобрался с arduino и тем как моргать её светодиодами и только узнал о полевых транзисторах, симисторах, 1-Wire. Теперь хочешь управлять всем этим хозяйством и предоставить доступ через интернет и хранить данные в облаке.
Или ты дружишь с паяльником, гуру программирования ПЛК, снифишь PDU в modbus. Но компьютер с Windows и SCADA слишком дорог для проекта или не подходит почему-то еще… И хочется запускать программу на одноплатном компьютере Raspberry PI с доступом к ее переферии GPIO, I2C.
Используя готовые компоненты и библиотеки, можно разрабатывать программу используя языки визуального программирования. К счастью программистов и к несчастью пользователей всех таких систем, настает такой момент, когда нужна функциональность, которая не поддерживается «из коробки». Программы не генерируют другие программы для нашего сложного мира лучше чем программисты и у нас пока есть работа. Перечислим как же можно визуально программировать типовые задачи:
Блок-схемы/Дружелюбный русский алгоритмический язык, который обеспечивает наглядность(ДРАКОН)/Р-схемы и т.п. Что я отлично запомнил по программированию в школе и первых курсах института, так это блок-схемы. Рисование блок-схем подходят для занятий студентов, чтобы как и у солдат, все свободное время было занято работой. Еще одно их применение — обучение программированию на листе бумаге. Ну и наконец, кто-то работает и рисует такие диаграммы, чтобы сдать госпроект по ЕСПД/ГОСТ. Посочувствуем им!
CASE инструментарий — сотни их за заоблачные деньги и часто с сомнительной пользой. Особенно много таких систем используется архитекторами ПО и баз данных.
Диаграмма состояний UML из которой с помощью кодогенерации можно получить заготовку или готовую управляющую программу. Эта диаграмма является примером автоматного программирования. И отлично подходит для проектирования компиляторов, многих электронных устройств и любых задач и модулей систем в которых есть сущности со сложным поведением.
Язык релейно-контактной логики. Этот язык должен быть близок инженерам и тем кто программирует ПЛК. Программирование лифта — один из типичных примеров использования.
Среда визуального программирования LabVIEW позволяет делать достаточно сложные системы визуально и тесно связана с аппаратным обеспечением National Instruments. Понравился пример того как AndreyDmitriev в комментариях на хабре реализовали задачу в визуальном редакторе для сравнения сложности с Delphi решением и обзор LabVIEW. В эту же категорию попадает и Simulink для Matlab, как подсказали в комментариях.
В этой же статье про Reactive Blocks используется модифицированная UML диаграмма деятельности, которая приспособлена под компоненты проекта и из которой генерируется код. Разработчики сделали plugin для Eclipse со своей моделью, анализатором схем и событиями компонент.
Проект доступен бесплатно для open source проектов, с вполне логичным ограничением. Все созданные вами в IDE Building Blocks станут доступными всем под open source лицензией.
Это визуальное конструирование приложения из готовых существующих кирпичиков — building block, которые скрывают всю сложность взаимодействия с «железом» и облачными сервисами.
Конечно, сложные алгоритмы лучше писать как java код, поэтому графическая диаграмма и код поддерживаются в синхронизированном состоянии автоматически. Это извечная мечта компонентного проектирования, когда компоненты пишут программисты, а используют их пользователи-эксперты в своей области.
Так же как и не стоит делать из диаграммы — спагетти диаграмму из сотни и тысяч элементов. В этом случае можно поддиаграмму оформить в виде точно такого компонента-строительного блока. В случае open source решения, вы публикуете свой блок, чтобы сообщество также могло использовать его в своих проектах.
Есть возможность автоматически упаковать свое приложение в пакет (OSGI bundle) для платформы Eclipse Kura. Тогда возможен перезапуск приложения без перезапуска контейнера, доступна консоль для администрирования, а также множество сервисов этой IoT платформы и вся мощь существующих компонентов и запускать это на Raspberry PI или Beagleboard Black.
Есть вариант скачать специальную сборку eclipse+Reactive Blocks сразу готовую к запуску со страницы для Windows, Mac OS X или Linux. Другой вариант, если у вас есть установленный Eclipse Neon(4.6)/Mars(4.5)/Luna(4.4)/Kepler(4.3) — нужно указать Update-Site и установить плагин.
В любом случае для сборок Linux, основанных на debian, нужно установить пакет libwebkitgtk-1.0 перед запуском среды разработки:
Для использования в готовой сборке JDK, отличной от доступной в системе по-умолчанию, нужно добавить строчки в файл reactiveblocks.ini:
Для доступа к серверу компонент пришлось пройти авторизацию и аутентификацию с помощью Google аккаунта.
Написал вопросы по почте и к чести их инженеров и менеджмента, мне устроили мастер-класс один на один по google hangout с видео конференцией, скринкастом IDE и разбором простого примера. Их ведущий разработчик оказался инженером из аэрокосмической отрасли и любит в свободное время заниматься авиамоделирование и проектирует автопилот.
Мне показался очень интересным пример сигнализации на RaspberryPI с использованием акселерометра.
Поигравшись с разными примерами, посмотрев на содержимое Building Blocks под капотом. Особенно интересно было обнаружить там уже знакомую мне библиотеку OpenIMAJ.
Лично для себя я не нашел преимуществ Reactive Blocks по сравнению с разработкой под Apache Camel с его компонентами rhiot и возможностями визуализации. Про что скоро опубликую пост и даже рабочий пример уже готов! В своей публикации на хабре Управляем автоматом на Groovy/Java. Как ЧПУ станку в домашней мастерской не превратиться в мульт героев «двое из ларца» я использовал Apache Camel для управлением ЧПУ станком.
Встроенные в процессор BeagleBoard Black RPU подходят для real time задач где не место java с ее GC STW паузами.
Для java программистов, в отличии от инженеров по электронике, возникают мысли по практическому использованию Bitreactive IDE в сложных проектах и надо разбираться:
- как происходит одновременная работа над одной диаграммой нескольких человек;
- как происходит рефакторинг проекта с множеством диаграмм;
- зачем было делать свой сервер для хранения компонент, когда уже есть maven совместимые репозитарии;
- как увидеть diff для разных версий диаграммы?
- как разрабатывать тесты и делать mock для компонент. Вроде как есть генерация для jUnit, но надо углубляться в практику тестирование реальных приложений.
Выводы
Вместо изучения языков программирования вам придется выучить его нотацию схем, компоненты и средство разработки. Нужно ли это программисту?
Это решение больше подойдет для инженеров не специалистов в ПО, которые не хотят вникать в тонкости программирования на java, но хотят использовать всю мощь существующих компонент для связи с «облачными» сервисами IoT, мультимедиа и работы с java библиотеками, обернутыми в building block.
Самый популярный вопрос среди начинающих зерокодеров — можно ли собрать мобильное приложение без программирования. Расскажем, с помощью каких инструментов это можно сделать, чем они отличаются и сколько это стоит.
Существует три подхода к созданию мобильных приложений:
- Традиционный. Предполагают написание кода, создание макета, оптимизацию, команду и другие этапы.
- Зерокодинг. Не требует знания языков программирования. Это похоже на использование Тильды (это тоже, кстати, инструмент зерокодеров) для создания сайтов: не надо знать CSS, HTML, JS — просто расставляешь блоки с контентом, настраиваешь анимацию и получаешь отлчиный сайт.
- Low-code — это что-то среднее между зерокодингом и программированием: писать код все-таки приходится, но немного.
Инструменты зерокодинга уже могут покрыть большинство задач бизнеса. И вместо того, чтобы изобретать велосипед, можно за несколько дней запустить MVP или проверить гипотезу с минимальными затратами. А если в запасе хотя бы пара недель — то и запилить полноценное приложение. Решения на зерокодинге можно собирать в одиночку — вся инфраструктура предоставляется платформами и не надо дополнительно тратиться на хостинг, администрирование серверов и т.п.
При этом обычная разработка затянется на 3−6 месяцев и съест до миллиона рублей — если работать с фрилансером или скромной региональной студией.
Самые мощные и популярные инструменты мобильной разработки без кода — Adalo, Glide и Bubble. С их помощью можно создать и опубликовать мобильное приложение. Они бывают трех типов:
Мобильная версия сайта — сайт в интернете, адаптированный под экраны смартфонов. Это самый «бесправный» тип приложений: всегда нужен интернет, пуши можно включать только в браузере, постоянно на виду элементы навигации браузера.
PWA (Progressive Web Application) — когда мобильная версия сайта устанавливается на смартфон как приложение. Из плюсов — не надо поддерживать две кодовые базы, под iOS и Android, приложение всегда «обновлено» до последней версии, можно работать с некоторыми нативными функциями смартфонов. Например, отправлять пуши, устанавливать ярлык на экран, элементы навигации браузера не мешают (их просто нет). такие приложения умеют создавать и Bubble, и Adalo, и Glide.
Нативные — когда приложение публикуется в официальных сторах. В Adalo уже встроена такая функция, а приложения на Bubble можно обернуть в специальный контейнер и тоже опубликовать в Google Play и App Store. Нативные приложения позволяют работать со всеми функциями телефона: камерой, микрофоном, GPS, контактами, файлами, акселерометром, push-уведомлениями, памятью девайса, адаптивной версткой — всё, как в обычном коде, только без кода.
-
по макияжу по подписке. аренды жилья в Вене. фотошколы. наставников в Digital.
Glide — платформа для создания мобильных приложений без кода. Лучше всего функции сервиса описывает девиз «Создавайте приложения из Google Sheet за пять минут, бесплатно». Glide-приложения нельзя загрузить в сторы, но можно опубликовать в интернете как PWA. Платформа отлично подходит для создания простых приложений и MVP — много готовых симпатичных шаблонов, понятные интуитивные настройки.
На бесплатном тарифе есть ограничение по объему данных, 10% комиссия со всех платежей и лого Glide, а платные стартуют от $32 в месяц.
-
для бронирования тренировок и снаряжения в фитнес-клубе
- Индийский headhunter для педагогов
Adalo — nocode-платформа для создания веб- и мобильных приложений, которые можно публиковать в App Store, Google Play или в интернете как PWA. Новая версия раскатывается в сторы прямо из личного кабинета на платформе, публикуется тоже оттуда (но нужен аккаунт в AppStore и Google Play). Adalo позволяет создавать приложения в интуитивно-понятном интерфейсе методом drag’n’drop из готовых или кастомных дизайн-шаблонов. Эта платформа мощнее Glide и на ней можно собирать более сложные приложения.
На бесплатном тарифе нет ограничений по количеству приложений, а вот количество данных фиксировано — плюс придется «потерпеть» лого платформы. Платные тарифы стартуют от $50 в месяц и дают возможность публиковаться в сторах.
-
для геймификации карьеры мобильных сайтов для рестораторов
Bubble — одна из самых продвинутых визуальных сред программирования для создания веб-приложений. На нем можно собирать настольные или адаптивные веб-приложения для любого размера экрана.
Bubble позволяет проектировать сложную бизнес-логику — это настоящий комбайн. Приложения на Bubble нельзя выкладывать в сторы напрямую, но есть обходные пути — обернуть их в специальный контейнер и после этого опубликовать в маркетплейсах от Apple и Google.
На бесплатном тарифе тоже есть лого платформы, нельзя привязать приложение к своему домену, количество объектов в базе данных ограничено 200 и закрыт доступ к API. Платные тарифы начинаются от $25 в месяц.
Разработка приложения «под ключ» — сложный процесс, в котором участвует целая команда специалистов. Программисты пишут бэкенд и фронтенд, дизайнеры создают «человеческий» UX/UI и вкусную картинку, тестировщики ищут ошибки, проджекты управляют всем процессом, лиды — командами, эккаунты общаются с клиентами. И каждый не просто просиживает штаны, а действительно работает и нужен.
Сколько денег возьмет за разработку веб-студия и сколько времени потратит, зависит от сложности проекта и имиджа компании, но в среднем — от 500 тыс. до 5 млн рублей, а средний срок разработки — 4−6 месяцев (по сведениям с Хабра, DTF и Appinventive). Сложные приложения легко могут стоить дороже 10 млн рублей и пилиться больше года — особенно если поджимают сроки или подрядчик входит в какой-то рейтинг вроде Теглайна. И всё это без учёта поддержки, обновлений, продвижения и возможных проблем с масштабированием и доработками.
Nocode-разработка обходится дешевле. Например, Сергей Горелов в одиночку собрал полнофункциональное приложение для фитнес-клуба за пару недель — такое же приложение обычная студия будет разрабатывать около полугода и возьмёт за работу 700−800 тысяч рублей.
А Евгений Спорыхин из nocode Hero вместе с WeLovEnocode запилил карьерный трекер с геймификацией на Bubble. Вместе с детализацией техзадания, доработками, дополнительными функциями и пятью итерациями по дизайну (клиент не совсем понимал, какой он хочет видеть визуальную составляющую) это заняло три месяца и обошлось заказчику примерно в 700 тысяч рублей.
Аналогичная работа «в коде» длилась бы гораздо дольше, а заказчик отдал бы не меньше 4 млн рублей. При этом первую полнофункциональную версию запустили уже через 2 недели — всё остальное ушло на доработки дизайна и добавление новых идей клиента.
Да, у мобильных приложений на зерокодинге пока есть некоторые ограничения: например, чтобы сделать массовый сервис с трафиком в десятки миллионов человек, когда критичны скорость работы и премиальный дизайн, придется создавать свое решение, нанимать программистов или отдавать разработку на аутсорс. А вот первые версии такого продукта — особенно MVP — можно собирать и без кода. Приложения на несколько десятков или сотен тысяч пользователей nocode-платформы также выдержат без проблем.
Снижение стоимости мобильных приложений неизбежно привлечет массовую категорию новых клиентов — теперь приложение может себе позволить даже скромный ИП-шник или владелец пары овощных киосков.
- Платформа: Glide
- Время на разработку: 2 недели (большая часть — наполнение базы данных)
- Затраты: 12$ (базовый тариф в Glide)
Игорь — профессиональный программист. Как-то раз ему понадобилось выполнить техническую задачу за пару дней — так он вошел в зерокодинг. Сначала автоматизировал на Integromat, потом перешел на Glide. А в пандемию он назерокодил приложение для обучения макияжу MAKE — помогал жене перевести бизнес в онлайн.
Игорь освоил Glide за три дня, еще 4 дня делал структуру приложения. Дольше всего вносил список из 400 продуктов — это заняло 2 недели😂 Приложение интегрировано с ЮKassой, Integromat и GetCourse, можно выбрать свой цветотип, форму лица и глаз, найти инструменты и средства для макияжа, а также получить советы — где их лучше купить, чтобы не попалась подделка.
Если пользователь оплатил подписку с помощью банковской карты, информация о ней сохраняется. За 3 дня до окончания подписки пользователя предупредят о предстоящем списании. После автооплаты система пришлет результат — успешно прошло списание или денег на карте не оказалось. Эта логика собрана на GetCourse.
К концу 2014 года программистов было уже более 18 миллионов, но это не сделало профессию менее востребованной. Специалистов много, но вакансий для действительно хороших программистов еще больше.
Неудивительно, что профессия программиста так популярна: она позволяет, не вставая из-за стола, совершенствовать продукты и создавать решения, которыми будут пользоваться миллионы людей. Некоторых останавливает то, что разработчиков уже и так много. Но программисты нужны — особенно те, которые умеют наблюдать, проектировать и находить новые решения проблем.
Бесплатный курс Geekbrains «Основы программирования» нужен тем, кто хочет обучиться этой профессии и получить реальный опыт разработки, но не знает, с чего начать. Воспользовавшись материалами курса, мы составили краткий план того, как создать первую программу.
Что такое программа
Программа — это последовательность команд, которые показывают компьютеру, как решить задачу. Простейшая программа — дать компьютеру три числа, чтобы он произвел с ними операции и показал ответ. Разумеется, компьютер не поймет команд на русском — они должны быть четко прописаны на одном из языков программирования. Но общий смысл ясен: программист дает компьютеру команды и предоставляет необходимые данные.
Для тех, кому нужно найти самый дешевый отель, создали программу Booking. Если нужно написать заметку — Evernote, отредактировать фотографию — Photoshop. Для пользователя программа — это продукт, который должен решить его задачу.
Как это выглядит для компьютера
В обработке программы участвуют три компонента компьютера: процессор (ЦПУ), запоминающее устройство (HDD) и оперативная память (ОЗУ). Процессор обрабатывает и исполняет указанные инструкции, жесткий диск их хранит, а оперативная память служит буфером для процессора: отсюда берутся данные и команды, необходимые процессору для выполнения операций.
Простой пример: пользователю нужно открыть калькулятор и произвести математическую операцию. Пока программа еще не открыта, она хранится на жестком диске. Как только пользователь открывает программу, все инструкции и данные попадают в оперативную память. Процессор начинает выполнять операции, которые указывает пользователь. Во время работы все данные хранятся в оперативной памяти. Когда работа прекращается, программа выгружается из оперативной памяти и переходит «в спячку» на жесткий диск.
Постановка задачи
Чтобы создать программу, нужно четко поставить первоначальную задачу. Для этого нужно сформулировать условия и описать всю входящую и исходящую информацию. Программист сразу понимает, что он даст программе и что хочет получить в ответ.
Что такое алгоритмы
Алгоритмы — это прослойка операций между входящими и исходящими данными. По сути, это все то, что будет делать компьютер с имеющейся информацией, чтобы дать пользователю ответ.
Повседневная жизнь также состоит из алгоритмов. К примеру, вы хотите выпить кофе в обеденный перерыв: идете к кофейному автомату, вставляете деньги в купюроприемник, выбираете нужный кофе, подставляете стаканчик и подтверждаете свой выбор. Как и в реальной жизни, в программировании очень важна последовательность и точность исполнения действий: не подставите стаканчик — кофе прольется, не скормите автомату деньги — не получите кофе. Алгоритм — это суть программы.
Языки программирования
В курсе «Основы программирования» от Geekbrains используется язык программирования JavaScript. Во-первых, у него широкая область применения: JavaScript используют в веб-разработке, в разработке офисных и серверных приложений. Во-вторых, он универсален. Для работы с JavaScript не нужно устанавливать среду разработки, то есть систему для написания программного обеспечения — все операции проводятся в браузере.
Начать писать на JavaScript довольно просто. Нужно создать файл с расширением HTML (подойдет любой текстовый редактор, даже «Блокнот») и прописать в нем несколько строчек кода.
На Windows лучше всего использовать программу Notepad++. На OS X ее нет, но есть неплохие аналоги, например Sublime Text или TextMate. Чтобы вывести на экран всем знакомую надпись 'Hello, World!', нужно прописать в редакторе следующие строчки:
После этого сохранить файл в формате HTML и открыть. Он откроется в браузере — если все сделано верно, то появится окно с введенным текстом.
Циклы и массивы
Чтобы не повторять одну и ту же команду несколько десятков или сотен раз, используются циклы. Это конструкции, которые автоматически повторяют определенные наборы команд.
В JavaScript существует три основных вида циклов:
- while — выполняет команды, пока условие их выполнения не станет ложным;
- do-while — команды выполняются хотя бы один раз, даже если условие их выполнения ложно;
- for — начальное выражение выполняется один раз, а условия проверяются перед каждой итерацией цикла.
Массив — это набор ячеек для хранения данных одного типа.
Представьте себе супермаркет, при входе в который нужно сдавать сумки. Одна ячейка в камере хранения является переменной, в которую вы положите значение, равное своей сумке. А вот сама камера хранения — набор ячеек — является массивом. Проверим данный пример с точки зрения определения массива. Действительно, набор ячеек упорядочен (у каждой есть свой номер), и в них мы кладем данные одинакового типа (тип «сумка»).
Цитата из методички курса
Пройдя курс по основам программирования, создав свою первую программу и на практике осознав, насколько вам интересно это направление, можно определяться со специализацией. Разработка приложений для Windows, OS X, разработка мобильных платформ, веб-разработка — каждое из этих направлений требует знания разных языков программирования, о которых подробно рассказывается в одном из последних уроков курса. Таким образом, ваш выбор языка и технологии будет осознанным.
Разработка программ для Windows — по прежнему востребованная классика. Мобильная разработка сейчас на пике популярности, и многие программисты переходят туда, мотивируясь интересными задачами и высокой заработной платой. В любом случае, хорошие программисты нужны во всех направлениях. На сайте Geekbrains можно ознакомиться со средними зарплатами в отрасли и навыками, которые необходимы работодателям.
Это не полный набор информации, которая нужна для создания первой программы, но после прочтения этой статьи ориентироваться в курсе Geekbrains будет гораздо проще.
Читайте также: