Продуктивная прокрастинация: разработка под BlackBerry и Tizen



    Я не фанат Android. И еще больший «не фанат» Java. Поэтому, когда передо мной встала задача закончить портирование моего iOS/Mac/Win8/WP приложения на Android, я предпочел заняться чем угодно, лишь бы оттянуть этот счастливый момент: съездил на собеседование в Москву на позицию iOS разработчика в Британию (провалил), сделал вне очереди две карты к моей стратегической игре, посмотрел фильм «Кадры» («The Internship» – право, не стоило), сделал себе понтовые наклейки на MacBook и… выделил два раза по две недели на портирование того же приложения под BlackBerry и Tizen.

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

    PS. Не спешите минусовать, никуда я не денусь, и сделаю порт приложения на Android… после того, как портирую под все остальное…

    Я рискну разместить этот пост не в «Я пиарюсь», ибо, давайте уж честно – много на BlackBerry в России не «напиаришь», а Tizen вообще еще не вышел. На остальных платформах мое приложение и так распиарено до нужного мне уровня, и опять же, Россия – это малая копеечка. Если что, прошу не банить, а просто перенести… спасибо. Я не буду явно называть приложение, внимательный читатель найдет его ниже в скриншотах.

    Все случилось спонтанно. Я оказался на Хакатоне в рамках MobileFest’13 в Питере, где познакомился с главой российского отделения BlackBerry. Рассказав о своем приложении для iOS/WP/W8/Mac, я спросил, нет ли возможности получить BB девайс для разработки. Через минуту девайс был у меня.

    Под BlackBerry 10 можно писать с использованием HTML5, Adobe Air, перепаковывать Android приложения и писать Native приложения на C++. Что ж… ни одной из этих технологий я не владею. HTML — не мое, Air – без комментариев, про Java — см. выше. Значит, выбираем «прямой» способ: C++. На плюсах я писал последний раз лабораторную работу в институте году эдак в 1998, поэтому купил книгу по Qt (так ни разу и не открыл, продам дешево ).

    Про регистрацию на BlackBerry Developer портале писать особо нечего. Идем и регистрируемся. Для вывода денег указывается PayPal аккаунт (выплат пока не получал, прошло еще меньше месяца, как мой продукт в магазине BlackBerry World).

    SDK скачивается, устанавливается и готово к работе. IDE на основе Eclipse, но работает очень шустро. Симуляторы в виде образов VMWare – грузятся и работают без нареканий.

    Документация общего плана для BB Native SDK — на хорошем уровне, все описано хоть и не очень детально, зато ясно куда копать. А вот документация по самим классам на уровне: функция возвращает результат, принимает параметр time, который означает, вы не поверите, время… Однако, это тоже не является сколь-нибудь существенной проблемой. На StackOverflow есть ответы на некоторые вопросы, на остальные можно найти ответы или задать их на форуме разработчиков.

    Qt мне очень понравился. Модель SIGNAL-SLOT позволяет обходиться без написания делегатов и не плодить «лишние» классы (интерфейсы, делегаты и т.д.). Я люблю «короткий» код, и концепция Builder саб-классов пришлась мне по душе. Билдер класс возвращает сам себя, при этом имеет сеттер-методы для большинства свойств объекта, например:
    ScaleTransition *transition1 = ScaleTransition::create(noteView).fromX(1).toX(0).fromY(1).toY(0).duration(300).autoDeleted(true);

    QLM? Никакого QML, только хардкор. Я не люблю описательные языки интерфейса, и уж, тем более, с вкраплениями скриптов на ненативном языке. Кроме того, я считаю, что работа с объектами интерфейса исключительно из кода сильно помогает на начальном этапе разработки глубже вникнуть в идеологию фрэймворка (да, XIB и StoryBoard под iOS — тоже не мой выбор…)

    Сам по себе BlackBerry Cascades (GUI фрэймворк) очень стройный. Имеются все необходимые компоненты, свойства, анимации и т.д. Даже если делать пару шагов в сторону от стандартного интерфейса, проблем не возникает. Обработчики жестов работают великолепно, отрисовывается все очень быстро, ресурсы читаются мгновенно.

    C какими «фичами» пришлось столкнуться:
    1) Если контрол повернут на какой-то угол, то тапы обрабатываются не в пределах контрола, а в пределах bounding box (не знаю, как перевести). Так можно запросто получить тап с координатами [10,-20], например. Пришлось обрабатывать вручную.
    2) Необходимо задавать картинку для нажатого состояния графической кнопки (в моем случае это ОЧЕНЬ много кнопок –> растущий размер приложения), поэтому пришлось «изголяться» с прозрачной кнопкой, имеющей в нажатом состоянии затемненное изображение поверх, собственно, картинки. Cocoa Touch (iOS), например, сама затемняет картинку для нажатого состояния, если она не задана.
    3) Что-то не то с поддержкой Unicode. Так, например, символы “☐☒" отображаются как-то вроде “a-a=a/”. Разбираться не стал, сделал через картинки (в моем случае это даже более подходящее решение).
    4) В системе всего один шрифт с четырьмя начертаниями (Normal, Italic, Bold и Bold Italic) и какие-то мутные описания, что никакие другие нельзя использовать, хотя они вроде как есть. Отложил custom fonts на следующие версии.

    Как и планировалось, на 11-й день разработки продукт был готов и отправился на проверку в магазин BlackBerry World. Тут Вам не Apple. Меньше суток, и «ключик наш». Что можно отметить про админку магазина: 10 ключевых слов максимум, описание на любых языках, но скриншоты только на английском (я об этом узнал, когда подготовил по 8 скриншотов на 6 языках).

    Если Вы пишете приложение с использованием Native Framework, то можно обязательно нужно подать заявку на присвоение приложению бэйджика “Built for BlackBerry”. Такие приложения показываются в магазине в отдельной группе Built For BlackBerry (в дополнение к общей свалке). «Знающие люди» утверждают, что пользователи с большей охотой покупают нативные приложения. О чем, собственно, свидетельствует и график продаж ниже. Хоть какие-то продажи начались с 12 октября, когда мне выдали бэйджик. Хочу отметить, что для получения бэйджа необходимо наличие Privacy Policy (не на продукт, а в профиле компании, о чем я, опять же, узнал, когда сделал PP на продукт на 6 языках).


    Что произошло 27 октября – я не знаю. Но радуюсь.

    Из приятного: команда цензоров магазина работает быстро, отвечает на вопросы адекватно, с желанием помочь. Обещали включить продукт в ежемесячную всемирную рассылку клиентам BlackBerry (пока что-то не получил).

    Сама же платформа BB 10 мне, как пользователю, очень понравилась. Стройная, шустрая, без кнопочки Home (ни физической, ни виртуальной). Даже хотел себе купить BlackBerry Q10 (тот, который с физической клавиатурой), но пока решил отложить.

    Отдельная благодарность главе российского отделения BlackBerry Андрею Киселеву за поддержку на всех этапах работы над программой, до и после. Когда я «брикнул» тестовый телефон, второй мне выслали курьерской почтой на следующий же день.



    Итак, BlackBerry версия в магазине, а за Android браться все так же неохота… И на помощь приходит Tizen!

    По сравнению с разработкой для BB, разработка под Tizen – это борьба. Но… приятная борьба. Текущая версия Tizen SDK 2.2 еще очень далека от совершенства, но… обо всем по-порядку.

    Благодаря представителям Samsung и Intel на Хабре я вышел на российское подразделение Самсунг, где мне сначала посоветовали приехать 23 октября в Москву на семинар и там уже получить тестовый девайс. К счастью, мне удалось убедить абсолютно адекватных и дружелюбных менеджеров что к 23-му числу я уже предоставлю приложение, а девайс мне нужен раньше. Через 6 дней, после оформления всех бумажных формальностей, тестовый аппарат оказался у меня.

    Регистрацию разработчика тоже описывать смысла нет. SDK тоже скачивается, устанавливается, и готово к работе. IDE тоже на основе Eclipse, но безумно тормозная (у меня MacBook i7, 8GB, SSD. Заметим BB IDE на том же Eclipse у меня летает). Эмулятор на основе QEMU. Я не знаю, что означают эти буквы, я бы назвал его SSEE – Super Slow Emulator Ever (никаких галочек про хардварное ускорение я не нашел, или не смог включить). Тут без тестового девайса никак.

    Писать можно на C++ или HTML5. Я думаю, мой выбор Вам ясен… Прочитав HIG и ознакомившись со структурой фрэймворка, приступаем к работе. И скука сразу покидает нас…

    Первое, на что я наткнулся – это отсутствие компонента ImageView. Button есть, Label есть, Panel есть, Slider есть, TextArea есть… все есть. А ImageView нет. Но нам надо писать, а не плакать, поэтому в зависимости от ситуации используется своя реализация ImageView (с AspectRatio и InterpolationQuality) или… Button в disabled режиме с картинкой. Если кому надо – могу поделиться компонентом.

    Далее, некорректно читаются JPEG файлы (с сильным сжатием), Tizen подтверждают баг и советуют временно использовать метод с явным указанием формата. К тому моменту я, правда, понял, что он мне вообще не нужен…
    Tizen::App::Application::GetInstance()->GetAppResource()->
    GetBitmapN(resourceName, BITMAP_PIXEL_FORMAT_ARGB8888).

    У компонента Label забыли сделать свойства для задания правого поля, и оно порядка 20 px, с чем ничего не поделать. А у EditArea не только правое поле забыли, но и установка левого поля не работает для значений меньше 20 px. Приходится решать версткой. Я уже молчу, что забыли EditArea сделать свойство FontStyle (Normal, Bold, Italic)… это никак не обойдешь.

    Как задать, чтобы Native приложение работало только в портретном режиме «по-людски» — тоже не понятно, приходится везде, где только можно, прописывать формы и фрэйм как Tizen::Ui::IOrientationEventListener, и там уже колдовать.

    Обработчики жестов работают отвратительно. Например PinchGestureRecognizer ведет себя отлично, если два пальца ориентированы ЮЗ-СВ (юго-запад – северо-восток), но компонент нещадно колбасит, если наоборот. Смешивать обработчики с низкоуровневыми обработчиками тапов у меня вообще не получилось. В результате вся обработка — только по тапам (как в старые добрые до iOS 3.2 времена).

    А где же вращение контролов? А его нет. Нет ни .transform как в iOS, ни .RotationZ как в BlackBerry, ни .RenderTransform как в Win8. Зато есть RotationAnimation! Но не тут-то было… конечным углом для Rotation Animation может быть только значение 0 градусов… Ценно. Но и тут можно схитрить. Если задать в качестве начального угла поворота требуемый Вам, в качестве конечного — 0, и в качестве duration — 2147483647 (примерно 21 день), то можно добиться требуемого результата (и подергивать по таймеру периодически).
    GetControlAnimator()->StopAllAnimations(); 
    GetControlAnimator()->StartUserAnimation(ANIMATION_TARGET_ROTATION, 
    RotateAnimation(_note->GetAngle(), 0, 2147483647, ANIMATION_INTERPOLATOR_DISCRETE));

    Очень порадовало наличие Scene Manager (workflow). Это что-то вроде iOS StoryBoard, но сильно проще. В виде диаграммы задаются формы и параметры анимаций переходов, далее пишутся (заполняются) фабрика форм и фабрика панелей (если применимо), и все переходы между сценами осуществляются буквально в 1 строку кода. На такое я согласен.

    Tizen Store доступен только на прием приложений, процедура также не заслуживает внимания. Делаем package, пишем описание, постим скриншоты, иконку и… через сутки получаем approve. Одно меня безумно огорчило – это требование иметь круглую иконку. Это… это… ну как-то совсем не по-человечески. Я нарисовал отличную иконку из трех кружочков, но меня заверили, что она не пройдет.



    Для публикации платных приложений необходимо подавать дополнительную заявку (пока это вообще не актуально), но я прошел эту процедуру за один день. Можно привязать PayPal, а можно банковский счет (USD). Сходил в банк, взял красивую бумажку о наличии счета, и вместе с копией паспорта залил на форму на сайте. Пусть будет заранее.

    Ради чего еще я полез в Tizen — это участие в Tizen App Challenge (http://tizenappchallenge.com/) с призовым фондом $4 040 000. Авось что и перепадет (прием заявок до 1 ноября). И, пожалуй, я возлагаю большие надежды на то, что приложение, которое будет в магазине в день его открытия, имеет бОльшие шансы на успех (так было с iOS версией, которая была готова к выходу первого iPad).

    Как это ни странно, из всех 6 платформ, на которые я портировал свое приложение, пожалуй, наиболее интересной оказался Tizen. В плане новых ощущений, какой-то, не знаю… свежести? SDK еще допилят и приведут в более стройный вид. Ничуть не жалею о потраченных 12 днях.

    Сама же Tizen OS на тестовом устройстве пока не сильно впечатляет. Нет, с ней все в порядке, но какая-то она не законченная. Хотя, она и есть незаконченная. Официальный релиз ожидается в начале следующего года, и, как я слышал, интерфейс оставлен на конец разработки.

    Выражаю благодарность представителям компаний Samsung и Intel: Екатерине Филенко, Ренату Няжеметдинову, Кириллу Чувилину и Кириллу Данилову за помощь в разработке, получении устройств, за отличный мастер-класс в Москве 23 октября и вообще — за позитивный настрой и участие.

    А вот что получилось результате месяца работы:


    Теперь пришло время Android… хотя… может FireFox OS? Как у них там дела?

    Сразу отвечу на вопросы (которые задавались на предыдущие посты про это приложение):
    1) Да, действительно 12 календарных дней на все. И не надо мне рассказывать про две недели на архитектуру, месяц на разработку, месяц на QA и неделю пред-продакшэн. Это удел «корпораций».
    2) Нет, это не пустая трата времени. Это хороший опыт, новые знакомства и в общем, за следующую пару лет продаж, — кругленькая сумма дохода (за две недели работы).
    3) С BlackBerry я сейчас уже получаю больше, чем с Win8+WP за то же самое приложение (но это, скорее, минус в огород MS). А живу я за счет iOS.
    4) Я не знаю, кто и зачем покупает мое приложение. Но кто-то и зачем-то покупает. И это здорово.

    Готов ответить на любые вопросы, чем смогу – помогу.

    Ссылки:
    BlackBerry Developer portal: developer.blackberry.com
    Tizen Developer portal: developer.tizen.org
    BlackBerry World: appworld.blackberry.com

    Спасибо.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 65
    • +1
      хотя… может FireFox OS? Как у них там дела? ☺
      HTML — не мое
      Там только HTML, так что…
      • +5
        Тогда в конец очереди… после Android :) Начну следующий пост словами:
        Я не фанат FireFox OS. И еще больший «не фанат» HTML5…
        • 0
          Я хотел посоветовать еще Smart TV и недавно анонсированный конкурс LG Apps Contest, и еще в ноябре LG проведет семинар в Москве или Санкт-Петербурге (LG еще не решило), но раз вы не любите HTML, то…
          • 0
            Я ничено не имею против HTML. Просто это не мое. Познания в нем остановились на уровне
            <table><tr><td>…</td></tr></table>
            • +1
              Используйте canvas и рисуйте сами ;)
              • +1
                Еще бы не на JS…. я б согласился. Ибо глядя на современный JS код Я ВООБЩЕ НЕ ПОНИМАЮ о чем идет речь…
        • 0
          habrahabr.ru/post/199428/
          возможно тогда и не надо было бы писать версии для некоторых других…

          вообще для андроид тоже можно и на qt (и даже на html5 но уже внутри qt)

          зы. вообще, кажется, что html5 на данный момент наиболее кросплатформенный костыль наимение геморойный…
          • +1
            Боюсь за кросплатформенностью тут стоят многоуровневые if(platform1) {…} else if (platform2) {…}…
      • +1
        Для Android есть NDK, можно писать на с/с++ без строчки Java (см. Native Activity на портале developer.android.com)…
        • 0
          Спасибо, обязательно посмотрю. И так же продуктивно (выход полезного продукта в единицу времени) как на Java? Хотя мои познания в C++ и в Java примерно на одном уровне.
          • +1
            Смотря какое приложение. ИМХО работать с native UI проще из Java, а вот игру OpenGL ES я бы писал на С/С++.
            • 0
              Если писали для BlackBerry на Qt — особого труда не составит портировать на андроид. Был бы QML-интерфейс — так вобще милое дело. И вообще, зря вы так про QML… Я портировал Win/Nix приложение на Android с помощью necessitas. Мне не хотелось, чтобы приложение выглядело как краденое у нокии и достаточно быстро сделал базовые контролы в Android-style, простенькую обработку жестов на чистом JS — voila, как то, но работает:)
              • +1
                Как я писал, QML я пропустил мимо. Да и вообще, по убеждениям, наиболее нативный подход все-таки лучше. Напишу на Java. Спасибо.
            • 0
              Всё равно придётся использовать Java, но не напрямую, а через рефлексию, а это намного хуже. NDK предназначен для создания компонентов приложений, которые требуют высокой производительности, а не целых приложений. Единственное, что можно делать более-менее без Java — это игры.
            • 0
              Большое спасибо за статью. Могу порекомендовать вам бесплатный способ продвижения версии для BlackBerry, подробнее можете почитать здесь (не самореклама, к ресурсу отношения не имею): www.blackberrys.ru/forum/index.php?showtopic=19124. Ну и про форум Crackberry.com не забывайте: forums.crackberry.com/blackberry-10-apps-f274/developer-rules-guidelines-815767/
              • 0
                Спасибо. Я в самом начале рассылал review request по всем изданиям на BB, но ни одного ответа не получил. Попробую Ваши ссылки.
              • 0
                Теперь пришло время Android… хотя… может FireFox OS? Как у них там дела?

                Есть еще SailfishOS, которая тоже C++/Qt
                ну и Ubuntu Touch, конечно же
                • 0
                  У…. Android -> 2014 :)
                  • 0
                    «Пойду» выпрошу девелоперский телефон Jolla Sailfish в коллекцию :)
                  • +2
                    Не вижу ни одного скриншота, но по стилю изложения и имени автора предположу, что речь об abcNotes — на мой взгляд это не очень удобное и не очень нужное при наличии альтернатив приложение, но я установил его подруге, когда настраивал ей айпад, и забыл. Недавно обновлял ей все приложения, хотел стереть abcNotes, но оказалось, что это её любимое приложение, и у ней в нём куча записок — так что его не только покупают, но и пользуются им. Рад за вас :)
                    • 0
                      Да, это оно. Приятно. Как я сам говорил, тоже не вижу в нем особого смысла. Но, как я понимаю, людям нравятся красивые картинки и простота использования. Что и эксплуатируем. :)
                      • 0
                        А скриншоты есть в конце статьи, вроде как.
                        • 0
                          Хабрастораж опять заблэклистили.
                          Access Denied (content_filter_denied)
                          Your request was denied because of its content categorization: «File Storage/Sharing»
                          • 0
                            Не совсем понял. Посмотрел через МТС — все ок. Я что-то должен сделать? У кого-то еще нет картинок?
                            • 0
                              А вы ничего не сможете сделать, если кто и должен что-то делать, то администрация Хабра — удалять себя из чёрных списков. Забейте.
                      • 0
                        А можно ещё взять порт qt на tizen и стащить наработки из BB
                        • 0
                          Поздняк. Но я и так, разумеется стащил кучу наработок с BB. К тому же порт Qt не официальный и недопиленный, как я понимаю. И на какие «грабли второго порядка» я наткнусь — не хочется даже представлять :)
                          • 0
                            Ну не думаю, чэто их больше, чем в родном тизене. А ещё есть убунта и йолла
                            • 0
                              Тогда я не совсем понимаю как устроен Qt. Он не поверх родного native? Jolla — уже запросил тестовый девайс. А убунта разве не провалилась (на Кикстартере)?
                              • 0
                                Провалился только мегадевайс Ubuntu Edge. Саму ОС пилят, пока будет на нексусах и, возможно, ещё на чем-то.
                                • 0
                                  Но в продаже то на чем-то будет? Рынок гиков которые поставят Ubuntu на Nexus как-то не выглядит привлекательным…
                                  • 0
                                    Пока вот список девайсов: wiki.ubuntu.com/Touch/Devices
                                    А дальше Canonical разберется:)
                                    • 0
                                      Спасибо. Я понимаю что ее можно прикрутить хоть к холодильнику. Меня интересуют продажи устройств с предустановленной системой. И магазин. Все-таки это мой хлеб а не фан.
                                      • 0
                                        Ну, сотня гиков с убунтой все-таки лучше, чем десяток тестеров в тизен ;)
                                        • 0
                                          Ну… за Tizen Samsung, Intel, DoCoMo, Orange и еще какие-то аббревиатуры которых мы не знаем, но которые относятся к производителям железа и ОПСОСам. Я ставлю на них. Как только появится внятная информация о девайсах на Ubuntu — займусь обязательно.
                      • 0
                        Скажите, а под WP/W8 вы тоже на макбуке писали? Если да то каким образом винду ставили и как HyperV работал? Ну и в целом какого ощущения от девелопмента под дотнет на макбуке?
                        • 0
                          VMWare -> Windows (на SSD диске) — летает. Все как-то само работало. Mac style — все галочки ставятся сами. :)
                        • 0
                          У меня Tizen IDE на большом компьютере (8гб, amd fx-8350) работало точно так же как и все остальные эклипсы, то есть быстро. Возможно проблема в мак оси. И еще у эмулятора тизена есть фишка c хардверным ускорением, но как я понял, она работает только на интелах.
                          • 0
                            Возможно дело и в Mac OS, но BlackBerry SDK на том же Eclipse летает на той же машине. Вобщем, я это пережил.
                          • 0
                            Кстати, вот есть abcNotes для Android на 4pda. Это разве не ваше?
                            • 0
                              Ну вот… раскапали таки. Это не совсем мое. Этого приложения больше нет в Google Play. И не зря я написал «закончить портирование» — это приложение я должен доработать, привести в божеский вид (как код так и внешний вид).
                            • 0
                              С BlackBerry я сейчас уже получаю больше, чем с Win8+WP за то же самое приложение

                              Может я в корне не прав, поправьте если не так, но мне кажется, что у BlackBerry большой напряг с приложениями, а аудитория там исконно не бедная.
                              • +1
                                Похоже, Вы правы. У МС ситуация обратная — в магазине куча го... приложений, а аудитория даже не в курсе о существовании магазина как такового. И понять, бедная она или нет не представляется возможным :)
                                • 0
                                  Ну, заметки покупать на WP+W8 действительно смысла мало, там бесплатный OneNote от MS.
                                  Очень качественное приложение с синхронизацией на всех устройствах. Для себя не видел смысла искать что-то ещё если из коробки идет.
                                  • +1
                                    У BlackBerry 10 тоже есть встроенное приложение Remember с поддержкой синхронизации с Evernote, а также, с момента выхода BlackBerry 10.2 — отдельный клиент Evernote, поставляемый в комплекте с ОС.
                                    • +1
                                      Я не думаю, кстати, что EverNote, OneNote и иже с ними являются прямыми конкурентами abcNotes. Мое приложение — это красивые _стикеры_ на красивом фоне.
                                      PS. Проникновение BB 10.2 — уже целых 10% :)
                              • 0
                                За что вы так не любите Android/Java?
                                Всяко лучше tizen, судя по описанию процесса разработки.
                                Притом, похоже, на яве пишете и считаете вполне продуктивным языком.
                                Это религиозное, андроед бьет ios и вы его вытесняете из сознания вместе с этим фактом? :D
                                • 0
                                  Не знаю, исторически так сложилось. С давних времен. Несколько раз пытался установить Android SDK со всякими плагинами (environment variables руками? в конце первой декады 21 века? — увольте) и т.д. и ничего не получалось — не понимал КАКОГО ЧЕРТА не сделать один простой инсталятор (да, я знаю что теперь есть Android Studio), но пардонте, Delphi 1 работало в «1 клик» в 1995 году (что и определило мою судьбу).

                                  Но с годами проведенными за мобильной разработкой, я становлюсь все более равнодушным к разным платформам. И мне все равно кто-там кого бьет. iOS 7 самому не нравится. Основной телефон — Lumia 920. Стал пользоваться Nexus 7 вместе м iPad и Iconia 510. Писать могу хоть на X+-.

                                  Не думаю, кстати, что с Андроид справлюсь 14 дней. Думаю зоопарк разрешений и плотностей экранов выпьет у меня много кровушки… Не говоря уже о том, что я слышал о «спецефической» падучести разных телефонов от разных производителей. Может все уже и сильно лучше… посмотрим. Отпишусь по окончании работ.
                                • 0
                                  Либо в мире BB что-то поменялось и в хорошую сторону, либо мне просто не повезло когда я продвигал своё приложение примерно 8-10 месяцев назад.
                                  У меня цензура заняла примерно 3 месяца (хотя, BB клялись и божились, что максимум две недели). Я даже контактировал с ними, на что получал ответы типа «ага, мы обязательно посмотрим почему так и сообщим» и больше ничего.
                                  Через три месяца моё приложение отклонили — сказали, что уже есть похожее.
                                  После чего я плюнул и пошёл на WP.

                                  Из положительного — платформа для разработки, действительно, стройная. По поводу устройств для разработки проблем не было — получил их таблетку и Z10.
                                  Осадок от цензоров и, как мне показалось, наплевательского отношения к разработчикам не очень понравилось и оставило неприятный осадок.
                                  • 0
                                    Даже не знаю что и сказать. Может им там налюляли? В их положении нужно разработчиков на руках носить, что, как мне показалось, они и делают.
                                    • 0
                                      Сейчас там правда все хорошо. Аппрув — 2 дня где то. Требования небольшие и разумные. Единственное, что показалось странным — на q10 (с квадратным монитором) требовали, чтобы приложение имело портретную ориентацию (по умолчанию — альбомная, «боком»). Видимо чтобы девайс крутить не надо было.
                                      • +1
                                        Ну, IMHO, требование разумное (зачем менять ориентацию на квадратном экране). Я понимаю что это дополнительный девелопмент, но все же удобнее пользователю.
                                    • 0
                                      Не, ну если совсем-совсем не хочется возится с андройдом, то Ovi store принимает новые программы до 01.01.2014, да и abcNotes.prc еще есть где запустить)

                                      • +1
                                        Вопрос такой: как считаете (и автор статьи, и сообщество), имеет смысл начинать писать под BlackBerry? Их SDK привлекает, но, судя по новостям, BB вряд ли будет выпускать новые модели телефонов и версии ОС.

                                        Ещё интересует Ubuntu Touch: мне нравится, как она выглядит, и нравится подход к созданию приложений, о котором я слышал, — только C++, только Native. Думаете, выстрелит? Такой же вопрос про Sailfish, хотя за Ubuntu Touch я «болею» больше всех из будущих «новичков».

                                        Сам я .NET-разработчик, и собственные проекты пишу под Windows и Windows Phone. В них я уверен, MS их заставит продаваться, даже если постепенно. Жду релиза Android Studio, ибо предыдущие потуги работы с SDK на Eclipse вызывали только рвотный рефлекс. HTML не рассматриваю, как и автор статьи, а под iOS писать пока финансы не позволяют.
                                        • 0
                                          Отвечу первым :) Я не уверен будет ли BB выпускать новые телефоны сама, но думаю, если они таки продадутся кому-либо, то аппараты будут. ОС 10.2 вот выпустили на днях…

                                          Про Убунту не знаю, что и сказать. Все зависит от поддержки производителей железа и ОПСОСов. Вторая, вроде как заявлена habrahabr.ru/post/200048/#comment_6921906.

                                          В Jolla (Sailfish) написал письмо. Но даже ответа не получил. Буду в Хельсинки — зайду проверю как они там (и существуют ли вообще) :)

                                          А вот про МС мнение имею. Год назад, в сентябре, я бегал как ужаленный: так мне нравилась Win8, так мне нравился SDK, так мне навешали на уши лапши на Windows 8 Summit… Win8 до сих пор нравится и Win Phone 8 пользовался (правда, сегодня перешел на BB Z30), но… у меня складывается впечатление, что МС ничего не делает (а может и не собиралась!!!) для полдвижения Windows Store как такового. Я сужу просто: одно и то же приложение продается в одних сторах, а в других не продается. Мой вывод — дело в сторе.

                                          Думаю, что Windows 8 устройств (планшетов и особенно ноутбуков — это факт) за год продалось предостаточно. Роста в сторе не наблюдается. Приложений особо не прибавляется. Так, например, МС «фичерит» мое бесплатное приложение в категории в России уже раз пятый. Нет, я конечно, польщен и благодарен, но вывод напрашивается сам собой — больше фичерить особо не кого.
                                          • 0
                                            Писать приложение ТОЛЬКО под одну платформу — не имеет смысла вообще в современных реалиях. Старайтесь перейти на кроссплатформенность — общая логика +обертка для каждой платформы.
                                            • 0
                                              Я вот хотел бы поинтересоваться у коллег: модульность, кросплатформенность — звучит красиво. Давайте попробуем в теории, хотя бы, раскидать на кросплатформенные модули приложение:
                                              1) Data Storage — предположим везде есть SQLite. Но тогда мы теряем CoreData на iOS. Кто готов подписаться под это (в общем случае)? Я нет.
                                              2) Язык — только C++ (ну может с Qt — когда под все допилят). Тоже отпугивает многих (не native для iOS).
                                              3) Интерфейс — вообще без вариантов — на всех платформах свое с большими различиями.
                                              4) Всякие Mono*** — они не кросплатформанны (существуют не под все, и отличаются друг от друга).

                                              общая логика +обертка для каждой платформы

                                              Общую логику все равно приходится подпиливать с учетом платформы/ЯП. А обертка занимает остальные 90%.
                                              О чем вообще разговор? Я не понимаю! Что общего у iOS и Tizen в плане разработки? По-моему — ничего.

                                              PS. Я говорю за приложения — по играм проще — берем Unity и пишем многоуровневые if :) Утрирую.
                                              • 0
                                                Вся логика пишется на том, что может запустится на таргетируемых платформах. Допиливать общую логику не приходится обычно — если у вас приложение-будильник, то общая логика: узнать текущее время, если наступил момент орать будильником — орем. Функции запроса времени, орания мелодией — платформозависимые, да. Но их можно обернуть в общий вызов. т.е.е для функции проверки «а не пора ли орать будильником» это будет одни и те же функции «а сколько сейчас времени» и «поори мне файлом». А эти две функции уже дефанами/ифами/еще чем то разруливаются в зависимости от платформы. Обычно у платформы спрашивать много не надо. Далее — интерфейс. Да, тут все сложнее, но если приложение имеет правильное разделение по парадигме MVC и модель с контролами предоставляют внятные и универсальные интерфейсы (имеется ввиду програмные) — то написать морду не так уж сложно. В итоге получаем, что если нам надо внутри логики (будильник срабатывает за минуту, например) добавить маленький функционал, то вы его добавляете один раз и получаете его на всех таргетовых платформах.

                                                P.S. Игры лучше да, не трогать ;-)
                                            • 0
                                              Забыл, собственно, на вопрос ответить :) Мой ответ — Да, имеет смысл.
                                              Я собираюсь написать еще несколько мелких утилит, поиграть с ценой, рпазобраться что там с продвижением. Копеечка капает — нужно пользоваьтся.
                                              • 0
                                                >судя по новостям, BB вряд ли будет выпускать новые модели телефонов и версии ОС.

                                                Новости — материя изменчивая. Вот более свежие новости: BlackBerry has no plans to shut down handset business
                                                • 0
                                                  Ну, они и продаваться передумали :) Удачи, BB…

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