Какую мобильную платформу я должен начать изучать? Важно:
- Простота
- популярность платформы
- низкая стоимость SDK и фактического портативного компьютера
Какую мобильную платформу я должен начать изучать? Важно:
Я думаю, что у 3-4 платформ есть будущее. Но это зависит от того, какая платформа вам нравится и как вам нравится свобода в распространении ваших приложений:)
Android
Ядро Linux. SDK является недорогим (бесплатным). Java - очень популярный язык.
Теперь, когда Nokia купила TrollTech (Qt) для создания отличной мобильной платформы поверх Symbian, вы думаете, что толпа OSS, по крайней мере, упомянула бы об этом.
Symbian имеет огромный рынок по сравнению со всеми остальными. Qt является основой KDE, обеспечивает легкую кросс-платформенную разработку и хорошо спроектирован очень.
Вы думаете, что:
... будет будущим хитом, ожидающим только того, что произойдет. У вас, безусловно, есть больше шансов заработать деньги, чем быть еще одним приложением в десятках тысяч других, и пользователи ожидают, что они заплатят не более 0,99 доллара.
Symbian также начинает путь к открытию кода. Фактически, по мере того, как мобильная платформа Qt созревает, базовая ОС может быть даже не столь важной.
Это легко (даже для разработчика Windows Mobile, такого как я):
iPhone
Технология, лежащая в основе устройства, не является чем-то особенным, но Apple предоставила удобный и разумный механизм для оплаты разработчикам при блокировке устройства до такой степени, что программное пиратство (насколько мне известно) абсолютно невозможно [обновление: или, по-видимому, просто сложно]. Кто не хотел бы писать программное обеспечение для быстро растущего рынка?
Устройства Windows Mobile могли бы сделать это 6 или 7 лет назад, но nooooooooooo...
Популярность: во всем мире говорят, что Java ME явно опережает всех остальных. Symbian - вторая секунда. iPhone - еще более отдаленный третий, далеко далеко. Однако, если вы ориентируетесь на континент или страну или язык, цифры могут резко измениться.
Простота развития: Objective-C - это крутая и мощная вещь, но помните, что ей 20 лет. iPhone прост в разработке, но разработка Android так же проста, бесплатная и многоплатформенная. Java ME - это кошмар, за исключением случаев, когда вы нацеливаете очень ограниченное количество разных моделей телефонов. Нативная ОС Symbian OS С++ имеет худшую репутацию на рынке, но год за годом она держится на дюйм за дюймом. Symbian также огромное преимущество, позволяя вам выбрать, на каком языке вы хотите развиваться.
Стоимость инструментов: Java ME будет дешевле, а затем Symbian, Android, а затем iPhone.
Другие критерии: ну, многое зависит от того, какие приложения вы хотите развивать.
Нет упоминания о Palm WebOS, поскольку он едва регистрируется как промах на радаре, с коммерческой точки зрения, по крайней мере на данный момент.
Проверьте долю рынка Google на рынке смартфонов. Вот один из Gartner. Короче говоря, статистика продаж за 2008 год (продажи в тысячах единиц):
Operating 2008 Market Growth
System Sales Share 2007-2008
-----------------------------------------------------------
Symbian 72,933.5 52.4% -6.1
Research In Motion 23,149.0 16.6% 96.7
MS Windows Mobile 16,498.1 11.8% 12.2
Mac OS X 11,417.5 8.2% 245.7
Linux 11,262.9 8.1% -4.2
Palm OS 2,507.2 1.8% 42.2
Other OSs 1,519.7 1.1% 13.1
-----------------------------------------------------------
Total 139,287.9 100.0% 13.9
Итак, читая это, устройства Symbian - самый большой рынок. iPhone и BlackBerry - быстрорастущие платформы. Android появился на рынке в конце прошлого года, поэтому трудно сказать, насколько популярным было бы это.
Мой выбор будет:
Edit:
Re Mac комментирует:
Re Symbian:
Я знаю о symbian.org и инициативе с открытым исходным кодом. Но:
Программирование для мобильных клиентов исторически было кошмаром. Фрагментированная природа мобильного мира усугубляет любые проблемы, с которыми вы столкнулись на рынке настольных компьютеров/серверов.
Если ваша цель - зарабатывать деньги как маленький разработчик, вы должны максимально сосредоточить свои усилия. С этой целью iPhone - единственный реальный выбор, стоимость тестирования, портирование и сертификация вашего приложения на J2ME, Symbian или Windows Mobile очень быстро преодолевает потенциальное рыночное преимущество, которое имеют эти платформы.
Вам также необходимо учитывать технические требования приложений, которые вы собираетесь разрабатывать. Например, в то время как J2ME "поддерживается" на большей телефонной трубке, чем любая другая возможность, модель безопасности ограничивает полезность J2ME, если вы хотите делать "классные" вещи (по крайней мере, это неоднократно было проблемой для меня). Фундаментальная поддержка JSR также является серьезной проблемой. J2ME может работать на не-смартфонах, но поддерживают ли эти телефоны функции, которые вы хотите?
Также рассмотрите распределение мобильных телефонов по вашей целевой аудитории. Местоположение, доход и возраст ваших потенциальных пользователей значительно определяют телефоны, на которые вы можете и должны нацелиться.
Мой собственный опыт заключается в том, что программирование мобильных приложений - это битва на Symbian, Windows Mobile и BREW. Это организационный кошмар J2ME. Но многие люди зарабатывают деньги на Apple App Store. Nokia теперь имеет Ovi... У RIM есть магазин, у Windows Mobile будет магазин... Возможно, успех Apple заставит другим производителям мобильных телефонов, чтобы объединить свои усилия и облегчить их.
Обратите внимание на ваши критерии стоимости телефона: MTK (большинство китайских/тайваньских нокаутов) будет самым дешевым, но вы можете устанавливать только на телефоны во время производства, поэтому на самом деле это не вариант... Java-телефоны могут быть дешевыми, но проблема переноса важна. Одна международная компания, в которой я работала, потратила более полумиллиона долларов на приобретение мобильных телефонов и перенос клиентов каждый год, так как им приходилось тестировать свои приложения на каждом новом мобильном телефоне Java и даже на том же телефоне с помощью другой прошивки (просто введите N95 в Wurfl, и вы можете увидеть, сколько разных прошивок там может быть, когда европейские операторы делают такие глупые вещи, как установка пользовательских прошивок, поэтому Vodafone UK и O2 UK N95 не совпадают.) Windows Mobile может быть одинаковой, каждый новый релиз имеет разные API (API), а OEM-производители меняют ситуацию.. Если вы считаете стоимость приобретения даже нескольких мобильных телефонов Java или Windows Mobile, чтобы гарантировать, что ваше приложение работает в разных версиях ОС и прошивках, вы потратили аккуратную сумму. Возможно также получить iPhone или два.
Итак, мои предложения?
Здесь платформы в порядке будущей популярности:
1) iPhone
У него есть три рва, которым нужно переходить, чтобы догнать - аксессуары, приложения и аппаратные дополнения
Аксессуары для iPhone и touch можно найти повсюду. У них есть док-станция для iPhone/iPod во многих гостиничных номерах...
Приложения, разумеется, у Apple есть глубокое лидерство, но лидерство больше, чем казалось бы, потому что помимо всех приложений, сейчас есть множество разработчиков с iPhone. Конечно, некоторые из первых приложений являются бессмысленным пухом, но теперь есть бесчисленные категории с глубокими группами людей, работающих с реальными приложениями.
Последний moat является новым, но никто не достаточно близок к тому, чтобы делать что-либо подобное, что они могут его предотвратить, и что способность 3.0 создавать компании для конкретных устройств и разговаривать с ними через bluetooth и док-коннектор. Док-станция для iPhone iPhone TomTom (больше, чем просто док-станция, в ней также размещается более мощный приемник GPS, который приложение TomTom может использовать) является верхушкой Iceburg в этом отношении. Медицинские приборы, инструменты анализа и т.д.
2) Palm Pre
Palm Pre имеет то преимущество, что многие пользователи Palm, которые действительно хотят придерживаться их, имеют отличный путь обновления, и Pre имеет то же преимущество, что и Apple, поскольку они создают одно устройство, которое упрощает для создания приложения, которое в полной мере использует платформу и действительно хорошо вписывается в философию устройства. Только более ограниченный характер SDK предотвращает гораздо больший выбор приложений, но я думаю, что мы увидим, что эта платформа очень хорошо развивается. Единственная опасность заключается в том, что я вижу, как они выкупают мою Microsoft, а затем они тосты.
3) Android
Android имеет преимущество большего количества устройств. Но это также затрудняет сбор и тестирование приложений, а также приложения, которые лучше всего используют определенные функции. Я думаю, что будет больше физических устройств, чем Pre, но я готов поспорить, что через три года будет продолжено использование приложений с платформой Pre, чем Android.
Для простоты разработки я бы оценил Pre сначала (если вы не очень хорошо знакомы с CSS), второй для iPhone и Android третий (просто потому, что не так много ресурсов существует/будет существовать, чтобы помочь вам в разработке Android, он имеет примерно такую же структуру, как и iPhone, чтобы упростить вам работу).
Symbian и Windows Mobile просто выходят из игры. Если они не купят одну из этих трех, они сделаны серьезной платформой для мобильного программного обеспечения, несмотря на то, сколько устройств может быть сейчас (см.: Проблемы с Android в отношении диапазона устройств). Они также просто не имеют ни рамки, ни богатства IDE, что эти три платформы имеют и растут каждый день...
Все, что нужно сделать, это отметить количество тегов в верхнем правом углу этого вопроса, чтобы получить популяцию подмножества (на stackoverflow.com), где популярность.
По моему комментарию, количество тегов было:
Это, очевидно, другие факторы. Вам нравится писать для Windows Mobile через iPhone или J2ME? Вы знаете J2ME, но хотите попасть в разработку iPhone? Я не думаю, что есть какой-то правильный ответ, но теги do говорят о популярности.
Мне не нравится Symbian. Популярность и легкость делают iPhone идеальным.
Я также слышал, что Android - это классная платформа для разработки, но я не пробовал ее сам и пока не очень популярен.
Вы также можете посмотреть путь к веб-приложениям:
Это компромисс между способностью родных SDK и вездесущей платформой браузера. Я знаю, что многие разработчики отключают веб-приложения из-под контроля как слишком слабые, но платформа определенно выросла и стоит исследовать. Старые предположения, такие как "он не может быть отключен" или "он не может получить доступ к локальным данным", больше не обязательно верны.
iPhone, очевидно. Прямо сейчас ваши усилия на другой платформе были бы просто ошибкой или, в лучшем случае, были бы рискованными. Возможно, у Pre или Android есть потенциал, но iPhone проходит мимо "потенциального" этапа. BlackBerry - еще один сильный вариант, поскольку они уже большие и все еще имеют отличные вещи на горизонте, но сама платформа ограничена, и я не знаю, что пользователь BlackBerry будет захватывать так много приложений, как пользователь iPhone.
Вот почему я думаю, iPhone, основанный на ваших критериях -
Apple действительно сделала Microsoft в создании платформы приложений, которая будет блокировать клиентов в течение многих лет. Есть несколько приложений, которые я бы с трудом откладывал на этом этапе.
Я делал подобный выбор, и в итоге я сделал инвестиции для iPhone. Преимущество в том, что мне очень нравится Mac - это мой первый, и разработка была очень интересной. Я не собираюсь продавать в массы, хотя, я пишу приложения, которые поддерживают предприятия с мобильным контентом. Android будет моим вторым выбором, и я бы даже не рассматривал WM или Symbian.
Вы можете посмотреть на мой ответ на похожий вопрос:
Подробное исследование рынка Android и iPhone здесь
и доля рынка смартфонов в первом квартале 2010 года:
(источник: nielsen.com)
Теперь, когда Safari поддерживает расширенные функции, такие как местоположение GPS через JavaScript, лучше всего войти в стандартную разработку веб-приложений. Таким образом, вы можете обеспечить легкие обновления и совместимость для нескольких устройств с единой базы кода.
Учитывая размер доли рынка, который Symbian, есть (не только Nokia Series 60), который, казалось бы, был бы хорошим выбором. Есть и плюсы и минусы. Symbian имеет крутую кривую обучения, более крутую, чем альтернативы. Каналы распространения не так хороши, но улучшаются (Ovi, например Symbian Foundation Horizon).
В настоящее время у iPhone классный фактор и превосходный интерфейс. Механизмы распределения все еще не идеальны. Вы можете продавать только через магазин Apple, и у них нет хорошей репутации, чтобы помочь разработчикам получить свое приложение.
Android, как упоминалось выше, основан на ядре Linux. Учитывая, что платформа Nokia Maemo приходит в телефоны в ближайшем будущем, ознакомление с ней может не нанести вреда.
Основной трудностью в мобильной разработке является мобильность. Это просто очень сложно. Реально, если вы новичок в разработке мобильных устройств, лучше всего выбрать одну платформу и запустить с ней.
Итак, словом, мой ответ: Symbian.
Для стартовой точки, из-за ваших вопросов, ответ J2ME
Вот последний отчет Gartner о конкурсе Windows 7, Symbian и Android. Я думаю, это плохие дни для Windows 7. Sybian и Android - это те, кто захватит рынок:
Я отправил код на iPhone, Symbian, BREW, Java ME, Windows Mobile, Palm. Лично мне нравится работать на iPhone больше всего.
Все вышеперечисленное, а также Android, позволяют загружать и запускать SDK бесплатно. Я бы порекомендовал вам попробовать те, которые, по вашему мнению, вам понравятся больше всего, и запустить ваши программы в тренажеры. Выясните, какой из них вам нравится, а затем бросьте на это.
Лучше выберете android.Nowadays android - это растущая среда.
Android поддерживает многие производители. В настоящее время многие устройства поддерживают Android.
Это очень популярно, это очень легко.
Документация Google на Android также очень хороша.
Для разработки приложений для Android (использование SDK для Android) используется Java.
Java - отличный, знакомый язык.
Лучше выберете андроид.
При поиске ответа на этот вопрос я столкнулся со следующими двумя рамками, которые позволяют разрабатывать собственные мобильные приложения из HTML5, Javascript и CSS:
Другие интересные функции (для обоих):
Я еще не экспериментировал ни с одним из них, пока я все еще изучаю подобные технологии. Полагаю, кто-нибудь, кто их попробовал, мог просвещать нас "за" и "против". На первый взгляд они выглядят довольно легко учиться; по крайней мере, для любого веб-разработчика.
Мой выбор будет одним из двух, поскольку я заинтересован в разработке как для Android, так и для iOS (и я допускаю, что это соблазнительно связано с возможностью более короткой кривой обучения).
Мое предложение состоит в том, что J2ME лучше, потому что это расширение или рождение от большой Java. В настоящее время большинство мобильных телефонов поддерживают J2ME. Для J2ME существует много форумов, посвященных Java и Java, которые помогают улучшить наши навыки J2ME, используемые для решения наших проблем приложений и т.д.
Если вы знаете Java, то J2ME не сложно. Это просто, легко понять и реализовать для пользователей Java.
Основным преимуществом J2ME является то, что J2ME принадлежит к семейству Java, и он является открытым исходным кодом. В настоящее время многие компании переходят на открытый ресурс из-за отсутствия затрат. Так много компаний предлагают J2ME для мобильных приложений.
Итак, выберите J2ME.