Google и MIT открыли код App Inventor, системы для визуального проектирования приложений
App Inventor отличается использованием элементов визуального проектирования интерфейса для определения логики работы программ, позволяющие создавать приложения без знания программирования. Алгоритм выполнения действий задается через графический интерфейс, позволяющий как из кирпичей выстраивать линию выполнения программы, перетаскивая мышью различные логические блоки, определяющие готовые действия, такие как функции для интеграции с социальными сетями, работы с web-сайтами, получение данных от системных сенсоров, обработка мультимедиа информации, задействование интерфейса для синтеза речи и распознавание речевых команд. Логические блоки, с учетом условных операторов, стыкуются друг с другом способом, напоминающим пазл.
На завершающем этапе визуальные блоки преобразуются компилятором в промежуточное представление на языке Kawa, развиваемом проектом GNU и представляющем собой диалект языка программирования Scheme. После этого формируется пакет, готовый для установки на платформу Android. Благодаря App Inventor далекие от программирования пользователи могут создавать свои приложения для Android, попутно изучая программирование. Среда разработки может использоваться для создания широкого спектра программ, например, для быстрого формирования тестовых и обучающих приложений, для создания несложных игр, инструментов для работы в социальных сетях и привязанных к GPS программ.
Из составных частей App Inventor, код которых был открыт, можно отметить:
- aiphoneapp - приложение, запускаемое на мобильном телефоне для обеспечения связи с компьютером, на котором запущен App Inventor;
- appengine - написанный с использованием тулкита GWT web-интерфейс для визуального проектирования приложений. В комплект входит работающий в браузере фронтэнд и запускаемый на сервере бэкенд, выполняющий такие функции как хранение и загрузка проектов, передача заданий по сборке приложений на отдельный сборочный сервер;
- blockseditor (Blocks Editor) - редактор блоков (логические блоки, выполняющие определённые действия), запускаемый через JNLP на стороне клиента;
- blockslib - код библиотеки блоков, основанный на наработках библиотеки MIT Open Blocks. Используется в blockseditor и buildserver;
- buildserver - http-сервер/сервлет, получающий на входе zip-файл с кодом и формирующий на выходе apk-пакет;
- common - набор констант и вспомогательных классов, используемых в различных подпроектах;
- components - вспомогательный код для поддержки компонентов для App Inventor, включая аннотации, реализации и скрипты для извлечения информации о компонентах.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32882
|
0 | Tweet | Нравится |
|