Android – прекрасная платформа для мобильных устройств, она работает на миллионах смартфонов в 200 странах по всему миру. В этом посте я собрал несколько популярных фреймворков для разработки приложений под Android, из числа популярных среди разработчиков.
Смысл фреймворка – увеличить производительность, уменьшив затраты усилий на разработку. В идеале они экономят разработчикам время на то, чтобы заняться реально важными при разработке приложения вопросами.
1) Corona SDK
Богатый инструментарий для создания игр и приложений за рекордно короткое время
Обеспечивает возможность очень быстрой разработки. Элегантный API упрощает добавление сложных функций, технологический процесс позволяет сразу же видеть внесённые изменения, сама же разработка идёт на Lua – простом для изучения языке. Всё это приводит к рекордной скорости разработки.
Самый популярный фреймворк, часто используется разработчиками игр, но подходит для любого рода приложений. Уже более миллиона разработчиков пользуются API, поддержкой нативного интерфейса, встроенным движком и рекламной платформой.
2) Phonegap
Простое создание приложений при помощи веб-технологий.
Использует HTML5, CSS и JavaScript. Спонсируется Apache и Adobe. Версия 2.0 предлагает поддержку Windows phone, новых библиотек и функций CLI. Для вставки кода в крупные приложения используется инструмент Cordova WebView
3) Xamarin
Для этого фреймворка код можно писать на С#. Также он работает в iOS и Windows. Поддерживается тестирование приложения в облаке.
4) Sencha Touch 2
Идеальная платформа для разработки и управления безопасными бизнес-приложениями, работающими на разных устройствах. Разработка ведётся на JavaScript и HTML5. Встроенная система MVC, 50 различных встроенных компонентов, система управления разработкой. Имеется бесплатная функция публикации приложения в Google Play.
5) Appcelerator
Разработчики утверждают, что в мире работают два миллиарда приложений, созданных на этом фреймворке. Частью фреймворка является Titanium SDK, который поддерживает разработку на языке JavaScript
6) Basic4Android
RAD (быстрая разработка приложений) и наличие своего IDE. Разработка ведётся на простом языке программирования, напоминающем Visual Basic.
7) JQuery Mobile
JQuery, заточенный под работу с сенсорными экранами. Помогает разработчикам строить сайты с отзывчивым дизайном и приложения, работающие как на десктопах, так и на планшетах и смартфонах.
8) Dojo Mobile
Фреймворк для создания приложений на базе HTML5 + JavaScript, помогающий реализовать быструю разработку мобильных приложений для Android и iOS. Присутствует набор форм, MVC, и симпатичные темы приложений.
9) Sproutcore
MVC-дизайн, оптимизация быстродействия и забота о расширяемости приложений.
10) Theappbuilder
Основан на HTML5. Предлагает простой drag and drop интерфейс без написания кода, что позволяет очень быстро разрабатывать приложения. Особое внимание уделяется интеграцией с соцсетями и прямая отправка приложений в Google Play.
11) DHTMLX Touch
Библиотека на основе AJAX и JavaScript, предназначенная для создания виджетов и приложений на основе HTML5.
12) Mo Sync SDK
Поддержка HTML5, JavaScript, C++ и 9-и различных платформ. Также возможно сопряжение с PhoneGap. Для отладки предлагается эмулятор под названием MoSync Reload.
Комментарии (23)
WebMonet
22.08.2015 17:21+4Ну и раз уж я тут первый, поделюсь опытом.
Для начала — PHP-кодер, со знанием основ PHP, HTML, CSS, JS на уровне написания говнокода. Заинетерсовался мобильными приложениями. Пересмотрел большинство перечисленных фреймворков. В своем большинстве они позволяют делать только HTML5 приложения в обертке браузера. Поэтому доступа к хардварной части мобильного устройства или нет совсем или он корявый / урезанный.
Пробовал PhoneGap — не проникся.
Ксамарин — нужно знание С#
Остановился на аппселераторе потому что:
— Огромный API
— Бесплатный
— Документация не самая удобная, но ее много.
— Неудобство документации с лихвой компенсируется stackoverflow и иже с ними.
— Приложения пишутся на Node.JS (+ underscore) — легкость освоения.
— Есть ACS — облако для приложения (в бесплатной версии недоступно, но у меня как-то получилось) — неи особых запарок с бекэндом.
— Можно делать приложения любой сложности
— Кроссплатформенность работает в 90% случаев.
Из минусов
— много багов, но они только добавляют повода подумать над кодом, реализацией.
— Некоторые инструменты реализованы плохо (консоль отладки) или никак (прототипирование, стили для приложений).
Ни в коем случае не агитирую за аппселератор, готов ответить на ваши вопросы по этой IDE, хочу услышать отзывы в аналогичном формате о других платформах и опять же ищу единомышленников.barsuga
23.08.2015 17:28+1Пользуемся Appcelerator в коммерческих проектах. Есть как плюсы, так и минусы. Кроме того, что Вы написали выше по поводу особенностей работы, пришли к нескольких выводам:
1) Appcelerator может эффективно решать 99,9% всех задач в мобильной разработке.
2) В случае «больших» проектов (время чистой разработки больше 3 месяцев) есть риски столкнуться с непредвиденными ошибками, на исправление которых уходит большое количество времени и сил. Особенно, вопросы memory leaks.
Как результат, отличное решение для большинства задач. Однако, для крупных проектов лучше использовать нативные инструменты. К сожалению, найти грань достаточно сложно.
RouR
24.08.2015 11:42Доступ к хардварной части мобильного устройства идёт через плагины, плагин пишется на нативном языке под устройство и предоставляет js-обёртку для вызова. Есть готовые, часто используемые плагины. Вполне рабочая схема.
malex
22.08.2015 18:38+9Каша какая то из разных технологий, с одной стороны конструкторы, с другой стороны css фрейморки, полного аналога/конкурента фоногапу в этом списке не увидел, поэтому он особняком стоит и нам приходится мучится именно с его багами.
REZ1DENT3
22.08.2015 18:40+3так же есть ionic framework (web) и JUCE Cross-Platform (c++)
Ganster41
22.08.2015 22:44+2Плюсану насчет Ionic. Довольно интересный и амбициозный проект. Помимо надстроек над Cordova, вроде AngularJS и набора готовых Web-компонентов, есть и интересные разработки, вроде Ionic View, которая правда пока превращается в тыкву, при использовании любого плагина, не входящего в список поддерживаемых.
avvor
22.08.2015 18:41+1А Cordova которая теперь в VS2015 «из коробки»? Да и unity 5 с их новым UI теперь подходит для приложений.
На чем основана эта статистика?TheRabbitFlash
26.08.2015 10:03Делать приложения (речь не о играх) на unity — это примерно как кушать суп вилкой.
vollossy
23.08.2015 12:34+1Как-то имхо слишком много html-based фреймворков(мне лично приложения, написанные с использованием подобных библиотек ну очень сильно не нравятся). Было бы интересно узнать, какой процента разработчиков предпочитает именно такие технологии.
Mithgol
23.08.2015 21:57+1Устройте опрос, тогда узнаете.
AMDev
26.08.2015 04:07Кстати, в прошлом году так и сделали habrahabr.ru/post/229559 с несколькмим опросами.
shtorman
23.08.2015 13:19Занятно. Вот еще интересненькое (хоть и прошлогоднее) Обзор 7 самых популярных кроссплатформенных мобильных фреймворков.
Кто-то пользовался marmalade?
Кто видел более детальное сравнение? (можно на английском или русском)
Сайт mosync.com не выдержал хабраэффект или у них плановые работы?RuJet
27.08.2015 21:57Mosync уже который год заброшен. Хотя сайт недавно был доступен.
Он начинался хорошо и интересно. Но потом то ли спонсоры ушли, то ли основной разработчик ушел в другую компанию и все сдулось.
Тоже к нему присматривался. Рад, что вовремя соскочил.
Странно, что он до сих пор попадает в такие обзоры.
makcums
23.08.2015 14:37А как же NativeScript? Вполне удобная штука. Пока ребята из Фейсбука реализуют возможность использовать Реакт-нэйтив для разработки под Андроид, можно юзать NS.
Mithgol
24.08.2015 09:38+3Не очень понятно, почему автор первоисточника выбрал PhoneGap, а не «голую» Cordova.
TheRabbitFlash
26.08.2015 10:02Вот только не смейтесь, но все мои знакомые прошли через такой путь. Причем о нем мне они рассказывать начали еще с 2013 года примерно :)
Начало знакомства:
О, круто! Я всю жизнь делаю сайты и теперь смогу делать мобильные приложения как Бог — На HTML через ХХХ движок! Осталось среди 100500 движков выбрать единственный, который самый крутой!
Спустя неделю:
Так, все ок. Приложение сделал. Круто, что быстро вышло! Теперь надо протестировать его у друга. У него как раз X1 девайс. А то на моем X10 все клево и всегда.
Спустя две недели:
Так, что-то тормозит и лагает все дико. Пойду гляну еще раз на других девайсах. Так, что-то на популярных X2-X5 все уныло лагает. Это наверное потому, что я выбрал XXX фреймворк. Возьму-ка я ZZZ или вобще FFF, там еще круче пишут в рекламе!
Спустя еще пару дней:
Так, что-то и тут лагает. Ладно, хрен с ним. Надо прикрутить нативные сервисы. О блин, плагин надо на нативе писать. То, что я хочу — нету из коробки.
Спустя месяц:
Да что за бред!? Почему написано, что всё можно, когда оно лагает и ничего не работает, как надо!? А для компонентов надо на нативе писать!? Может сразу надо на нативе писать?
Спустя два месяца:
Ого! Так оказывается, что все эти «фреймворки» — это просто WebView и ничего больше! Нафига я вообще с этим связывался!? Пойду всё на натив перепишу с того тормозного овна!
Спустя пол года чуваки идут работать нативщиками в компании и забивают на тщетные попытки разработки html приложений. Занавес.
Кстати, дабы не давать людям ложные надежды — почитайте лучше про LinkedIn, как они сначала били себя в грудь, что за html приложениями будущее и потом начали кричать, что это был их самый печальный опыт и они ушли в натив, т.к. на html ничего сложнее формы логина сделать не получится, чтоб не лагало.
WebMonet
Пользуюсь аппселератором. Очень доволен. Нехватает только русскоязычных единомышленников и опыта в Node.JS.