Пользователь
0,0
рейтинг
29 октября 2013 в 19:16

Разработка → Продуктивная прокрастинация: разработка под 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

Спасибо.
Григорий Усков @guskov
карма
47,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (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
                TypeScript посмотрите ;) Или IcedCoffee.
                • +1
                  «Нам нужно спуститься глубже»…
      • 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
                        Ну хорошо.
                        До, ещё одно — я, конечно, не фанат убунты, но дам ещё один довод — кто ставит на убунту уже сейчас. Среди них как минимум T-Mobile и Verizon внушают доверие.
                        • 0
                          Ок, принято к размышлению :) Спасибо.
  • 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…

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