Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Phonegap - это основанная на JavaScript/CSS/HTML инфраструктура, предназначенная для iPhone, Android и Blackberry. Он (по крайней мере, на iPhone) также может быть встроен в нативное приложение. Уровень пользовательского интерфейса для этих приложений обычно встроен в html/JavaScript и может работать медленнее, чем настоящее собственное приложение.

PhoneGap


React Native позволяет создавать приложения мирового класса на собственных платформах, используя согласованные возможности разработчиков на основе JavaScript и React. В центре внимания React Native - эффективность работы разработчиков на всех платформах, которые вас интересуют - учитесь один раз, пишите где угодно Facebook использует React Native в нескольких производственных приложениях и будет продолжать инвестировать в 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 - это порт с открытым исходным кодом Flash API для Desktop, браузер, 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, ПК и, конечно же, в Интернете. Производительность разумная, но не невероятная. Если у вас была Flash-игра, вы можете очень легко перенести ее на мобильный телефон. И это не требует каких-либо плагинов любого рода. На самом деле он создает собственный автономный двоичный файл, который работает на каждой платформе.

саман

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

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

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

Ответ 9

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

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

Ответ 10

Проверьте это:

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

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

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

Ответ 11

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

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

Ответ 12

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

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

Ответ 13

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

Ответ 14

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

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

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

Ответ 15

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

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

Ответ 16

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

текст ссылки

Ответ 17

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

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

Ответ 18

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