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

Лирически-ностальгическое отступление

На http://www.fcenter.ru/online.shtml?hardnews промелькнула новость:

Тридцать лет компьютеру ZX80

Прошедшая неделя ознаменовалась юбилейным событием, о котором есть смысл вспомнить. Ровно 30 лет назад компания Клайва Синклера (Clive Sinclair) Sinclair Research Ltd представила домашний игровой компьютер ZX80 на процессоре Z80 компании «Zilog». Эта модель просуществовала всего год и была заменена улучшенной Z81 и впоследствии цветной моделью ZX Spectrum:



ZX Spectrum


Сэр Клайв Синклер

Компьютер ZX Spectrum выпускался десять лет подряд! Породил массу клонов и стал первым массовым домашним компьютером. За выпуск серии основатель компании Клайв Синклер был удостоен высокого звания «Рыцарь королевского Ордена» и теперь к нему обращаются не иначе как Сэр. В лучшие годы продажи «спектрумов» приносили компании до 15 млн. фунтов стерлингов годовой прибыли. Для того времени — это отличный результат.


К юбилею машинки издание The Guardian, взяло интервью у Сэра Синклера. Как оказалось, отец «спектрумов» не любит современные компьютеры и не представляет, куда те девают дикие, по его мнению, объёмы памяти. Отчасти, это обычное брюзжание пожилого человека (в этом году ему исполняется 70 лет). Но на самом-то деле совсем не секрет, что оптимизация кода давно отодвинута на последнее место.

...Полностью солидарен с достопочтимым сэром.
Тогда это было искусство, сейчас - в основном не слишком одаренные поделки.

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

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

Нет, я конечно подозревал, что подходы к разработке, 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 и знает как бороться с трудностями жизни. У менее подготовленного контингента будет подольше.

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