Долгосрочный потенциал платформ разработки iPhone / Windows Mobile - PullRequest
4 голосов
/ 20 января 2009

Кажется, что Apple до сих пор идет дальше всех мобильных платформ в создании хорошей универсальной экосистемы для разработчиков (SDK, распространение приложений, монетизация и т. Д.). Однако, читая комментарии к предыдущим SO-вопросам о разработке мобильных приложений (например, this и this ), появляются некоторые критические замечания, такие как:

  • Objective-C, хотя и неплохой, на самом деле не используется вне продуктов Apple.
  • Среда разработки и инструменты не соответствуют тому, что Microsoft может предложить с Visual Studio и .NET.

Итак, меня интересует жизнеспособность экосистемы Apple в долгосрочной перспективе (то есть, 2-4 года). Если на рынке появятся телефоны Windows Mobile 7 (которые, по прогнозам, будут выпущены через год или около того), сможет ли среда разработки iPhone конкурировать с .NET + Visual Studio (плюс любой механизм распространения «App Store», с которым Microsoft выйдет) )? Судя по тому, что я прочитал о разработке для iPhone, у меня сложилось впечатление, что мы можем увидеть постепенное отстранение разработчиков от Windows Mobile, поскольку большинство из них предпочитают разрабатывать с помощью набора инструментов Microsoft.

Какие у вас впечатления на эту тему для разработчиков, имеющих опыт работы с любой из этих платформ? Имеет ли платформа iPhone долгосрочную жизнеспособность (по сравнению с Windows Mobile), которая выходит за рамки первоначального преимущества увеличения доли рынка?

==

Редактировать: справедливо о преимуществах App Store. Но мне любопытно узнать о долгосрочном потенциале этих двух платформ, и кажется, что только Microsoft выпустит свой собственный магазин приложений (например, SkyMarket), который делает установку такой же простой, как на iPhone, только вопросом времени. (Хотя магазин приложений iPhone может преобладать, потому что он появился первым.)

Ответы [ 6 ]

7 голосов
/ 20 января 2009

Я не думаю, что Windows Mobile - это конкурент iPhone. Насколько я могу судить, разработчики должны учитывать четыре платформы для ориентированных на потребителя приложений:

  • iPhone
  • Blackberry (с новым App Store )
  • Palm Pré (который получит App Store)
  • Android (который получит App Store для платных приложений)

Все остальное не является сущностью. Symbian и Windows Mobile могут снова стать актуальными, но на сегодняшний день это не так. На этих устройствах нет здорового рынка программного обеспечения, и мне неясно, заботится ли большая часть людей, решивших купить телефоны с Windows Mobile, о стороннем программном обеспечении.

Что касается инструментов и языков, различия незначительны. Это просто не проблема. Разработчики не покинут такой рынок, как iPhone, просто потому, что им не нравятся инструменты или язык.

Более того, Xcode более чем достаточно хорош (некоторые предпочитают его Visual Studio - я, конечно, думаю, что некоторые его аспекты лучше, чем их аналоги из Visual Studio), и если вы знаете Java, C ++ или C #, вы узнаете Objective-C в течение недели максимум. Это в основном две или три новые концепции, немного другой синтаксис и подсчет ссылок. Если вы уже знаете несколько объектно-ориентированных языков, изучение Objective-C не является проблемой, а если нет, это хороший повод, чтобы выбрать некоторые новые идеи и концепции.

Реальное различие заключается в библиотеках, и я лично предпочитаю Cocoa библиотекам .Net, которые часто требуют, чтобы вы обращались к pre-.Net API.

Возможно, через четыре года все будет иначе. Возможно, Nokia исправит Symbian навсегда и захватит рынок смартфонов. Кто знает? Вы должны сделать то, что мы имеем сегодня: -)

Так что мои очки будут:

  • Пока Windows Mobile не станет жизнеспособной платформой для сторонних приложений, игнорируйте ее
  • Вместо этого посмотрите на Pré, iPhone, Blackberry и телефоны Android
  • Objective-C - это просто язык программирования. Бессмысленно даже думать об этом слишком много. Любой программист может выучить это за неделю
  • У Xcode есть свои слабые стороны, но у него есть и свои сильные стороны, и он ничуть не хуже, чем Visual Studio
  • Какао отлично
  • Четыре года - это много, и никто не знает, что произойдет к тому времени

Программирование для iPhone - это огромное удовольствие, и вы узнаете много нового, если вы никогда не выходили за пределы мира .Net. Просто возьмите хорошую книгу, отложите выходные, поставьте небольшую цель (например, небольшую игру или приложение-задачу, или что-то в этом роде) и получите код. Даже если вам не нравится Xcode, даже если вы в конечном итоге не будете писать приложения для iPhone, вы станете лучшим программистом.

И если Symbian выигрывает , опыт обучения написанию кода для iPhone по крайней мере научит вас, как приступить к работе на новой платформе: -)

6 голосов
/ 20 января 2009

Вы упускаете из виду набор инструментов Apple, IMO.

VisualStudio может иметь хороший набор инструментов, но набор инструментов Apple достаточно хорош (и довольно хорош, IMO), чтобы включить 15K приложений с более чем 500 000 000 загрузок. Я бы сказал, что это предвещает хорошие перспективы на будущее.

Убийственное приложение для iPhone - AppStore. Это единственный способ получить приложения на телефон и находится вне системы контроля оператора. Например, попробуйте установить приложение на телефон Verizon, и вскоре вы узнаете, что означает control для оператора беспроводной связи.

Discovery - это веб-интерфейс, поэтому вы можете отправить кому-нибудь ссылку на приложение, и когда они его загрузят, он перейдет на страницу, где они смогут установить приложение. Просто и элегантно.

