Кроссплатформенная разработка мобильных приложений

Изучив несколько тем о кросс платформенной разработки выбрал несколько для изучения:

PhoneGap — основана на node.js и Cordova — соответственно прежде чем ставить нужно поставить все и вся и за этим потянутся хвосты. Но об этом чуть позже.

Intel XDK — основан не понятно на чем пишут что достаточно поставить XDK, Java6* и Chrome с плагином XDK. Сразу скажу что тут я застрал совсем — во-первых чтобы зайти в программу нужно залогиниться — а это он упорно не хочет делать говоря что вышел тайм-аут ( а во-вторых не нашел я этого плагина к хрому. В общем печалька, оставим на второй раз.

Итак, PhoneGap — я уже пробовал на нем создать что-то и это получилось под виндовс. Не помню какие бубны потребовались, но это вышло! А значит это жизнеспособно.

Итак понеслись.

Первым делом нам надо поставить node.js — для этих целей лучше всего посетить сайт или выполнить следующие шаги (актуально для CentOS 6.*):

sudo curl -sL https://rpm.nodesource.com/setup | bash -
sudo yum install -y nodejs
sudo yum install gcc-c++ make
# or: sudo yum groupinstall 'Development Tools'

Затем ставим сам PhoneGap:

sudo npm install -g phonegap

Пробуем создать приложение и запустить его:

phonegap create my-app
cd my-app
phonegap run android

Все будет хорошо до третьего шага, а вот на нем — ошибка. Я так и не понял почему на сайте PhoneGap не указано что нужны еще шаги для этого дела, но видимо я перескачил какой-то шаг. А сделать надо следующее — вам обязательно нужно скачать SDK под нужную платформу и связать её с Cardova.

Для начала идем на https://developer.android.com/sdk/ и качаем последнюю SDK без ADT. Как это выглядит в линукс:

cd /home
wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
tar -xzf android-sdk_r23.0.2-linux.tgz

И привязываем с помощью переменных, для разных ОС это будет выглядеть так:

Mac OS X

export ANDROID_HOME=//android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Linux

export ANDROID_HOME=//android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Windows

set ANDROID_HOME=C:\\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

Теперь добавляем платформу:

cordova platform add android

В ходе добавления скорее всего возникнет ошибка о том что требуется 19-я версия SDK.

Для этого вызываем менеджер пакетов:

android &

Чекаем недостающий SDK и качаем его.

После этого платформа должна добавиться без проблем.

Следующим шагом — пробуем запустить приложение:

cd /home/my-app/
phonegap build android

Скорее всего получим ошибку «ant -veriosn»

Доставляем пакет:

yum install ant -y

Пробуем еще раз — и опять ошибка!

Что на этот раз:

Error code 1 for command: ant with args: debug,-f,/home/my-app/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen

Опять приплыли ( оказывается версия ANT из репозитория 1.6.5, а надо минимум 1.8.2

Надо ставить её. Но это в след. раз

Пока что статья не закончена.