Технология писать iPhone, BlackBerry и Android телефон одновременно?

Есть ли страtagsя или, по крайней мере, лучшая практика для написания приложения, которое работает на iPhone, BlackBerry и Android?

Я не осведомлен о средах разработки для BB и Android, но я предполагаю, что они поддерживают Java-приложения.

Я знаю, что iPhone потребует часть ObjectiveC (а также целый новый пользовательский интерфейс).

Кто-нибудь сделал это?

Вы можете проверить http://phonegap.com/

Один из методов, который подходит для определенных видов приложений, таких как справочные приложения: используйте HTML / CSS / JavaScript и пишите компактные клиенты, которые используют объект просмотра HTML-платформы для чтения локально встроенного веб-контента.

Один из способов написания кросс-платформенного приложения, работающего как на BlackBerry, так и на Windows Mobile, заключался в том, чтобы написать все в HTML. Мне пришлось использовать подмножество HTML и CSS, которые работали как на BlackBerry Browser, так и на Pocket Internet Explorer. Я также использовал небольшое количество JavaScript.

Я написал очень маленьких зрителей, которые запускали его встроенные HTML и изображения с использованием jar: // (BlackBerry) и res: // (Windows Mobile) URL. Я смог внедрить все файлы HTML и изображений в составе приложения BlackBerry, используя пользовательскую версию поля браузера и. Для Windows Mobile я смог использовать Pocket Internet Explorer в качестве встроенного ActiveX в моем приложении Windows Mobile.

Примечание. Для BlackBerry мне пришлось поддерживать устаревшие устройства под управлением ОС 4.2. Для этого я переработал много образцов кода RIM, таких как SecondaryResourceFetchThread.java, чтобы вытащить изображения, встроенные в приложение, и доставить их через специальный объект подключения, который реализовал HttpConnection, который я разработал для обработки jar: // URL для внутреннего встроенных HTML / изображений в моем приложении BlackBerry. Было немного сложно понять. Для Windows Mobile это было более интуитивно понятным.

Существуют и другие способы сделать то, что мне нужно, но он отлично работал для медицинского справочного приложения, и я смог разработать отдельные файлы CSS для BlackBerry и для Windows Mobile для переформатирования контента несколько по-другому для двух мобильных устройств. (Это было похоже на тестирование совместимости Netscape и Internet Explorer в старые времена.)

Это может не сработать для вашей ситуации, но если ваше приложение является «справочным» приложением для веб-стиля, и вы хорошо знаете, как правильно делать HTML, этот подход может работать.

В настоящее время мы изучаем это, и мы обнаружили:

титан

Kony Solutions

Эти продукты имеют хорошие отзывы. Титан бесплатно для сообщества издание.

Другим вариантом является Rhodes , который является структурой Ruby.

http://j2mepolish.org может быть хорошим выбором, однако, iphone только в дорожной карте. Но андроид и BB уже поддерживаются, как и все другие телефоны j2me.

также, если вы пишете игры, ознакомьтесь с моим кросс-платформенным (iPhone, Android и т. д.) решением, называемым движком каракатицы, по адресу http://www.cuttlefishengine.com .

Когда вы пишете многоплатформенные приложения, вам нужно решить, какую часть кода использовать. Два варианта:

  • Все. Вы используете (пишите) кросс-платформенные библиотеки gui и системные процедуры
  • Логика – это кросс-платформа, но уровень представления является специфичным для платформы

Второй подход, как правило, дает лучшие приложения, но это большая работа (при условии, что вам не нужно писать библиотеки кросс-платформы).

Трудная вещь с мобильным миром – выбор языка. Сейчас у вас есть

  • Java : Android, Blackberry, Java ME телефоны
  • objective C / C : iPhone, windows Mobile
  • Javascript : Palm Pre

Вы можете перекрестно скомпилировать java для javascript и наоборот. Вы также можете скомпилировать java на C или использовать механизм javascript, который вы можете вызвать с C. Я не думаю, что вы можете запускать C на java / javascript телефоне. Это заставляет меня предлагать писать код в Java / Javascript. Кросс-компиляции (и языки смешивания в целом) имеют недостаток в отладке немного сложнее.

Кроме того, вы можете попробовать использовать Mobile Community Framework (MCF). Это кроссплатформенная среда, основанная на iPhone, Android, WinMobile, Symbian и BlackBerry. MCF обрабатывает операции сети, местоположения и близости для вас, в сети Wi-Fi Ad-Hoc или через выделенный прокси-сервер, если нет прямого подключения. Он имеет простой API, и его можно использовать бесплатно. Таким образом, вы можете развить свой интерфейс приложения и логику отдельно на каждой платформе и использовать MCF для подключения экземпляров вашего приложения так, как вам нравится.

Дополнительная информация на http://uvamobiltec.com

Вы всегда можете написать приложение javascript в Интернете, и оно должно работать на всех трех. Конечно, это не устанавливается на телефоне.

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

Еще одна структура – http://www.mosync.com/

Кажется, он поддерживает все основные платформы.

Adobe Flash и Flash Builder также выглядят многообещающими. Тем не менее, вы должны учитывать его патентованность, но с видео на веб-сайте своего разработчика, похоже, стоит того. Кстати, последняя версия в настоящее время поддерживает Android. Поддержка iOS должна выйти в июне 2011 года через обновление.

Если вы хотите написать кросс-платформенное веб-приложение, SenchaTouch или Phonegap – хороший выбор.

Если вы предпочитаете собственное приложение, лучшим кросс-платформенным решением является Titanium . Используя Titanium, вы можете написать приложение в Javascript, и он компилирует JS в собственный код (Objective-C, Java …)

Давайте будем гением компьютера.