AppFactory - обзор конкурстного проекта

Posted by on in Blogs
Всем привет, начинаем обзор результатов конкурса «Осенняя мобилизация»! Сначала я задумывал обзор в формате «Это может Delphi XE5 for Android», но конкурсанты настолько поразили своей технической фантазией и креативным воплощением, что теперь тематика обзоров - «Это можете вы с Delphi XE5 for Android». Минуточку терпения, вы не будете разочарованы.

Призёр конкурса - Павел Литвинко, это он рядом с плакатом на семинаре Embarcadero в Минске.



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

Проект AppFactory (скриншот в студию!)

Павел был настолько любезен, что сделал даже весьма интересный видео-обзор.



Смысл приложения в том, чтобы создавать приложения без программирования.

Есть 2 приложения. Первое, AppFactory, позволяет визуально (без программирования) создавать «шаблон», «прототип», «design-time-модель». Этот «шаблон» с «директивами наполнения контента» сохраняется во внешнем xml-файле. Второе приложение - AppProducts - загружает «шаблон» и «на лету» формирует вполне работоспособное мобильное предметно-ориентированное решение.

Кто еще не догнал суть системы, вспомните CMS, динамическую генерацию интерфейса по заданной конфигурации, саму Delphi с «Object Inspector» и dmf/fmx. Запускаем AppFactory и работаем в ней так, как в визуальном дизайнере, добавляя виджеты, размечая интерфейс (еще похоже на дизайнер отчетов). Там же визуально определяем «контент».



Потом запускаем уже другое приложение - AppProducts, оно по выбранной «конфигурации» делает «рантайм», как плеер технологии Flash. Выглядит достойно (а приложение - нативное).



Анализ

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

Будущее

Павел получил лицензию в качестве приза, в ближайшем времени ожидаем появление приложения на GooglePlay.

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



На конкурс также была подана работа «Интерпретатор Pascal для Android», автор проекта - Александр Сахаров. Получается, что Павел написал «мобильную Delphi-IDE для Android», а Александр - «вторую часть мобильной Delphi». Следите за публикациями, обзор «интерпретатора» скоро будет.

Интервью с призёром (больше технических деталей по проекту - кто лучше автора расскажет о своей работе?)

1. Павел, как Вы, где Вы?

Я учусь на 2 курсе Белорусского государственного университета информатики и радиоэлектроники на кафедре программного обеспечения информационных технологий. Специальность инженер-программист.

2. Попали, очевидно, не случайно. Как учились программировать?

Да, так и есть. Попал, кстати, после победы на Международном конкурсе юных учёных (XIX-th International Conference of Young Scientists), проводившемся в Нидерландах в 2012 году. Свою первую "Hello World" я написал на Delphi в возрасте 11-12 лет. Учился программированию абсолютно самостоятельно, я обгоняю программу обучения года на 3-4. Мои одногруппники ООП еще не начали проходить.

3. Какими языками программирования/технологиями владеете?

Delphi, C, C++, HTML

4. Вы реализовали достаточно сложное, по крайней мере для студента, приложение, которое требует не просто умения «вколотить алгоритм». Т.е Ваш уровень - вполне профессиональный по современным меркам. Delphi Вам не кажется слишком простой или «немодной» технологией?

Конечно нет! Delphi - это основной язык, на котором я пишу свои проекты. С Delphi для написания программы мне не нужно задумываться о каких-либо особенностях языка, придумывать сложные конструкции, чтобы решить простые задачи, и в то же время в нем есть всё, чтобы реализовать любую, даже самую сложную идею. Особенно сейчас, с выпуском версий XE4 и XE5, когда на Delphi можно писать под iOS и Android, у него, на мой взгляд, открывается второе дыхание. Каково же было удивление моих товарищей и преподавателей в университете, когда я им показал своё Android-приложение, написанное на Delphi!

5. Сама идея проекта - откуда она родилась? Даже если Вы взяли чей-то готовый аналог и творчески его переработали, это уже - огромное дело! Расскажите об истории проекта.

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

Дальше началось обдумывание идеи, проработка вариантов построения программы, поиск стратегии создания программ со стороны пользователя. Тут же появилась ещё одна идея. Почему бы не создать такую программу, которой бы пользоваться смог абсолютно любой человек? Что если сделать мобильные приложения ещё одним средством обмена информацией (вроде презентаций), доступным каждому? Что если раздвинуть рамки самого понятия "мобильного приложения" и позволить пользователям свободно создавать и обмениваться интерактивным контентом? Всё это и стало сверхзадачей проекта.

6. Расскажите теперь о функциональности проекта. Как это - приложение без программирования?

Создать приложение в AppFactory действительно очень просто и быстро.

Проект включает в себя 2 приложения:

  • AppFactory - программа для конструирования приложений;

  • AppProducts - программа для запуска готовых продуктов.


Редактор построен таким образом, чтобы разделять оформление приложения от его наполнения. Основное содержание составляют виджеты, в которые помещается контент.

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

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

Чтобы создать общий вид приложения, используются элементы интерфейса, схожие по принципу работы с VCL\FMX компонентами Delphi: изображения, надписи, панели и проч. Их свойства также гибко настраиваются в AppFactory. Готовое приложение можно сразу же запустить на мобильном телефоне, используя AppProducts.

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

Созданными приложениями можно свободно обмениваться, главное, чтобы на клиенте был установлен AppProducts. В соответствии с целью проекта это вовсе не является критичным, а даже наоборот будет способствовать распространению идеи создания и обмена интерактивным контентом.


Comments

  • Guest
    Yaroslav Brovin Thursday, 30 January 2014

    Браво! Отличный обзор и отличные приложения.

  • Guest
    Pavel Alhymov Thursday, 6 February 2014

    (голосом злодея)Хотел бы я этому цветочку кишки наружу пустить, да посмотреть, из чего оно сделано.
    ДА, в самом деле многие "приложения", которые мне пришлось наблюдать - это просто веб-страничка, показанная другим боком. На мой взгляд, такой АППБилдер (класс Windows-окна Delphi до сих пор так называется) - совсем не баловство, а вполне востребованный продукт. EMBT срочно должна подумать о приобретении!
    А что с iOS? Они не любят ФЛЭШ, но это от того, что ФЛЭШ много на себя взял. А если в меру, то - новая мультиплатформенная технология, доступная даже там, где не работает Джава! Ей-ей - круто!

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: