Какую мобильную операционную систему я должен кодировать?

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

Усложнение этого решения:

  • Мне нужно было бы изучить соответствующие языки и IDE – моя кодировка на сегодняшний день была практически полностью веб-(PHP, JS, ActionScript и т. Д. Некоторые ASPX).
  • Большинство пользователей, похоже, религиозны в своем мобильном решении, поэтому устные разговоры оставляют меня более смущенным, затем просвещенным.
  • У меня еще нет смартфона – придется покупать один раз, когда я знаю, к какой платформе нужно стремиться.
  • Обе мои программы больше подходят для бизнес-пользователей (один из них полезен только для CPA).
  • Я – один разработчик и не могу развиваться более чем на одной платформе за раз. Правильное решение имеет важное значение.

Основываясь на том, что я нашел в Интернете, я бы ожидал, что RIM станет shoo-in, и общий порядок будет следующим:

  1. RIM Blackberry – больше, чем любой другой бренд. Несмотря на скептиков, они удвоили продажи (или, возможно, 5X продаж) любого другого смартфона, и продолжают расти. И у них есть бизнес-пользователи.
  2. Android. По словам Шмидта, они превзошли всех остальных, кроме RIM (хотя я не могу найти, где я сейчас это читаю), и они только начинают работать. По данным Comscore, они уже заняли 8% рынка и, как ожидается, получат претензии Shcmidt в течение шести месяцев.
  3. Nokia – самый большой во всем мире. Если бы они просто составляли между Maemo или Symbian, я был бы гораздо менее смущен.
  4. IPhone. Гораздо больше конкуренции со стороны других приложений, меньше продаж, и поломка, которая может отложить или отменить мое приложение в любое время. Какао трудно учиться?
  5. Windows Mobile – Word – это то, что версия 7 не будет обратно совместима и потеряет долю на рынке.
  6. Palm WebOS. Возможно, это должно идти первым, так как это единственное, что предлагает инструменты, которые облегчают мою жизнь в качестве разработчика веб-приложений. Нет конкуренции на рынке. Но не очень много пользователей.

Тем не менее, поиск в StackOverflow показывает очень непропорциональное количество вопросов iPhone против Blackberry. Аналогично, на iPhone явно больше приложений, поэтому нужно проявлять любовь к разработчикам.

Какую платформу я должен развивать? Пожалуйста, поддержите свой ответ логикой.

Ниже мое личное мнение основывается на моем личном опыте.

Вы забываете некоторые из самых больших проблем в мобильной разработке (то же самое, что и многие люди выбирают iPhone в конце). Это особенно важно, если вы один разработчик!

1.Fragmentation

Для каждой платформы существует множество устройств с различными разрешениями экрана, аппаратными возможностями, объемом памяти, ошибками и т. Д. Если вы не разрабатываете что-то тривиальное (почему бы и нет мобильного веб-приложения?), Вам нужно будет приобрести и протестировать, по крайней мере, наиболее Популярные телефоны. Это также добавляет расходы на поддержку вашего приложения. Вам нужно будет протестировать и обновить его для каждого нового устройства.

2.Distribution

В наши дни все строят App Store, но iTunes по-прежнему остается лучшим и самым надежным способом оплаты цифрового контента. Android, вероятно, второй бегун, но не так популярен среди бизнес-пользователей. Я был бы осторожен с Nokia, если вы заботитесь о американском рынке и Palm, если вы заботитесь о международном.

Windows 7 Mobile выглядит как хорошая платформа, но это будет 6-12 месяцев, прежде чем вы сможете даже обсудить это. Даже не рассматривайте текущую итерацию Windows Mobile.

3.Tools, язык, SDK, аппаратное обеспечение

Blackberry, Android и Nokia основаны на Java и используют Eclipse в качестве среды IDE. Теоретически они должны работать на любой ОС, но у Android есть некоторые проблемы в Windows, в то время как Blackberry требует Windows. Для всех 3 вам понадобится действительно приличное оборудование для запуска эмуляторов и IDE, не думая о самоубийстве. Отладка на устройстве от несуществующего до не очень приятного.

IPhone – ObjectiveC / C / C ++. Вам понадобится Mac, работающий с osX. Даже Mini будет делать. Для распространения вы должны быть в программе разработчика – 99 $. Все остальное свободно. XCode – довольно приятная среда разработки, и эмулятор и отладка на устройстве являются лучшими на рынке. Существует множество фреймворков для создания приложений с использованием различных технологий, таких как web или flash. Не могу комментировать.

Palm – ближе всего к тому, что вы уже знаете, на основе веб-технологий для разработки на высоком уровне. Для чего-нибудь более продвинутого SDK на базе C ++ (у меня пока нет опыта).

Windows Mobile – C # / Windows / Visual Studio. Возможно, придется заплатить за некоторые из инструментов dev.

4.Bonus point

IPod Touch и iPad не имеют аналогов. Вы следовали за предраковым безумием за последние 2 дня? Да, я знаю о планшетах Android, контрольная точка 1 выше.

Надеюсь, это поможет, но, может быть, я просто смутил тебя больше. В конце концов, вас больше всего беспокоит качество вашего программного обеспечения и его ценность. Если это хорошо, он найдет свой рынок.

Обе мои программы больше подходят для бизнес-пользователей (один из них полезен только для CPA).

Если у вас есть пользователи, спросите их, какие телефоны они используют .

Большинство пользователей, похоже, религиозны в своем мобильном решении, поэтому устные разговоры оставляют меня более смущенным, затем просвещенным.

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

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

Мне нужно было бы изучить соответствующие языки и IDE – моя кодировка на сегодняшний день была практически полностью веб-(PHP, JS, ActionScript и т. Д. Некоторые ASPX).

Тогда, возможно, придерживайтесь этого. Единственные причины, по которым вам действительно нужно собственное приложение, – это то, что вы хотите запустить отключенный (и с HTML5, который даже будет покрыт), или если вы хотите делать то, что не может быть выполнено с помощью мобильного веб-браузера (например, интегрироваться с другим Приложения на устройстве в Android).

Palm WebOS. Возможно, это должно идти первым, так как это единственное, что предлагает инструменты, которые облегчают мою жизнь в качестве разработчика веб-приложений.

Бред какой то. Хорошо, хорошо, что в IDE я видел несколько скриншотов из них, был довольно гладкий, если он отправлен (я потерял трек). Но это не так, как WebOS – единственная веб-ОС.

Существуют способы разработки локальных приложений для телефонов, отличных от WebOS, которые используют HTML / CSS / Javascript. PhoneGap ближе всего к традиционным веб-приложениям AFAICT; Appcelerator Titanium Mobile немного странно, но также использует эти технологии. Обе из них позволяют настроить Android и iPhone на один набор исходных кодов; PhoneGap также позволяет отправлять Blackberry и в конечном итоге на Symbian.

Теперь, в частности, для PhoneGap, они будут больше восприниматься мобильными веб-сайтами, чем родные приложения. Это может быть или не быть большой проблемой для ваших пользователей. Если ничего другого, это позволит вам вымочить ноги в мобильном телефоне и оценить относительный интерес, а затем определить, нужно ли вам подняться на кривой обучения на Java или Objective-C.

BTW, Maemo заменяется Meego, чтобы еще больше расстроить Nokia. 🙂

Я бы посоветовал попробовать Android, потому что:
– это проще
– меньше ограничений, таких как подписка на Blackberry api или BlackBerry Alliance
– больше вопросов / статей / вопросов ОС
– Android- приложение против Android
– в будущем вам будет легко переключиться на BlackBerry или чистый J2ME (на случай, если вы хотите перенести приложение на другие платформы, Android использует расширенную Java, BlackBerry использует java-микродиск, оба используют плагин Eclipse + в качестве IDE)
– устройства дешевле вообще неправы сами по себе и в качестве аргумента

С Nokia (Symbian и MeeGo) вы можете разрабатывать в Qt. Вы должны иметь возможность развертывать одно и то же приложение в обеих системах без особых проблем. С вашим фоном в качестве веб-разработчика вы можете использовать QtScript \ JavaScript и т. Д., Чтобы получить желаемые результаты.

Если вы думаете начать свой собственный магазин разработки, то см. Мой совет в этом сообщении, чтобы игнорировать технологию и вместо этого взглянуть на бизнес-модель каждой платформы . Спросите себя, действительно ли каждая платформа предлагает маленькому разработчику заработать деньги.

Каждая платформа имеет компромиссы в бизнес-модели. Например, ограниченное хранилище iPhone-приложений означает, что Apple может отклонить ваше приложение, а это означает, что Apple может нести ответственность за любое преднамеренное или случайное неправильное обращение с транзакциями через ваше приложение. С другой стороны, благодаря надзору Apple и проверенной репутации, конечный пользователь, скорее всего, купит неизвестное приложение у небольшого разработчика, чтобы убедиться, что это может сработать для них. Маловероятно, что они сделают это без какого-либо контроля.

