воскресенье, 28 февраля 2010 г.

Сравниваем среды разработки для айФоноПодоПадов и Ондроедов

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

Нет, я конечно подозревал, что подходы к разработке, usability, отношению к конечным пользователям у монстров IT различаются (а в данном случае простые смертные разработчики являются теми самыми пользователями SDK), но чтобы настолько....

Пункт первый - Скачиваем:

iPhone
     Название: iPhone SDK
     Где взять: http://developer.apple.com/iphone/
     Доступ: Бесплатно. Для получения последней стабильной версии необходима бесплатная регистрация и получение AppleID. Для получения бета-версий необходима платная регистрация в качестве iPhone разработчика.
     Размер: ~2.2Gb
     Что входит: iPhone SDK всех вышедших на данный момент версий, Mac OS X SDK всех версий, среда разработки XCode 3, вся документация.
     Справочная информация: Разработка под iPhone ведется на Objective-C, с использованием фреймворков производства Apple.

Android
     Название: Android SDK
     Где взять: http://developer.android.com/index.html
     Доступ: Бесплатно. Регистрация не требуется.
     Размер: ~20Mb
     Что входит: только служебные утилиты. Сами SDK (отдельный комплект для каждой версии платформы), документация, средства разработки в комплект не входят.
     Справочная информация: Разработка под Android ведется на Java, фреймворки производства Google.

В деревне виллаАйРиба все уже готово для начала работы, а в деревне гуглоБаджо все еще нужно готовиться и готовиться к началу процесса...

Пункт 1.5 - скачиваем и ставим все то, что недодал разработчик Android SDK:


iPhone
     Все готово к работе, ничего качать и донастраивать не требуется. Скучно, но красиво и беспроблемно.

Android
     Нас приветствуют в какой-то очень лаконичной манере и намекают что это только начало долгого пути...

Запускаем упомянутую утилиту android, пытаемся законнектиться к хранилищу гугла и...

     Failed to fetch URL https://dl-ssl.google.com/android/repository/repository.xml, 
     reason: HTTPS SSL error. You might want to force download through HTTP 
     in the settings.

Однако, сервис - подумал Штирлиц, хмыкнул и нагуглил в гуглгруп решение гуглсообщества для гуглсозданной гуглопроблемы.
http://groups.google.com/group/android-developers/browse_thread/thread/63a44163a8d07cd9

То бишь, нужно создать с нуля конфиг в потаенном месте и прописать не менее секретный параметр:

The file is ~/.android/androidtool.cfg 
try to create it manually and add one line to it:
sdkman.force.http=true 

Вот теперь можно продолжать.

     Что требуется доустановить:

       - SDK пакеты (по одному на каждую версию API)
       - API пакеты (еще столько же)

Скачав еще ~1.2Gb, мы получаем SDK на локальной машине, можно запустить в холостом режиме эмулятор, но разрабатывать все еще ничего не получится т.к. нужна среда разработки.

Что ж, давайте ставить и ее.
Пусть это будет бесплатный Eclipse и плагин для разработки под Android к нему.
     - Скачиваем Eclipse IDE for JAVA developers http://www.eclipse.org/downloads/ для нужной нам платформы.
     - Не останавливаемся, перевариваем следующий гайд и устанавливаем ADT плагин http://developer.android.com/guide/developing/eclipse-adt.html
- в настройках Eclipse прописываем путь к SDK (путь к корневому каталогу куда мы его распаковали в свое время)
Фуф...
Вот теперь можно разрабатывать что-то и для одной платформы и для другой, отлаживать, проверять на симуляторах и на реальных устройствах.

Итого:


iPhone
    Затраченное время: время на то чтобы зарегистрироваться и скачать 2 гигабайта СДК + ~20минут на установку

Android
     Затраченное время: часа так на 2-3 больше для человека который видел в глаза Eclipse и знает как бороться с трудностями жизни. У менее подготовленного контингента будет подольше.

В следующей статье проведем сравнение средств эмуляции реальных устройств с точки зрения разработки.

Комментариев нет:

Отправить комментарий