Разработка приложений для разных мобильных платформ - PullRequest
4 голосов
/ 11 мая 2010

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

С точки зрения усилий по разработке, технических рисков и расширяемости, с какой платформы лучше начать?Принимая во внимание, что цель состоит в том, чтобы как можно быстрее «жить» с мобильной версией.И вторая цель - охватить большинство пользователей (но первая важнее).

iPhone (iPod iPad) Android BlackBerry Java ME, Symbian

Я понимаю, что существуют ограничения для каждой платформы и существуют различные аспекты, которые необходимо учитывать (например, у iPhone лучше разработчикСообщество, затем Android, J2ME работает в ужасной песочнице, но охватывает большинство устройств).

Пожалуйста, поделитесь своими плюсами и минусами.У меня есть опыт работы только с J2ME, к сожалению, я не могу оценить другие платформы.

Ответы [ 7 ]

3 голосов
/ 18 мая 2010

Если вы смотрите на нативные приложения на перечисленных вами платформах, то усилия по разработке, требуемые от нуля до большинства, следующие:

  1. iPhone

  2. Android

  3. Blackberry

  4. Java ME

  5. Symbian

Усилия по разработке в значительной степени регулируются языком / библиотеками, инструментами и фрагментацией. Таким образом, выигрывает iPhone (хороший язык и библиотеки, отличные инструменты, небольшая фрагментация / нет). Symbian идет последним (C ++ с ограниченными библиотеками, плохими инструментами, большой фрагментацией). Android опережает Blackberry по библиотекам и фрагментации, а Blackberry опережает Java ME по фрагментации.

Противоположностью этому является размер рынка, особенно среди вашей целевой пользовательской базы - Java ME охватывает гораздо больше устройств, чем любая другая платформа, в то время как установленная база Android по-прежнему самая маленькая из 5.

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

Также стоит посмотреть, насколько легко / сложно было бы портировать на другие платформы. Существуют различные кроссплатформенные библиотеки, такие как Airplay или J2ME Polish, которые могут снизить затраты - при условии, что вы можете реализовать свое приложение на кроссплатформенной части.

1 голос
/ 18 мая 2010

Кроссплатформенное время выполнения, такое как Qt или HTML5, - хорошие ставки и портативно.

Qt поддерживает множество платформ, включая Symbian, Meego, Linux, Windows и т. Д. Он в настоящее время высоко ценится как одна из лучших сред программирования.

Qt создатель также очень высоко ценится IDE.

Конечно, к HTML можно получить доступ практически ко всему, и есть множество инструментов.

1 голос
/ 18 мая 2010

В соответствии с Романом А. Тайчером, я бы хотел повысить свой голос для Windows Mobile / Windows Phone. У него большая установленная база, у него есть проверенный набор инструментов Visual Studio для разработки, у него лучший эмулятор из всех (на самом деле он эмулирует набор инструкций ARM - вы слышите это, Apple?), И вы можете использовать свой Опыт Win32.

MS-ненавистники - пожалуйста, не отвечайте. Я слышал их все.

1 голос
/ 18 мая 2010

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

Посмотрите на WPTouch для примера очень хорошего веб-сайта, оптимизированного для телефона.

1 голос
/ 18 мая 2010

Я бы хотел поговорить о Maemo / Meego (мобильный Linux от Nokia / Intel). Хотя он находится в переходном состоянии, и в настоящее время у Maemo 5 есть только один хороший телефон (и несколько дешевых китайских), но я чувствую, что он скоро станет большим (мне нравится, что многие считают, что Meego станет стратегией высокого класса Nokia). и Nokia является крупнейшим производителем телефонов в мире). Плюс N900 - самый крутой телефон в мире.

Также это в основном открытое устройство Linux (очень похожее на стандартную настольную Linux). Ide QT Creator великолепен и кроссплатформенен (поставляется со встроенным визуальным дизайнером и хорошим документооборотом), но вам не нужно его использовать, есть некоторая поддержка для использования вашего собственного текстового редактора или ide.

Нет никакой чепухи с ключами для подписи (я делал студенческий проект для ежевики, и ключи меня раздражали). Другие вещи, которые мне не нравились в ежевике: окна только затмевают плагины, у нашей команды было много проблем, чтобы выяснить, как добавить сторонние библиотеки в архивы blackberry COD. Кроме того, некоторые классы во многих отношениях несколько редки, особенно String / Char, возможно, поскольку он основан на ME, мне также не понравился apis для чтения / записи файлов, он был несколько неловким, возможно, поскольку приложения для blackberry только недавно получили возможность сохранять файлы (раньше вы могли только сохранять / извлекать объекты на диск через слой постоянства) ..

Предпочтительными языками являются (Gobject C в настоящее время, но не так хорошо для Meego), Ct со вкусом C ++ и python. Там библиотеки хорошие, а библиотеки qt особенно хорошо документированы. Так как это крошечный пакет linux, который вы можете использовать при отладке устройства (есть также эмулятор).

Заметьте, я ничего не разработал для Maemo / Meego, но я много читал об этом и просто влюбился.

0 голосов
/ 21 июня 2010

Похоже, вам нужна Mobile Community Framework (MCF). Это кроссплатформенная структура для разработки ориентированных на сеть приложений, учитывающих местоположение и близость, на всех современных платформах смартфонов (iPhone, Android, Blackberry, Symbian, WinMo - почти все, что вы упомянули, кроме J2ME). Он предоставляет собственные двоичные файлы для всех этих платформ. С MCF время разработки может быть сокращено, так как вам не нужно самостоятельно кодировать все эти сетевые компоненты, но вы можете просто использовать простой API для отправки любых объемов данных через зашифрованные соединения, через специальный режим Wi-Fi или через специальный прокси-сервер.

Больше информации на http://www.uvamobiltec.com.

0 голосов
/ 11 мая 2010

В то время как приложения, изначально разработанные для данной платформы, обычно выигрывают с точки зрения согласованности и производительности пользовательского интерфейса платформы, вы можете попробовать одну из доступных многоплатформенных сред, например Rhodes (просто назвать одну ). Лично у меня нет особого опыта работы с Родосом, и я узнал об этом только пару дней назад (более внимательный взгляд все еще в моем списке задач), поэтому, пожалуйста, оцените пользовательский опыт, который фреймворк предлагает на разных устройствах самостоятельно. .

...