Samsung затеял конкурс для разработчиков под bada (с очень не детскими бюджетами), и это послужило решающим фактором -- я все-таки поставил себе SDK для bada.
Получить SDK довольно просто: идем на
http://developer.bada.com/, регистрируемся и качаем релиз 1.0.0b2 (по современным мерках не очень большого размера -- примерно 600 метров).
Работает все под Windows, "архаичная" XP поддерживается.
В комплект поставки входит:
- tutorial документация в формате pdf (ее можно было скачать с сайта еще в том году)
- IDE на основе Eclipse
- довольно много примеров приложений
- toolchain, i686-mingw32 версии 4.4
- эмулятор телефона S8500 aka Wave, фактически пустой -- приложений и виджетов там нету
Какие моменты хотелось бы отметить.
#1. Эмулятор нереально тормозной, при том, что работает под x86 архитектуру, а не эмулирует ARM. И самое нехорошее, что при каждом запуске приложения из IDE он фактически стартует с нуля, что означает фактическое начало процесса отладки только через минуту, после того, как вы инициировали этот процесс.
#2. Собираться можно только под эмулятор, т.е. только под x86. Toolchain для ARM в комплект не входит и меня это настораживает.
Среду разработки Samsung позаимствовал отсюда
http://www.codesourcery.com/sgpp/Как видим, за pro edition этого пакета просят ни много ни мало три штуки зелени.
Исходя из того, что первый этап конкурса проходит только в эмуляторе, а до реальных билдов будут допущены только лучшие 90 приложений, складывается впечатление, что SDK для bada будет стоить денег. И, возможно, не маленьких.
На мой взгляд, разработка под x86 эмулятор не самый правильный путь, т.к. ARM архитектура неопытным гражданам может подкинуть несколько весьма неприятных моментов, вроде выравнивания и порядка байт в машинных типах (пишем то на плюсах, а не на Java).
#3. Судя по документации, английский язык у корейских разработчиков еще хуже чем у меня (а у меня это отнюдь не самое сильное место).
#4. Я сразу же проверил RTTI, exceptions, STL и даже кое-что из boost.
Все отлично работает (естественно, под MinGW и x86). Есть мелочи, вроде отсутствующих стандартных потоков ввода/вывода или непонятно куда пропавший класс std::wstring (проблема решается банальным typedef для шаблона basic_string).
Однако на данном этапе узкоглазые в release notes как бэ намекают нам, что при билдах под настоящий target у них не все так гладко, и те же throw/catch пока что НЕ работают.
Как обстоят дела на самом деле совершенно не понятно, потому что возможности для таких билдов нам не предоставили. И когда предоставят -- не известно.
Точно так же, совершенно непонятно, когда все эти проблемы будут исправлены, и будут ли они исправлены вообще.
Это очень и очень плохо. Хотя, желающих писать на си с использованием недоплюсового API bada эта неопределенность вряд ли остановит.
#5. Судя по примерам, с GUI все довольно грустно.
С одной стороны, визуальный редактор форм в комплекте есть (с помощью него получается XML, который можно подгрузить при создании формы).
С другой -- в подавляющем большинстве примеров им никто не пользуется, предпочитая такую вот клинопись (держите меня трое!):
http://dl.dropbox.com/u/490401/src/bada_ui.cppХрен с ним, с визуальным редактором, но вот отсутствие классов а-ля layout и торчащие отовсюду абсолютные координаты и ручное позиционирование -- это настоящий пиздец, который люди будут разхлебывать уже завтра, когда появятся девайсы с разрешением экрана, отличным от 480x800.
Такая вот картина маслом.
Может вместо вливания нереальных бабок в конкурс, лучше бы Samsung своевременно решали технические проблемы? Тот же API нормальный бы сделали?...
А вообще, не факт, что эти влитые в рамках конкурса три лимона зелени способны привлечь разработчиков. Конечно, хреновый SDK (а в bada он хреновый) не способен остановить бизнес интерес к платформе (и AppStore тому пример). Но для того, чтобы в платформу начали вкладывать, нужно выполнение минимум двух условий:
- нужен большой парк проданных телефонов (думаю, с этим у корейцев не будет проблем);
- нужно, чтобы пользователи телефонов постоянно покупали приложения в магазине.
А вот со вторым у Samsung наверняка будут проблемы, ибо успешно смогла решить этот вопрос только компания Apple. На сегодняшний день инвестиции в bada это игра в рулетку, с очень сомнительными шансами на выигрыш.
Пара ссылок с критикой bada API:
http://cd-riper.livejournal.com/232972.htmlhttp://cd-riper.livejournal.com/274516.html Электролобзик metabo ste 105 plus.