Операционные системы

индекс
150,27

Android vs Maemo: а корректно ли сравнение?

Навеяно постом «Android vs Maemo: сравнение двух платформ». Сначала хотел написать разгромную статью, но потом передумал и решил написать про эти (и не только) ОС немного с другой точки зрения.
В оригинале статья называется «Android vs Maemo: с точки зрения перспектив разработчика». Мне не очень понятно почему Pavlo Zahozhenko решил сравнить Android именно с Maemo, ведь единственное, что их объединяет, это ядро Linux лежащее в основе обеих ОС. Истории создания, а так же целевые рынки у ОС разные. Здесь важно заметить, что перспективы open source и коммерческих разработчиков надо рассматривать отдельно, что я и постараюсь сделать. А начнем мы несколько издалека.

С точки зрения пользователя/покупателя


Ни для кого не секрет что об успешности платформы в целом можно судить по количеству устройств созданных на данной платформе и действительно проданных. Покупателю, не гику, в общем-то параллельно на базе какой ОС работает его устройство, главное, чтобы он мог комфортно работать с ним. И если считать, что свой выбор относительно внешности устройства он уже сделал при покупке, то с начинкой ему только предстоит познакомиться. И тут главную роль начинают играть пользовательские качества ОС. Удобство интерфейса, набор встроенных сервисов — все это привлекает аудиторию. Если популярность растет, растет и доля рынка (плюс количество компаний разработчиков ПО). По этим характеристика Android обгоняет Maemo, и, скажу больше, будет обгонять, но причина не в самих осях, а, несколько, в другом.

С точки зрения бизнес-модели


Возможно автор оригинальной статьи является «чисто» разработчиком и не следит за состоянием рынка мобильных устройств, но Android и Maemo играют в разных ценовых категориях. Android изначально разрабатывался для рынка средне ценовых смартфонов/коммуникаторов. Maemo позиционируется Нокией как ОС для Hi-End класса мобильных устройств. Реальным конкурентом для Android от Nokia является Symbian OS 5th будущих релизов (а именно Symbian^3 и Symbian^4), где будет подправлен интерфейс и интегрировано множество сервисов от Nokia.
Android, на мой взгляд, с «идеологической» точки зрения является приемником Windows Mobile и я объясню почему:
  • Простота создания приложений
    Программисту, который хорошо знаком с настольной версией Windows, не составляет большого труда начать разрабатывать под WM. Этим и обусловлено огромное количество приложений для данной платформы.
    Java хорошо знаком миллионам разработчиков по всему миру. Google, сделав native языком программирования для Android именно Java, автоматически сделал платформу удобной и легкой в освоении именно для разработчиков. Правда, тут стоит оговориться, что только для разработчиков «любителей». Почему? Об этом в финальной части поста.
  • Покрытие как потребностей рядовых пользователей, так и гиков
    Потребительские качества Android на высоте. Удобный интерфейс, Android Market, большое количество приложений — все это делает ОС успешной в глазах пользователя.
    Огромный простор для гиков, благодаря тому же огромному числу приложений, открытой платформе, стандартизованному железу и пр.
  • «Второстепенный» продукт компании разработчика
    К великому сожалению, что для Microsoft, что для Google их детища являются лишь способом продвинуть свой основной продукт (настольную Windows, в случае MS и свои сервисы, в случае с Гуглом). По этому поводу можно написать отдельную статью, но идея такова.

С точки зрения разработчика


Ну вот мы наконец и подобрались к самому главному. Как я написал в самом начале поста, следует отделить open source от commercial. Эти миры преследуют разные интересы, а именно: open source разработчики преследуют интересы учебного и развлекательного (для себя) характера, в то время как commercial разработчики — интересы бизнеса. Для одних важно удобство разработки, для других возможность быстро и с минимальными затратами создать приложение, что часто не одно и то же. Для коммерческих проектов ключевым моментом является портируемость приложений. Конечно есть такие вещи как Airplay SDK и внутренние вещи типа Reaxion’s BRAVA™, но для небольших коммерческих компаний разработчиков они часто не по деньгам/силам и все приходится делать своими руками. А Android выбивается из стройного ряда платформ поддерживающих кросс-платформенную разработку на C/C++, таких как Windows Mobile, iPhone OS, Maemo, Symbian OS (с Open C/C++ plugin). NDK пока (и я надеюсь только пока), это несерьезно.
Таким образом Google сознательно отсек крупных компаний разработчиков, которым приходится создавать целые отделы для разработки под Android, в угоду массовости приложений для своей ОС. Причиной является App Store, и взрыв рынка 2007 года Apple iPhone, который и является основным конкурентом Android.

