image

Android – прекрасная платформа для мобильных устройств, она работает на миллионах смартфонов в 200 странах по всему миру. В этом посте я собрал несколько популярных фреймворков для разработки приложений под Android, из числа популярных среди разработчиков.

Смысл фреймворка – увеличить производительность, уменьшив затраты усилий на разработку. В идеале они экономят разработчикам время на то, чтобы заняться реально важными при разработке приложения вопросами.

1) Corona SDK


Богатый инструментарий для создания игр и приложений за рекордно короткое время

image

Обеспечивает возможность очень быстрой разработки. Элегантный API упрощает добавление сложных функций, технологический процесс позволяет сразу же видеть внесённые изменения, сама же разработка идёт на Lua – простом для изучения языке. Всё это приводит к рекордной скорости разработки.

Самый популярный фреймворк, часто используется разработчиками игр, но подходит для любого рода приложений. Уже более миллиона разработчиков пользуются API, поддержкой нативного интерфейса, встроенным движком и рекламной платформой.

2) Phonegap


Простое создание приложений при помощи веб-технологий.

image

Использует HTML5, CSS и JavaScript. Спонсируется Apache и Adobe. Версия 2.0 предлагает поддержку Windows phone, новых библиотек и функций CLI. Для вставки кода в крупные приложения используется инструмент Cordova WebView

3) Xamarin


image

Для этого фреймворка код можно писать на С#. Также он работает в iOS и Windows. Поддерживается тестирование приложения в облаке.

4) Sencha Touch 2


image

Идеальная платформа для разработки и управления безопасными бизнес-приложениями, работающими на разных устройствах. Разработка ведётся на JavaScript и HTML5. Встроенная система MVC, 50 различных встроенных компонентов, система управления разработкой. Имеется бесплатная функция публикации приложения в Google Play.

5) Appcelerator
image

Разработчики утверждают, что в мире работают два миллиарда приложений, созданных на этом фреймворке. Частью фреймворка является Titanium SDK, который поддерживает разработку на языке JavaScript

6) Basic4Android


image

RAD (быстрая разработка приложений) и наличие своего IDE. Разработка ведётся на простом языке программирования, напоминающем Visual Basic.

7) JQuery Mobile


image

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

8) Dojo Mobile


image

Фреймворк для создания приложений на базе HTML5 + JavaScript, помогающий реализовать быструю разработку мобильных приложений для Android и iOS. Присутствует набор форм, MVC, и симпатичные темы приложений.

9) Sproutcore


image

MVC-дизайн, оптимизация быстродействия и забота о расширяемости приложений.

10) Theappbuilder


image

Основан на HTML5. Предлагает простой drag and drop интерфейс без написания кода, что позволяет очень быстро разрабатывать приложения. Особое внимание уделяется интеграцией с соцсетями и прямая отправка приложений в Google Play.

11) DHTMLX Touch
image

Библиотека на основе AJAX и JavaScript, предназначенная для создания виджетов и приложений на основе HTML5.

12) Mo Sync SDK
image

Поддержка HTML5, JavaScript, C++ и 9-и различных платформ. Также возможно сопряжение с PhoneGap. Для отладки предлагается эмулятор под названием MoSync Reload.

