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

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

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

PhoneGap


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

Реагировать на родной


Unity – это кросс-платформенный игровой движок, разработанный 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.

Единство


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

openfl


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

monogame


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

саман

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

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

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

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

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

Подробнее: Ромомобиль обещает: Постройте один раз, разверните на любой смартфон

(Примечание: я не работаю для Rhomobile, просто наткнулся на эту историю сегодня.)

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

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).

Что касается Родоса, это решение выглядит довольно впечатляюще на бумаге, особенно с точки зрения поддерживаемых платформ. Я вижу некоторые проблемы с этим, хотя. Во-первых, для демонстрационных приложений и приложений для кухонной раковины требуется много дискового пространства, немного порывисто и иногда фанки (по крайней мере, на 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-launchs-html5-mafia-wars-atlantic-city-for-mobile-web / ) Есть еще некоторые проблемы с удобством использования и мгновенностью, которые необходимо решить при создании мобильных приложений с помощью веб-технологий , Другая проблема может заключаться в тестировании, отладке и обслуживании HTML-приложений уровня предприятия.

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

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

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

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

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

Благодаря тому, что вы могли бы создать свое приложение в 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 MIDlet в зависимости от того, что вы делаете :))

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

Ваш лучший выбор – AirPlay, посетите веб-сайт AirPlay

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

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

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

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

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

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

текст ссылки

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

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

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

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

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

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