Вниз  Bada OS
- 5.01.2012 / 01:55
меч
  Пользователь

меч 
а мне нравится
- 5.01.2012 / 10:36
BPS
  Супермодератор

BPS 
Сейчас: Offline
меч, Мы давно об этом знаем
- 5.01.2012 / 11:23
mrEDitor
  Пользователь

mrEDitor 
Сейчас: Offline
BPS (04.01.2012/23:31)
2. Нет, сцуко, майнкрафта :gg:
серьезный минус :-D
- 5.01.2012 / 23:12
BPS
  Супермодератор

BPS 
Сейчас: Offline
Maxus, На айфон мне пох. Хотя, игры рулят. А такая ситуация для бады печальна
- 6.01.2012 / 00:17
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
JUST_IF, :lol:

Бада 1.1
Аццкие управляемость, интерфейс и понимание жестов человека. Совершенно не умеет правильно делать то, чего хочет пользователь. Интерфейс в стиле самсунга. Всегда стандартный.

Дельфин 2.0.
Самый аццкий браузер. Есть, конечно и плюсы...Но минусов больше.
Зачем-то пытался мне выделить текст, хотя я лишь листал страницу. И наоборот, совершенно не хотел выделять, когда мне это нужно было. Тупейшая навигация. При нажатии "назад" по новой загружает страницу. Ужос.
- 6.01.2012 / 00:38
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
Maxus, Какой бы она ни была, она должна быть удобной, красивой, быстрой. Чтобы я мог очень комфортно решать необходимые мне задачи. А не покупать "флагманские" решения за 20 000, чтобы только порадоваться толстому экрану, крутой начинке, поиграться в игры и бояться выходить с ним на улицу, так как могут защемить гопари.
 
Если её выпустили на рынок, значит она должна представлять из себя что-то стоящее, а не кусок дерьма.
 
Вот так вот ;)
- 6.01.2012 / 00:47
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
Maxus (05.01.2012/23:42)
Просить от той суммы что ты вложил в это устройство будет бредово не так ли?
Чего просить?

Нормального юзабилити? Есть много других устройств, которые за ту же цену дадут то, чего я хочу, но добавят ещё и вкусняшек.
- 6.01.2012 / 09:42
Dapustim
  Пользователь

Dapustim 
Сейчас: Offline
вы так кретично все расписали . это ужас а мне бада нравиться да работа над ней пресоит долга косяки есть в любом бесплатном проекте . хоть более старая версия бады больше нравилось . Посмотрим что будет в ближайшие 5 лет .
- 6.01.2012 / 12:30
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
Maxus (06.01.2012/09:39)XakepPRO, да ну, с сенсорным экпаном в 3.2 дюйма ты лучше не найдешь за 4кЭто уже другая тема, о которой нужно говорить в другом топике.
- 6.01.2012 / 22:19
FlyMove
  Пользователь

FlyMove 
Сейчас: Offline
Часть 1

Недавно компания Samsung представила новую мобильную платформу Bada и выпустила смартфон на этой платформе, Samsung Wave. Для разработчика смысл ее в том, что она предоставляет некий стандартный набор API поверх системы на основе GNU/Linux или собственной проприетарной ОС.

В первой части статьи рассказано, с чего начать, сделан обзор Bada SDK, описаны его особенности, подводные камни, варианты решения проблем, — все основано целиком на собственном опыте. Во второй части будет рассказано про упаковку приложения (т.н. deployment), магазин Samsung Apps, продажу приложения на Bada с авторскими замечаниями и советами.

Желающим поиграться с Bada: писать код придется на C/C++, без сбора мусора и прочих благ цивилизации. Если вас это не пугает, прошу под кат.

Получаем SDK

Прежде всего необходимо зарегистрироваться на developer.bada.com и официально стать Bada-разработчиком. После успешной регистрации будут доступны ссылки на «SDK installer
IDE and Simulator/Target SDK» (354 мб) и «Language pack 1 installer» (170 мб). Думаю, из названий и справки на странице загрузки всем очевидно, для чего нужен каждый файл — это непосредственно платформа и поддержка симулятора Wave. На момент написания статьи версия SDK 1.0.0b3. SDK в настоящее время работает только под Windows, однако, как станет понятным далее, Samsung не составит большого труда портировать его на GNU/Linux и другие UNIX-like ОС. Устанавливается все без каких-то проблем.

Анализ SDK

Samsung в целом положилась на открытые технологии. Компания купила решение CodeSourcery, которое в свою очередь является сборкой Eclipse Mylyn и GNU Toolchain. Последнее означает, что код компилируется GCC (aka MinGW) версии 4.4.1. В Eclipse добавлены «секретные» плагины Samsung.

Для отладки на компьютере используется симулятор. Напомню, что симулятор, в отличие от эмулятора, исполняет код, родной для компьютера, а не отлаживаемого устройства. Это означает, что для более-менее твердой уверенности в работоспособности приложения необходимо разориться на соответствующее железо. Будем надеяться, в будущем симулятор заменят эмулятором.

В составе SDK ставится документация в PDF (/Documents), которая годится разве что толкать презентации перед настоящими разработчиками или улавливать общую суть API. Я советую пользоваться Bada API Reference.

Hello, World!