Только серьезное нарушение безопасности приведет к серьезному повреждению бренда мобильного устройства. Если более открытая модель Andriod не сможет обеспечить безопасность своей платформы, а также iPhone, весь бренд может быть поврежден одним вредоносным приложением. Если конечные пользователи будут сожжены один или два раза другими разработчиками, у них будет меньше шансов воспользоваться вашим приложением.

Если вы собираетесь зарабатывать на жизнь, вы не можете специализироваться на одном языке / API. Вы должны изучать хорошие общие методы программирования, а также постоянно обучать себя новым инструментам. Вы должны быть готовы изучать любой язык и любую среду. Конечно, люди специализируются, но с точки зрения карьеры 30-40 лет, вы должны оставаться гибкими. Черт, когда я учился в колледже, Кобаль (коса) был большой вещью, и все задавались вопросом, собирается ли эта новая «С», хотя это выглядело немного хитроумным. Спустя несколько лет, похоже, я изучаю новый язык / API каждую неделю.

Однако, начиная с вашего определенного набора навыков и загружая все, что вам может быть лучше, используйте API на основе HTML, такой как PhoneGap . Это позволит вам (1) использовать имеющиеся у вас навыки и (2) дать вам некоторую гибкость при выборе платформ.

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

Просто помните, что нет ни одного правильного ответа для каждого разработчика. Вы привносите свою историю в уравнение. Что-то, что сработает для вас, не сработает для кого-то другого. Альтернативная стоимость обучения Objective-C или Java может быть ниже или выше для вас, чем кто-либо другой. Аналогичным образом, для операции бутстрапа, если вы могли бы добавить приложение на маленькую платформу через 30 дней, используя свой существующий набор навыков, это было бы лучше, чем потратить год на то, чтобы выпустить приложение для платформы с самой большой долей рынка.

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

Идите с тем, что у вас есть, играйте с существующими сильными сторонами, отправляйте товар и учитесь, когда идете. Не надо думать …

… просто выполните.

Какие API вам нужны? Какова ваша бизнес-модель?

9/10 Я бы просто написал веб-приложение. Это кросс-платформа.

Если у вас есть webdev background, Nokia может быть довольно простым – вы можете создавать виджеты (* .wgz), которые запускаются с помощью браузера, но имеют доступ к телефонной афере.

Обратите внимание, что на данный момент у вас действительно есть только три действительных варианта: Iphone, Android и BlackBerry. Если вы не ориентируетесь на рынки США, то BlackBerry также не является опцией.

(У Nokia слишком много платформ, а устройства с плохим UX, Plam умирает, Window Mobile в конечном итоге догонит, но не скоро)

Если у вас есть бизнес-приложение, ваши пользователи, скорее всего, используют BlackBerry или Iphone (Android все еще растет).

Разработка для обоих – это вопрос доли рынка, и вы должны действительно проверить с вашими пользователями, что они используют.

Обратите внимание, что если вы являетесь веб-разработчиком, вам следует подумать о том, чтобы взять с собой кого-то, кто знает, как развиваться на этих платформах (это НЕ тривиально) или даже рассмотреть возможность создания веб-приложения HTML5, которое будет работать на Android и IPhone.

Что-то еще, о чем нужно помнить, – это не смотреть на проникновение на рынок определенного смартфона. Что вы действительно волнуете, какой смартфон я могу продать больше всего. Например, Symbian s60 имеет наибольшую долю на рынке при съемке LONG, но пользователи тратят меньше TON на приложения. Другим примером является BlackBerry. Их рыночная доля опережает iPhone, но стороннее приложение продается намного меньше, чем на iPhone. Тем не менее, если вы создаете копию 10 приложений на iPhone, которые будут уникальными на BlackBerry, вам может быть лучше на BlackBerry, так как вам не придется делиться доходами с 10 другими приложениями. Вам действительно нужно посмотреть каждый магазин приложений, посмотреть, что такое конкуренция, и определить, сколько пользователей фактически тратит на эти магазины приложений.

В зависимости от характера ваших приложений вы могли бы подумать, что почти все эти платформы используют Webkit. Это означает, что с помощью одного хорошо продуманного веб-приложения вы можете настроить таргетинг на все эти платформы, а также на настольных пользователей. Если вы хотите продать свое приложение в соответствующих магазинах приложений, есть Phonegap и Rhomobile.