уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Вчера стал обладателем девайса под названием HTC Desire S, работающего под управлением Android 2.3 также в народе ласково именуемого «Андрюша».

Собственно, как выглядит сие чудо техники Вы можете видеть на картинке слева. Можно было б взять чего-нибудь похожее, но под управлением Windows Mobile, но поход по всем точкам продаж в районе показал, что в радиусе практически 1 км. в продаже стоит всего 1 аппарат под управлением Win Mobile 6.5 (популярность на высоте, да..). Ну вот и остановил свой выбор на Desire S.

Ну и, естественно, первым делом решил пошерстить сеть на предмет разработки под Android.  Так как у меня есть Delphi Prism XE2, то первым делом глянул в сторону RemObjects.

На данный момент у RemObjects есть довольно неплохой проект под названием Oxygene for Java. Смысл проекта, в принципе, как и у Oxygene for .NET (Delphi Prism) — разработка приложений на языке максимально удобном для тех, кто владеет навыками работы с Delphi. Жаль, конечно, что Oxygene for Java не входит в состав Prism и пришлось качать 30-ти дневный триал, но тут уж ничего не поделать.

Первым делом скачал Android SDK для своего коммуникатора. Затем скачал и установил Oxygene for Java. В Visual Studio Shell 2010 появились новые типы проектов:

Создал новый проект. Приложение элементарное: по центру экрана кнопка, кликаем по кнопке и надпись на ней меняется, показывая количество кликов. Признаюсь честно, ожидал какого-то глюка — не соберется, соберется, но не запуститься на трубе, запуститься, но не заработает. Всё-таки проект Oxygene for Java новый и то, что работало на тестах в эмуляторах может не сработать как надо на «живом железе». Но, сомнения были напрасны. Проект собрался без запинки с первого раза.

Решил пойти дальше. Подключил девайс через USB к компу и в настройках разработки приложений на трубе выставил опцию «Отладка по USB». Снова собрал проект в VS и вуа-ля — проект без заморочек перекочевал на аппарат и запустился в режиме отладки. Ок. Продолжил тесты и перепробовал собрать все, имеющиеся демки проектов (их предоставляется сразу 11 штук) — приложения с табами, работа со списками, с БД SQLite и т.д. — ни одной проблемы со сборками и запуском.

После того, как поигрался с демками решил немного пофантазировать и написать что-нибудь простенькое, но свое. И вот тут пришел к неутишительному для фанатов Pascal и Delphi выводу — не стоит тратить время на Cooper’а (второе название Oxygene for Java). Нет, то, что я делал вполне нормально заработало — окно диалога успешно «выпало» на экран, труба повибрировала и всё такое, т.е. к работоспособности претензий не возникло. Но, блин, сама структура проекта, назначение обработчиков событий, свойств объектов приложения, создание объектов — всё не так. Даже по сравнению с Oxygene for .NET как-то ощущается отличие. Вспоминая первое свое знакомство с Delphi Prism, скажу, что первый проект на Prism разрабатывался намного проще и быстрее, чем в Oxygene for Java.

Не могу спорить, может Cooper и возымеет ошеломляющий успех среди разработчиков и будет незаменимым помощником в разработке приложений под Android, но стоит ли тратить время на изучение Cooper’а, чтобы получить минимальное преимущество в виде немного похожего синтаксиса? По-моему, намного более правильным будет тоже самое время потратить на изучение Java, если уж сильно приспичит разрабатывать под Android. Имея скромный опыт изучения языков программирования могу сказать, что тяжело учится первый язык, а когда он изучен, то другие идут намного легче. И изучение синтаксиса тут занимает самое минимальное время. Пока же решил сильно не форсировать события и следить за работой над Firemonkey — если там будет сделана поддержка Android вот тогда можно будет повыбирать между Java и Delphi.

Также рассмотрел для полноты коллекции ещё несколько вариантов разработки под Android (если уж вообще «заломает» учить Java).