Комментарии (23)


  1. WebMonet
    22.08.2015 17:09
    +1

    Пользуюсь аппселератором. Очень доволен. Нехватает только русскоязычных единомышленников и опыта в Node.JS.


  1. WebMonet
    22.08.2015 17:21
    +4

    Ну и раз уж я тут первый, поделюсь опытом.
    Для начала — PHP-кодер, со знанием основ PHP, HTML, CSS, JS на уровне написания говнокода. Заинетерсовался мобильными приложениями. Пересмотрел большинство перечисленных фреймворков. В своем большинстве они позволяют делать только HTML5 приложения в обертке браузера. Поэтому доступа к хардварной части мобильного устройства или нет совсем или он корявый / урезанный.
    Пробовал PhoneGap — не проникся.
    Ксамарин — нужно знание С#
    Остановился на аппселераторе потому что:
    — Огромный API
    — Бесплатный
    — Документация не самая удобная, но ее много.
    — Неудобство документации с лихвой компенсируется stackoverflow и иже с ними.
    — Приложения пишутся на Node.JS (+ underscore) — легкость освоения.
    — Есть ACS — облако для приложения (в бесплатной версии недоступно, но у меня как-то получилось) — неи особых запарок с бекэндом.
    — Можно делать приложения любой сложности
    — Кроссплатформенность работает в 90% случаев.

    Из минусов
    — много багов, но они только добавляют повода подумать над кодом, реализацией.
    — Некоторые инструменты реализованы плохо (консоль отладки) или никак (прототипирование, стили для приложений).

    Ни в коем случае не агитирую за аппселератор, готов ответить на ваши вопросы по этой IDE, хочу услышать отзывы в аналогичном формате о других платформах и опять же ищу единомышленников.


    1. barsuga
      23.08.2015 17:28
      +1

      Пользуемся Appcelerator в коммерческих проектах. Есть как плюсы, так и минусы. Кроме того, что Вы написали выше по поводу особенностей работы, пришли к нескольких выводам:
      1) Appcelerator может эффективно решать 99,9% всех задач в мобильной разработке.
      2) В случае «больших» проектов (время чистой разработки больше 3 месяцев) есть риски столкнуться с непредвиденными ошибками, на исправление которых уходит большое количество времени и сил. Особенно, вопросы memory leaks.

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


    1. RouR
      24.08.2015 11:42

      Доступ к хардварной части мобильного устройства идёт через плагины, плагин пишется на нативном языке под устройство и предоставляет js-обёртку для вызова. Есть готовые, часто используемые плагины. Вполне рабочая схема.


  1. malex
    22.08.2015 18:38
    +9

    Каша какая то из разных технологий, с одной стороны конструкторы, с другой стороны css фрейморки, полного аналога/конкурента фоногапу в этом списке не увидел, поэтому он особняком стоит и нам приходится мучится именно с его багами.


    1. AMDev
      23.08.2015 08:22

      Странно, что аналога/конкурента фоногапу не увидели, а appcelerator, разве не аналог/конкурент?


      1. malex
        23.08.2015 11:36

        На сколько я понял у него нет бесплатной комьюнити версии?


        1. AMDev
          26.08.2015 04:05

          Да, но начать можно без вложений.


  1. REZ1DENT3
    22.08.2015 18:40
    +3

    так же есть ionic framework (web) и JUCE Cross-Platform (c++)


    1. Ganster41
      22.08.2015 22:44
      +2

      Плюсану насчет Ionic. Довольно интересный и амбициозный проект. Помимо надстроек над Cordova, вроде AngularJS и набора готовых Web-компонентов, есть и интересные разработки, вроде Ionic View, которая правда пока превращается в тыкву, при использовании любого плагина, не входящего в список поддерживаемых.


  1. avvor
    22.08.2015 18:41
    +1

    А Cordova которая теперь в VS2015 «из коробки»? Да и unity 5 с их новым UI теперь подходит для приложений.
    На чем основана эта статистика?


    1. TheRabbitFlash
      26.08.2015 10:03

      Делать приложения (речь не о играх) на unity — это примерно как кушать суп вилкой.


  1. Error1024
    22.08.2015 19:06
    +2

    Embarcadero RAD Studio/FireMonkey тогда уж еще.


  1. vollossy
    23.08.2015 12:34
    +1

    Как-то имхо слишком много html-based фреймворков(мне лично приложения, написанные с использованием подобных библиотек ну очень сильно не нравятся). Было бы интересно узнать, какой процента разработчиков предпочитает именно такие технологии.


    1. Mithgol
      23.08.2015 21:57
      +1

      Устройте опрос, тогда узнаете.


      1. AMDev
        26.08.2015 04:07

        Кстати, в прошлом году так и сделали habrahabr.ru/post/229559 с несколькмим опросами.


  1. shtorman
    23.08.2015 13:19

    Занятно. Вот еще интересненькое (хоть и прошлогоднее) Обзор 7 самых популярных кроссплатформенных мобильных фреймворков.
    Кто-то пользовался marmalade?
    Кто видел более детальное сравнение? (можно на английском или русском)
    Сайт mosync.com не выдержал хабраэффект или у них плановые работы?


    1. RuJet
      27.08.2015 21:57

      Mosync уже который год заброшен. Хотя сайт недавно был доступен.
      Он начинался хорошо и интересно. Но потом то ли спонсоры ушли, то ли основной разработчик ушел в другую компанию и все сдулось.
      Тоже к нему присматривался. Рад, что вовремя соскочил.

      Странно, что он до сих пор попадает в такие обзоры.


  1. makcums
    23.08.2015 14:37

    А как же NativeScript? Вполне удобная штука. Пока ребята из Фейсбука реализуют возможность использовать Реакт-нэйтив для разработки под Андроид, можно юзать NS.


  1. sova
    24.08.2015 07:48
    +1

    а как насчет cocos2dx?


    1. AiNE
      31.08.2015 12:45
      +1

      один из лучших движков


  1. Mithgol
    24.08.2015 09:38
    +3

    Не очень понятно, почему автор первоисточника выбрал PhoneGap, а не «голую» Cordova.


  1. TheRabbitFlash
    26.08.2015 10:02

    Вот только не смейтесь, но все мои знакомые прошли через такой путь. Причем о нем мне они рассказывать начали еще с 2013 года примерно :)

    Начало знакомства:
    О, круто! Я всю жизнь делаю сайты и теперь смогу делать мобильные приложения как Бог — На HTML через ХХХ движок! Осталось среди 100500 движков выбрать единственный, который самый крутой!

    Спустя неделю:
    Так, все ок. Приложение сделал. Круто, что быстро вышло! Теперь надо протестировать его у друга. У него как раз X1 девайс. А то на моем X10 все клево и всегда.

    Спустя две недели:
    Так, что-то тормозит и лагает все дико. Пойду гляну еще раз на других девайсах. Так, что-то на популярных X2-X5 все уныло лагает. Это наверное потому, что я выбрал XXX фреймворк. Возьму-ка я ZZZ или вобще FFF, там еще круче пишут в рекламе!

    Спустя еще пару дней:
    Так, что-то и тут лагает. Ладно, хрен с ним. Надо прикрутить нативные сервисы. О блин, плагин надо на нативе писать. То, что я хочу — нету из коробки.

    Спустя месяц:
    Да что за бред!? Почему написано, что всё можно, когда оно лагает и ничего не работает, как надо!? А для компонентов надо на нативе писать!? Может сразу надо на нативе писать?

    Спустя два месяца:
    Ого! Так оказывается, что все эти «фреймворки» — это просто WebView и ничего больше! Нафига я вообще с этим связывался!? Пойду всё на натив перепишу с того тормозного овна!

    Спустя пол года чуваки идут работать нативщиками в компании и забивают на тщетные попытки разработки html приложений. Занавес.

    Кстати, дабы не давать людям ложные надежды — почитайте лучше про LinkedIn, как они сначала били себя в грудь, что за html приложениями будущее и потом начали кричать, что это был их самый печальный опыт и они ушли в натив, т.к. на html ничего сложнее формы логина сделать не получится, чтоб не лагало.