На самом деле легче будет сначала посмотреть многочисленные примеры приложений (/Samples). Корейцы не поленились и создали 42 различных мини-программ, демонстрирующих ту или иную функциональность. Импортируйте понравившийся пример, затем соберите его и запустите. Замечу, что сначала нужно именно собрать, а потом запустить, иначе IDE ругнется, что нет бинарников. Надо полагать, это баг: в остальных случаях достаточно лишь запустить приложение, измененный код будет автоматически перекомпилирован.

Симулятор запускается на моем Aspire 5920g около 10 секунд, в режиме отладки GDB — 20 секунд. Расстраивает, что при каждом новом запуске приложения необходимо перезапускать симулятор, иначе IDE ругается что он уже запущен. Что касается самого симулятора, он весьма аскетичен: при нажатии на джойстик попадаем в главное меню, состоящее из иконок когда-либо запущенных приложений и настроек. При попытке запустить из меню приложение ничего не выходит — скорее всего, это сделано специально. С помощью контекстного меню симулятора можно создавать события (их довольно много, чего только нет — даже магнитным сенсором можно управлять), снимать скриншоты и изменять размер окна «смартфона».

bada API

Первое, что мне пришло в голову — раз язык платформы C/C++, стоит попробовать портировать многочисленный код на Bada. Однако, порт может не получиться совсем, или превратиться в войну с API. Все дело в том, что в Bada POSIX реализован не полностью, основное вроде все есть, но, к примеру, POSIX threads нет (об этом написано в FAQ). Отчасти положение с pthreads может исправить мой проект с открытым исходным кодом и MIT лицензией на CodePlex. Стандартные заголовочные файлы C реализованы в libc-newlib — специальной библиотеке для встраиваемых решений ARM. Зато STL работает отлично. Также, никто не запрещал применять Boost. Полная картина складывается в обсуждении статьи.

Собственный Bada API очень напомнил мне C#/.NET. Судите сами: все классы наследуются от Object, например String, File, Directory, Int64. У Object реализован метод GetHashCode(). Имена совпадают довольно часто. Ведь это же здорово, не так ли? Из неприятных моментов следует отметить отсутствие ToString() и несостоятельность GDB при попытке просмотра экземпляра String. Отладчик может показать лишь первый символ и длину строки. API работает на юникоде и полностью асинхронно, исключения C++ поддерживаются, но не используются. В целом, остались приятные впечатления: классы и методы тщательно задокументированы, с примерами использования, понятные имена и продуманные namespace-ы.

API файловой системы прост и понятен. Каждому приложению присваивается приватная домашняя директория /Home. Из папки ресурсов /Res можно читать, соответственно, ресурсы. Подробнее см. Bada File System

Приложения Bada многопоточны. Но вместе с тем Bada — псевдомногозадачная. Об этом уже писали, и повторяться я не буду, лишь дам ссылку на Application UI Guide.

Приватность и безопасность

Разработчики очень внимательно подошли к этой проблеме, если не сказать фанатично. Задействована система привилегий. Например, чтобы создать рисунок в папке /Media, необходима привилегия LOCAL_CONTENT. При этом принципиально невозможно получить доступ к входящим SMS/MMS/EMail владельца смартфона или использовать IO для записи в директории, отличные от домашних. В последнем случае возможен трюк с методами Osp::Content::ContentManagerUtil CopyToMediaDirectory/MoveToMediaDirectory. Однако, создавать папки вне домашней директории не представляется возможным.

Интерфейсы


В Bada работа с графическим интерфейсом смартфона реализована через XML файлы ресурсов. Доступен графический редактор. Есть 3 типа файлов — формы (Form), всплывающие окна (Popup) и панели (Panel, ScrollPanel). Использование в коде выглядит примерно так:

Popup popup;

popup.Construct(L"IDP_POPUP_NAME");

Button *button = static_cast<Button *>(popup.GetControl(L"IDC_BUTTON_PUSHME"));

Минус — для каждого разрешения экрана придется заново делать ресурсы. Все позиционируется жестко и по пикселям.

Приложение готово. Что дальше?

Итак, у вас есть код приложения. Вызовом из IDE Project/Privilege Check узнаем, какие нам нужны привилегии. Или анализируем код сами на основе документации. В своем профиле на developer.bada.com заходим в My Applications и заводим новое приложение. Если название уже кем-то занято, придется в своем коде везде его переправлять, так что разумно сделать нечто вроде

#define MYAPPNAME SuperBadaApp

Далее указываем список требуемых привилегий и в конце получаем манифест, который необходимо загрузить. Это XML файл, связывающий уникальный ID приложения с привилегиями. Теперь создаем новый Bada-проект в Eclipse и вместо дефолтного манифеста указываем скачанный. Копируем код и собираем проект в конфигурации Target-Release. Проверяем на железе. Если все работает как надо, переходим к развертыванию приложения и маркетингу, чему посвящена вторая часть статьи.

Итог

Был проведен краткий обзор Bada SDK, описаны некоторые проблемы и способы их решения, впечатления автора, а также приведена информация для начинающих разработчиков. Разумеется, обзор сумел охватить лишь часть богатого Bada API. Спасибо за внимание!

Изменено FlyMove (6.01 / 22:23) (всего 1 раз)
Наверх  Всего сообщений: 168
Фильтровать сообщения
Поиск по теме
Файлы топика (3)