Технологии


Qt шагает вперед семимильными шагами. Я лично считаю его достойной кросс-платформенной альтернативой Яве. Обладая одинаковой идеологией обе технологии реализованы принципиально по разному. Каждая со своими недостатками и достоинствами.

В будущем, что Maemo 6 Harmattan, что Android 3.x будут одинаково удобны как для пользователей (благодаря удобству и красоте интерфейса, а так же сервисам), так и для разработчиков (коммерческих и open source). Qt, наконец, станет native технологией для разработки ПО под Maemo. А NDK подрастет, избавится от детских болезней и станет действительно сильным инструментом разработки. Только нацелены они будут, как и сейчас, на разные сегменты рынка.
+3
4 февраля 2010, 23:31
1

комментарии (10)

+1
leoneed #
Такое ощущение, что вы писали, что в голову пришло. Не уловил ни сюжета, ни концовки.
+1
Budda40 #
А вы не задумывались о том что эти две Оси на разных жизненных этапах. Maemo можно сказать еще тестируется, это объясняется отсутствием рекламы, явно завышенной ценой и ограниченными поставками в ритейл. Когда ее дополируют, выпустят Маемофоны с приемлемыми ценами и пустят рекламу, тогда уже можно будет говорит насколько она популярна среди покупателей и сравнивать по этому критерию с другими Осями.
В параграфе про бизнес-модель вообще каша, даже комментировать не буду.
Да и про разработку ни чего внятного.
Могу поспорить что у вас нет опыта в общении ни с одной из этих платформ, или если есть, то только с android и то, весьма посредственный.
Да и по всей видимости топик мотивирован нелюбовью к nokia или linux.
+3
FenixArt #
Сравнивать возраст Андроида и Маемо даже не смешно, а Маемо все еще тестируеться))
0
manakhovpavel #
Ух как завернули! :-)
Ну, во-первых, не стоит забывать, что Maemo старше Android. Планшетник Nokia 770 вышел аж в 2005 году, тогда Android только планировался. Другой вопрос, что для Nokia Maemo стала значимым направлением лишь недавно в связи с популяризацией iPhone и выходом того же Android.
Во-вторых, по поводу вышего мнения о моем опыте. Очень интересно, Вы из каких соображений такие выводы делаете?
0
manakhovpavel #
Кстати, по поводу нелюбви к Nokia и Linux.
Мне очень нравится то, как Nokia ведет бизнес. Недаром она лидер мобильной отрасли. С удовольствием купил бы N900, но я жду следующих машинок и выхода Maemo 6.
Дома стоит Ubuntu, на работе Windows+Ubuntu.
0
BugZ #
Интерес к Maemo все возрастает, причем не только со стоны пользователей, но и со стороны производителей. Так Aigo запускает N500 Maemo MID, это уже второе устройство на Maemo рожденное не в недрах Nokia. В Китае устройство стоит 999 юаней, что приблизительно $ 586. Так что скоро мы посмотрим на войну Nokia с другими компаниями, а так же воспользуемся устройствами на любой вкус ;)
0
ivanrt #
Переносите в блог Андроид. По теме: Разработка для WM с ее дотнетом, IPhone с ObjectiveC и Qt которое когда-то появится у Nokia это очень даже разные вещи. Если приложение можно портировать с WM на IPhone, то с таким же успехом его можно портировать на Android — всю общую часть сделать через NDK, остальное переписать.
0
Mithgol #
Я читал где-то в комментариях на Хабрахабре же (сейчас не упомню, где именно), что NDK на самом деле имеет на Android значительные ограничения, так что сочинить на нём основную логику программы не получится, а только вызываемые подпрограммы, и то не всякие. Это правда?
+1
ivanrt #
Основную логику можно, если это просмотрщик видео. Все взаимодействие с пользователем только на Java. На NDK можно делать какие-либо вычисления. Например можно получить буфер для координат точек в GL менять его в нативе, а потом вызывать отрисовку через Java.
+1
manakhovpavel #
На мой взгляд в «Операционные системы» пойдет лучше. Там и иначальный пост, посуживший причиной написания, находится.

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