Существует ли мультиплатформенный фреймворк для разработки приложений для iPhone / Android?[закрыто]

StackOverflow https://stackoverflow.com/questions/30953

Вопрос

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

Это было полезно?

Решение

Телефонный звонок это фреймворк на основе javascript / css / html, предназначенный для iPhone, Android и Blackberry.Это (по крайней мере, на iPhone) также может быть встроено как нативное приложение.Уровень пользовательского интерфейса для этих приложений обычно построен на html / javascript и может быть медленнее, чем у настоящего нативного приложения.

телефонный звонок


Реагировать Нативно позволяет создавать приложения мирового класса на собственных платформах, используя согласованный опыт разработчиков, основанный на JavaScript и React.Основное внимание в React Native уделяется эффективности работы разработчиков на всех платформах, которые вас интересуют — изучите один раз, пишите где угодно.Facebook использует React Native в нескольких производственных приложениях и продолжит инвестировать в React Native.Пользовательский интерфейс для приложений React Native - это собственные элементы управления, поэтому ваш пользовательский интерфейс обычно работает быстрее, чем чистый подход HTML / javascript для управления графическим интерфейсом.

Реагировать Нативно


Единство это кроссплатформенный игровой движок, разработанный Unity Technologies и используемый для разработки видеоигр для ПК, консолей, мобильных устройств и веб-сайтов.Unity отличается своей способностью настраивать таргетинг игр на несколько платформ.Поддерживаемые платформы включают Android, Apple TV, BlackBerry 10, iOS, Linux, линейку Nintendo 3DS, OS X, PlayStation 4, PlayStation Vita, Unity Web Player (включая Facebook), Wii, Wii U, Windows Phone 8, Windows, Xbox 360 и Xbox One.

Единство


Открытый файл является портом Flash API с открытым исходным кодом для Настольных компьютеров, браузеров, iOS, Android, Flash, HTML5 и т.д.и это вариант, который стоит рассмотреть тем, кто приезжает из флэш-мира.Он создается на основе собственных двоичных файлов, а также нацелен на браузеры (Flash / HTML5).

открытый файл


МоноГейм является реализацией Microsoft XNA 4.x Framework с открытым исходным кодом.Это упрощает разработчикам XNA создание кроссплатформенных игр с чрезвычайно высоким уровнем повторного использования кода.В настоящее время он поддерживает iOS, Android, Windows (как OpenGL, так и DirectX), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, PlayStation Mobile и консоль OUYA.

моногейм


Adobe Flash Хотите верьте, хотите нет, но Adobe Flash может публиковать собственные двоичные файлы на ios, Android, настольных компьютерах и, конечно же, в Интернете.Производительность разумная, но не невероятная.Если у вас была флеш-игра, возможно, вы сможете очень легко перенести ее на мобильные устройства.И для этого не требуется никаких плагинов любого рода.Фактически это создает собственный автономный двоичный файл, который работает на каждой платформе.

саманный

Другие советы

Редактировать:С тех пор как был задан этот вопрос, был разработан ряд жизнеспособных решений.Хотя тон этого ответа все еще может быть точным (чтобы извлечь 100% пользы из HW / OS, вероятно, необходимо собственное приложение), вы можете найти несколько возможных ответов ниже этого вопроса.

И Android, и iPhone имеют очень четко определенные пользовательские интерфейсы.Даже если вы нашли фреймворк, который преодолел огромные различия на самых низких уровнях (Android запрограммирован на Java поверх пользовательской виртуальной машины, iPhone - это машинный код, запрограммированный на Objective-C) и на более высоких уровнях (приложения iPhone полностью изолированы и изолированы, объектная модель Android распределена, а классы свободно вызываются между приложениями и библиотеками), ваше конечное приложение будет казаться чужим и неуместным ни на одном из них.Подумайте об отсутствии мультитач в Android или об отсутствии специальных аппаратных кнопок в iPhone.

Лучше всего было бы разработать пользовательский интерфейс для конкретной платформы и изложить модель и основную логику вашего приложения на каком-нибудь скриптовом языке.Затем найдите интерпретатор на обычном C (для iPhone) и один на Java (для Android). Scheme, Lisp и Javascript могут подойти по всем параметрам.Просто убедитесь, что переводчик не доступен конечным пользователям, иначе вы нарушите NDA для iPhone...

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

Добавляем еще одну услугу к этой куче здесь: Ромобиль стремится создать именно это.Это действительно выглядит цитатно-урезанным - вспомните интернет начала 90-х.Но это мог бы быть самый простой способ перенести ваше любимое приложение на все основные мобильные платформы.

Более подробная информация: Обещания ромобиля:Создавайте один раз, развертывайте на любом смартфоне

( Примечание:Я не работаю на Ромобиль;только сегодня наткнулся на эту историю.)

У меня нет непосредственного опыта работы с iPhone или Android, но я только что прочитал статью о "Titanium", а затем, когда я зашел на их сайт, нашел это:

http://www.appcelerator.com/products/titanium-mobile/