Причуды языка Objective-C - красная сельдь. Любой компетентный разработчик примет скорость в течение нескольких недель. Какао - невероятная структура.

Кроме того, не стоит недооценивать возможности управления спецификацией оборудования. Контроль Apple над спецификацией аппаратного обеспечения является благом для разработчиков, поскольку они могут рассчитывать на то, что они не станут сложными и фрагментированными, поскольку Apple не заинтересована в том, чтобы поставлять телефоны, не соответствующие спецификации iPhone SDK, настолько полно, насколько это возможно. Когда OEM-производитель делает аппаратное обеспечение для спецификации Windows Mobile, всегда есть «интерпретации» спецификации, которая означает, что разработчик остается на месте, держа сумку между телефоном a и телефоном b, и почему мое приложение не работает одинаково на обоих?

Это большая, хотя часто упускаемая из виду точка в мобильном телефоне. Если не существует ни одного владельца спецификации оборудования, она легко становится «напиши один раз, отлаживай везде».

5 голосов
/ 20 января 2009

«Если телефоны Windows Mobile 7 (которые должны быть выпущены через год или около того) получат долю рынка… мы могли бы постепенно отойти от разработчиков на Windows Mobile, поскольку большинство из них предпочитают разрабатывать с помощью набора инструментов Microsoft».

Предположим, что VS и CLR обеспечивают лучший опыт программирования. ДАЖЕ ТАК, совсем не ясно, что произойдет «постепенное истощение» в отношении WM. «Опыт программирования» - это только один фактор, с которым столкнутся разработчики; Существующий рынок акций и восприятие это другое (подумайте об Amazon и eBay или, если на то пошло, магазин iTunes iTunes).

Вы говорите о "более длительном сроке", как о 2-4 годах. В то время, есть ли шанс, что WM7 получит БОЛЬШУЮ долю рынка, чем Apple? Не реально.

Даже если мы возьмем далекий горизонт вашего временного периода, возможно ли, чтобы разработка iPhone потерпела крах через 4 года перед лицом чрезвычайно превосходного опыта программирования для WM7? Что у MS есть, по-видимому, убийца платформы против iPhone? C # 4, DLR, VS2K10? Ничего из этого не будет достаточно. Что может ( может ) сделать это - это Azure.

Но я бы сказал, что , если вы считаете Azure убийцей платформы iPhone, , то вы должны уделять равное внимание Google / Android.

Все это говорит о том, что с точки зрения управления рисками наименее рискованным выбором явно является iPhone. Если вы хотите снизить риск ошибиться, достаточно хорошо проанализируйте ваши программы Какао, чтобы вы могли повторно реализовать их, например, в C #.

2 голосов
/ 20 января 2009

Если вы пишете программное обеспечение для телефона, как будто оно было настольным, вы делаете это неправильно. У Palm были хорошие рекомендации о том, как подходить к разработке для своих карманных компьютеров, и этот совет применим и к телефону.

Поскольку вам придется прийти к другому образу мышления, использование несколько иного языка и разных инструментов не будет большой проблемой. Действительно, другая среда разработки может помочь вам поддерживать разные установки.

2 голосов
/ 20 января 2009

Это действительно очень субъективно, потому что ни у кого из нас нет хрустального шара. Я занимаюсь разработкой мобильных приложений и встраиваемых систем уже десять лет, и я играл с большинством из них (вы не упомянули Symbian или RIM, и когда-то Palm тоже был крупным игроком).

Я был очень разочарован мобильной «стратегией» Microsoft за последние несколько лет - казалось, что они смотрят только на корпоративные приложения и разработчиков. Тем не менее, они хорошо поработали над созданием первоклассных инструментов, и Compact Framework - один из самых надежных продуктов, которые я видел в Redmond (по общему признанию, версия v1 была ограничена, но для версии v1 она была довольно чертовской, из-ничего доставка).

iPhone, кажется, пользуется этим и довольно сильно избивает Microsoft в потребительском пространстве. Но вы не можете ожидать, что Microsoft (или любой другой бизнес на их месте) будет стоять на месте перед лицом сильной конкуренции. Я уверен, что они что-то запланировали (хотя даже я понятия не имею, что это может быть за план). Будет ли этого достаточно, чтобы выздороветь? Кто знает.

И iPhone это все, что он рекламирует? Ну, я бы сказал, что он не так открыт, как некоторые думают. Вы ограничены в том, что вы можете написать, вы ограничены в том, как вы можете продавать и распространять. Вы ограничены в инструментах, которые вы можете использовать, и в целевом оборудовании, на котором вы можете работать. Не самая лучшая среда. Но опять же, они останутся такими перед лицом вероятной конкуренции со стороны MS, RIM, а теперь и Google? Трудно сказать, но я бы поспорил, что это маловероятно.

Так кто же победит? Я не собираюсь рисковать ни по одному из них. Мы уже вложили значительные средства, как в оборудование, так и в обучение, в технологии Microsoft, поэтому вряд ли мы просто откажемся от этого. Тем не менее, мы уже выполнили некоторую работу и установили цену для работы на iPhone, потому что мы были бы дураками, чтобы хранить все наши яйца в одной корзине.

2 голосов
/ 20 января 2009

Забавно, жизнеспособность платформы разработки действительно вторична по отношению к жизнеспособности платформы доставки.

Лучшая в мире платформа для разработки в значительной степени бесполезна, если не существует рынка для продуктов, которые вы можете сделать с этой платформой.

iPhone / iPod touch является изолированным, «проприетарным» продуктом, но в то же время он продает ОЧЕНЬ много устройств. Еще важнее то, что он продает устройства людям, которые любят покупать вещи в App Store. App Store - привлекательный аргумент для многих пользователей.

Таким образом, жизнеспособность платформы dev тесно связана с жизнеспособностью самой платформы.

...