Неформальные заметки о создании приложений
В предыдущих статьях данного цикла мы обсуждали средства генерации приложений, полезные непрограммистам и новичкам, и в качестве примеров сервисов, генерирующих приложения, рассмотрели два различающихся по целевой аудитории сервиса: AppsBar, предназначенный для пользователей, далеких от программирования, и buzztouch, адресованный разработчикам, которых не пугает необходимость применения средств разработки и привлекает возможность экономии времени, затрачиваемого на создание типовых решений.
Как мы уже обсуждали в предыдущей статье, разные целевые аудитории сервисов не только характеризуются различной степенью самостоятельности их потребителей, но и обусловливают зачастую разные технологии, на которых они базируются. Если первый сервис представляет собой генератор приложений HTML 5, выполняемый болееменее одинаково на любой современной платформе (если, конечно, эта платформа вообще оснащена сервисами, интерпретирующими язык HTML 5), то второй является генератором приложений на языках, предназначенных для конкретной платформы, — Objective C или Java для платформ iOS либо Android соответственно — и предполагает возможность произвольной доработки кода, сгенерированного данным сервисом.
Между этими двумя крайностями существует еще один промежуточный тип генераторов приложений, которые создают наборы команд, исполняемых специальным приложениеминтерпретатором, предназначенным для конкретной мобильной платформы или даже выпущенным для разных платформ. Каждый поставщик подобного рода генераторов обычно предоставляет подобное мобильное приложение-интерпретатор бесплатно, зарабатывая деньги на хостинге собственного сервиса или сопутствующих услугах, например на продаже дополнительных компонентов, которые можно применять при сборке приложений. Существуют настольные средства разработки, предназначенные для создания подобного исполняемого кода, — такие инструменты будут предметом обсуждения в одной из последующих статей. А сейчас мы рассмотрим пример онлайнового сервиса, который генерирует код для исполнения в специально предназначенном для этой цели мобильном приложении. Данный сервис носит название AppsBuilder.
Пользование сервисом AppsBuilder является платной услугой, при этом новому пользователю предоставляется бесплатный 30-дневный ознакомительный период. Нелишне будет заметить, что коль скоро с помощью этого сервиса создается не обычное приложение для платформы iOS, Android или Windows Mobile, а лишь набор команд, выполняемых приложениями-интерпретаторами, созданными разработчиками данного сервиса для перечисленных платформ, то пользователь сервиса не обязан ни приобретать лицензии, ни загружать созданное им интерпретируемое приложение в соответствующие онлайновые магазины. Поэтому разработанные пользователем сервиса приложения хранятся и могут быть загружены непосредственно с сайта apps-builder.com.
Давайте рассмотрим, как с помощью сервиса AppsBuilder создаются приложения для мобильных платформ.
После процедуры регистрации на сервере www.apps-builder.com пользователь оказывается на сайте сервиса, где может создавать свои приложения. Набор готовых функций, которые пользователь может включить в свое приложение, стандартен — это различные меню или формы с вкладками, отображение документов либо текста, а также вебстраниц и карт, загрузка RSS-данных, отправка сообщений электронной почты, СМС, телефонные звонки. Из нетипичных функций отметим, пожалуй, интерфейс к интернет-магазинам.
Разработка приложения начинается с создания его экранов. Первый из них — это, как правило, меню, предоставляющее пользователю различные опции для выбора. Меню может иметь разные внешний вид и состав, при этом можно выбирать готовые темы для конкретной формы (рис. 1).
Рис. 1. Варианты главного меню приложения
Затем создаются другие страницы приложения, при этом выбирается тип формы из заранее заданного набора (вебстраница, документ PDF, код HTML, отображение места на карте, отправка письма по электронной почте, новости, RSS-данные, интерфейс интернет-магазина, фотогалерея, набор ссылок на видеофрагменты и т.д.) и элементы меню связываются с соответствующими формами (рис. 2).
Рис. 2. Описание параметров форм
По завершении работы над формами можно описать различные параметры приложения — например поддерживает ли оно поворот устройства.
Еще одна интересная опция направлена на зарабатывание денег с помощью созданного приложения — к примеру пользователь может разрешить демонстрацию рекламных баннеров внутри него (рис. 3).
Рис. 3. Описание правил отображения рекламных баннеров внутри приложения
Особо хотелось бы обратить внимание на то, что данный сервис предоставляет пользователю статистику загрузок созданного им приложения для различных платформ, а также поддерживает отправку пользователям рush-уведомлений (доступных даже в случае, если приложение не запущено) — их можно отправлять непосредственно с сайта apps-builder.com.
Исполнение приложения внутри интерпретатора, который можно загрузить бесплатно из соответствующего онлайнового магазина (AppStore, Google Play, Windows Phone Marketplaces), имеет еще одно преимущество — его можно протестировать на мобильном устройстве, не приобретая соответствующих лицензий. Для этого нужно просто загрузить на устройство нужный интерпретатор из соответствующего онлайнового магазина, запустить его, ввести свои учетные данные и выбрать приложение для тестирования. Еще один вариант — прочесть QR-код на сайте apps-builder.com с помощью камеры мобильного устройства и распознать его в одном из предназначенных для этого приложений (рис. 4).
Рис. 4. QR-код приложения
Результаты нашего эксперимента показаны на рис. 5 и 6.
Рис. 5. Готовое приложение в интерпретаторе для iPhone
Рис. 6. Готовое приложение в интерпретаторе для iPad
Помимо перечисленных опций, доступны также варианты создания версий приложения, выполняющихся на мобильных платформах без интерпретатора (в этом случае могут потребоваться соответствующие лицензии), публикация ссылки на приложение на вебсайтах и в социальных сетях, генерация и публикация QR-кода со ссылкой на приложение.
В целом отметим, что данный сервис очень удобен для пользователей, которые разрабатывают приложения для нескольких платформ с типовым набором сервисов (отображение документов, сайтов, фотографий, видеофрагментов, карт, отправка сообщений электронной почты и СМС) и хотят сэкономить время, затрачиваемое на их создание, не используя при этом настольные средства разработки.
В одной из следующих статей данного цикла мы обсудим создание интерпретируемых прототипов приложений, в некоторой степени подобных рассмотренным, но не с помощью онлайновых сервисов, а с применением настольных инструментов.