Есть бесплатный проект «Delphi For Android«. Но, что-то смущает меня скорость его развития. Поэтому в его сторону особенно не смотрел.

Также глянул на Lazarus. Поверхностный поиск по вики Лазаря показал, что разработать под Android прогу в Lazarus можно, но более менее полный манул по тому как это сделать есть только для Linux…может попозже проверю этот вариант работы в Windows. Если получится, что-нибудь путнее — отпишусь.

Есть также MonoDroid, но про этот вариант вообще ничего сказать не могу. Кто-нибудь пробовал использовать MonoDroid?

Вот собственно, что хотел сказать. В заключение очень бы хотелось получить от Вас, читатели, ответ на такой вопрос:

В чем бы Вы начинали разработку для Android? И почему?

0 0 голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Подписаться
Уведомить о
14 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
teran
21/12/2011 20:06

если чо для тлф есть обновление до сенс 3.0 и андройд 2.5 — там только одна шкура, и другие особо не поддерживаюся, я его поставил и переплювался весь. лучше не обновляйся а сиди на родном 2.1/2.3 (:

*читает Thinking in Java 

teran
22/12/2011 01:20

я вот все хочу откатиться обратно, но че то хз как это сделать (: чую тут может помочь только какой нить общий сброс, что меня как то особо не устраивает. в суппорт бы написать, да че то все как то руки не доходят. впрочем если ты используешь стандартную обложку, которая с полукругом такая внизу, то можешь и обновиться. мне она просто не нравится, и я раньше юзал там квадратную такую.. вот эту http://forum.xda-developers.com/showthread.php?t=1163879 (там скрины уже под сенс 3.0 представлены) она т.е в стандартном варинате была в комплекте. а а в андройде 2.3.5 она не работает.   а так помимо отсутствие нормальный скинов… Подробнее »

panda
22/12/2011 12:04

>> В чем бы Вы начинали разработку для Android? И почему?
Начал в Eclipse, запускаемом в Linux на нетбуке. Дешево и сердито, официально поддерживаемо Гуглом, приемлемо по скорости. С отладкой все отлично (я точно знаю, что исполняется именно тот код на Java, который я написал).

ter
ter
23/12/2011 16:14

да. кстати по поводу ответа на вопрос. я бы тоже выбрал ecplipse, как самую наверное распространенную платформу для программирования (IDE) на Java.
дочитаю книжку по Java и попробую (:
у Embarcadero есть кстати продукт JBuilder , но как то он тухленько вроде развивается.
разработка под андройд на RAD PHP хоть и рекламируется, но мне представляется весьма туманной.

ter
ter
23/12/2011 19:30

говорят Thinking in Java — лучшая книжка. только лучше читать в оригинале, ибо перевод как всегда имеет много косяков.  я уже где то ближе к трети книги (: но времени нет на чтение как то.   в пхп мне что не нравится для Андройда. если в обычных языках программирования, у меня программа постоянно находится в памяти, есть некоторый набор объектов, к которым могу обращаться, то в пхп варианте, получается что каждое действие — выполнение нового скрипта, т.е все состояния объектов придется сохранять в сессии или еще где. т.е объект в принципе не сохраняется между действиями. нажал кнопку — восстанавливай все… Подробнее »

teran
24/12/2011 22:37

неа, другие книги не читал, мне сказали что эта лучшая :) я вот ее и читаю (:

TheAthlete
TheAthlete
10/01/2012 18:14

я бы сейчас писал бы на html5 или с++ (android ndk)

panda
11/01/2012 14:43

>> с++ (android ndk)
Т.е. ручное написание кода под каждую модель телефона и планшета? Сильный выбор!

Sinhay
17/02/2012 06:22

Что могу сказать мне и с виду телефон не понравился, а эти заморочки с софтом тем более желание отбивают связыватся с этой моделью. А по поводу вопроса то конечно Eclipse, до меня вижу все объяснили.