Я довольно много работаю с "родными" решениями Obj-C и Java (4 Android).Я также создаю приложение с помощью Appcelerator для iPhone и Android, которое работает просто отлично.API-интерфейсы Appcelerator довольно обширны.Приложение Appcelerator Kitchen Sink демонстрирует множество элементов и функциональных возможностей, готовых к включению в приложение ( https://github.com/appcelerator/KitchenSink ).Однако, поскольку мое приложение Appcelerator не слишком сложное, я не чувствую себя комфортно, чтобы вообще рекомендовать его.Коллега сказал мне, что их команда разработчиков попробовала это, и они не были удовлетворены.Однако он не мог назвать реальную причину.Однако я продолжу тестировать его, чтобы увидеть, в чем заключаются ограничения.Одним из больших ограничений является поддержка платформы (в настоящее время только iOS и Android).

Что касается Rhodes, то на бумаге это решение выглядит довольно впечатляюще, особенно с точки зрения поддерживаемых платформ.Однако я вижу с этим некоторые проблемы.Во-первых, демонстрационные приложения и приложение kitchen sink требуют много места на диске, работают немного неустойчиво и иногда выглядят обалденно (по крайней мере, на Android).Во-вторых, существует очень мало приложений "реального мира", которые можно найти.Я имею в виду приложения, которые были загружены по меньшей мере более 1000 раз и обслуживают реальные потребности, отличные от демонстрационных.Удобство использования для меня имеет первостепенное значение в мобильных (потребительских) приложениях!

Я вижу большой потенциал в приложениях HTML / CSS / JavaScript / PhoneGap.Недавно я прочитал довольно много статей о крупных компаниях, использующих HTML (5) для создания своих приложений (например.Netflix http://mashable.com/2010/12/03/netflix-html5/, Zynga http://www.spielsucht24.de/2010/12/21/zynga-launches-html5-mafia-wars-atlantic-city-for-mobile-web/) Все еще существуют некоторые проблемы с удобством использования и быстротой выполнения, которые необходимо решить при создании мобильных приложений с использованием веб-технологий.Другой проблемой может быть тестирование, отладка и обслуживание HTML-приложений корпоративного уровня.

Ромобильфреймворк Rhodes делает это.Приложения Rhodes являются родными для каждого отдельного смартфона

Митопия имеет неизданный фреймворк под названием RUGS.Недавно они представили свою разработку на конференции TechCrunch 50, и их технология выглядела очень интересно.Они смогли скомпилировать приложение, которое работало на всех платформах смартфонов (и смогли воспользоваться возможностями каждой из них...акселерометр на iPhone, например).К сожалению , их Веб-сайт говорит, что вам нужно отправить им электронное письмо, если вам нужна дополнительная информация.Возможно, стоит отправить им электронное письмо, если вы действительно хотите разрабатывать кроссплатформенную систему, ориентированную на смартфоны.

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

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

QuickConnectiPhone позволяет вам написать свое приложение на JavaScript, и при этом оно по-прежнему доступно для установки.На данный момент версия для Android находится в неизданной альфа-версии.

Наличие и того, и другого позволит вам создавать свое приложение на JavaScript, CSS и HTML, совершать вызовы на iPhone или Android, чтобы узнать о поведении устройства, таком как вибрация, местоположение по GPS и т.д.

Версию для iPhone можно загрузить с сайта https://sourceforge.net/projects/quickconnect/ и если вы свяжетесь со мной, я могу выслать вам версию для Android.

Даже если бы вы действительно захотели, было бы непрактично создавать свой собственный мультиплатформенный фреймворк – iPhone - это машинный код, Android - Java.

Конечно, ничто не мешает вам, например, совместно использовать основную логику C / C ++ в настольном приложении с его аналогом для iPhone.

Посмотри на это:

http://www.xmlvm.org/overview/

Это проект, который пытается обеспечить возможность кросс-компиляции программ, написанных на различных исходных языках, на различные целевые языки.Одним из первых тестовых примеров было написание программ на Java и запуск их на iPhone.Посмотреть видео на сайте стоит.Они обсудили возможность использования таргетинга и на Android.

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

Вы можете разрабатывать Java-приложения для iPhone с помощью iSpectrum.Таким образом, вы сможете повторно использовать постоянный объем кода вашего приложения между Android и iPhone (и, возможно, настольные апплеты или мидлеты J2ME, в зависимости от того, что вы делаете :))

Дополнительная информация по адресу http://www.flexycore.com

Вашим лучшим выбором будет трансляция, посетите Веб-сайт AirPlay

Один клик - и вы выполняете развертывание для Android, Iphone, Samsung Bada, Symbian, Windows Mobile, BREW, WebOS и Maemo.

Моя книга HTML5 для iOS и Android позволяет вам использовать веб-приложения, созданные на HTML, JavaScript и CSS, и превращать их в автономные приложения, которые вы можете загружать в app Store (бесплатно или для продажи). – http://html5formobile.com - оболочки для этого для SDK для iOS и Android находятся в свободном доступе на веб-сайте, и вам не нужно никаких знаний ни того, ни другого языка программирования, если вы будете следовать инструкциям в книге.

Я понимаю, что этот вопрос довольно старый, но он появляется в поиске Google, поэтому я подумал, что было бы неплохо обновить его.

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

Ссылка: http://www.anscamobile.com/corona/

мы добились успеха с промежуточным программным обеспечением Ice-Touch, позволяющим устройствам iPhone и Android взаимодействовать с одними и теми же серверами.с довольно приличной генерацией кода для сетевых объектов и методов.но локальная логика все равно должна быть написана на языке телефона.таким образом, мы могли бы использовать преимущества пользовательского интерфейса каждого из них, в то время как наша модель находится на одном сервере, а наши контроллеры генерируются автоматически.

текст ссылки

Я просто хотел упомянуть, что веб-приложение, использующее плагин Gears, может использовать Геолокация (Больше не доступен) (службы определения местоположения GPS и WiFi), и это работает на Android (браузер на G1 поставляется со встроенной поддержкой Gears).

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

Такая платформа по своей природе не могла использовать преимущества специфичных для iPhone функций, таких как акселерометр или жесты несколькими пальцами.Это также, скорее всего, приведет к аннулированию условий Apple SDK.

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

Там нет ничего существующего (на что стоило бы полагаться, если вообще на что-либо), и я сомневаюсь, что когда-либо будет запланировано что-либо официальное.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top