Можем ли мы запускать Java-приложения на iPhone?

Можем ли мы запускать или разрабатывать приложения для iPhone на Java?

Посмотрите на эти ссылки и ответьте:

  1. http://www.iphonefaq.org/archives/9731
  2. http://www.j2mepolish.org/cms/leftsection/documentation/platforms/iphone.html
  3. http://www.ibm.com/developerworks/opensource/library/os-eclipse-iphone/

person SocialCircus    schedule 28.07.2009    source источник
comment
Это дубликат этих вопросов: stackoverflow.com/questions/617850/, stackoverflow.com/questions/229679/   -  person Brad Larson    schedule 28.07.2009


Ответы (9)


В настоящее время на iPhone не работает JVM. Это означает, что единственный способ разрабатывать приложения для iPhone на Java — это иметь компилятор, который скомпилирует ваш код Java до кода Objective-C.

Есть несколько решений, которые делают именно это:

Codename One — фокусируется на создании приложений с использованием Java с визуальными инструментами и симуляторами. Открытый исходный код с серверной частью SaaS, которая устраняет необходимость в Mac.

XMLVM — транслятор для преобразования байт-кода Java в C/Objective-C. Открытый исходный код, но на данный момент требует написания кода, специфичного для iOS.

Есть также несколько проприетарных решений, но у меня нет с ними опыта. Например. У Software AG есть инструмент под названием веб-объекты.

person gizmo    schedule 28.07.2009
comment
Спасибо @gizmo, пожалуйста, посмотрите на третью ссылку. Компилятора нет! - person SocialCircus; 28.07.2009
comment
Третья ссылка посвящена разработке веб-приложений для iPhone. То есть веб-сайты, на которые вы заходите с помощью MobileSafari. - person sarnesjo; 28.07.2009
comment
Может быть, я немного не в тему, но я не могу не добавить это замечание: интересно, что будет с Apple, скажем, через 2-3 года, когда Android будет стремительно завоевывать все больше и больше позиций... - person Ta Sas; 23.09.2010
comment
@TaSas, и теперь, четыре года спустя, Apple по-прежнему сильна, а Android сильно фрагментирован. - person Thorbjørn Ravn Andersen; 20.08.2014
comment
Как вы знаете, многие Java-приложения не являются чисто Java-приложениями (они могут работать как jar или консольное приложение, war или ear и т. д.), и многие более крупные приложения объединяют, возможно, целую загрузку других внешних библиотек или фреймворков, таких как Spring Boot или jQuery UI. фреймворки, такие как jqWidgets, EasyUI, а затем могут быть шифрование, криптография и потоки загрузки файлов. Предполагая, что ПК/ноутбук может запускать такое веб-приложение Java после загрузки JDK и других зависимостей, может ли телефон Android или iOS запускать его в своих браузерах по умолчанию? - person Ezani; 17.02.2021

Sun обнаружила, что может портировать Java на iPhone, но лицензия SDK запрещает это. Так что это не технический, а политический вопрос.

person Thorbjørn Ravn Andersen    schedule 28.07.2009
comment
Пожалуйста, подтвердите свое утверждение цитатой - person Iter Ator; 15.06.2018
comment
@IterAtor 9 лет спустя вы оставили диск в комментарии? Конечно – infoworld.com/article/2651070/application-development/ - person Thorbjørn Ravn Andersen; 15.06.2018
comment
Почему Apple «ненавидит» Java? Разве не было бы выгодно для их продаж, если бы они разрешили использование Java на своих устройствах? - person Ezani; 17.02.2021
comment
@Ezani Этому ответу более десяти лет. В то время Apple, насколько я помню, очень строго относилась к приложениям, не содержащим интерпретируемый код, а только скомпилированный. Вероятно, это связано со статическим анализом двоичных файлов, которые можно загрузить в App Store. Сегодня все совсем по-другому. - person Thorbjørn Ravn Andersen; 17.02.2021
comment
@ ThorbjørnRavnAndersen спасибо за ответ! Да, я прочитал необходимое чтение по этому вопросу и теперь понимаю! Позаботьтесь сейчас и спасибо еще раз !!! - person Ezani; 17.02.2021

я бы сказал: нет

Если вы хотите создавать «настоящие» нативные приложения для iPhone, вам придется использовать Objective C и iPhone SDK.

Есть и другие способы, такие как http://phonegap.com/, но лично у меня нет опыта работы с этим проектом.

person Thomas Einwaller    schedule 28.07.2009
comment
Спасибо, Томас. Потому что вы расширили его до веб-разработки. У меня есть опыт веб-разработки для iPhone с использованием JS. - person SocialCircus; 28.07.2009

Веб-приложение, конечно, может быть разработано на Java, но вам не разрешено запускать Java-приложения НА Iphone (виртуальные машины не авторизованы на устройстве).

Есть некоторые усилия по преобразованию Java в Objective-C, как в случае с XMLVM (посмотрите видео Google TechTalk ).

person fg.    schedule 28.07.2009

В конце я могу сделать вывод, что с помощью Java можно легко разрабатывать веб-приложения для iPhone. Для разработки нативных приложений для iPhone на Java можно использовать alcheMo или XMLVM, немного поработав. У меня нет опыта работы с alcheMo или XMLVM, но, конечно же, с нетерпением жду этого.

Спасибо вам всем.

person SocialCircus    schedule 29.07.2009

существует реализация виртуальной машины Java под названием «Classpath», но недостатком является то, что вы можете получить ее только с помощью Cydia/Installer.

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

графический интерфейс может быть разработан как AWT-Gui.

в общем: нет решения (яблоко не разрешает приложения, которые запускают другие приложения на своих устройствах)

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

EDIT: есть проблема! Если у вас нет файла, который libuicaboodle ищет каждое Java-GUI-приложение для iPhone, вы не сможете запустить приложение. Есть ли у кого-нибудь еще этот файл? Больше нигде не могу найти :о(

С Уважением

person Atmocreations    schedule 28.07.2009
comment
С другой стороны, iphone довольно бесполезен, если он все равно не взломан ;-) - person Brimstedt; 10.02.2010
comment
+1 за Бирмштедт и +1 за Armocreations :-D Не могу не согласиться... - person Ta Sas; 25.09.2010

есть несколько способов написать приложение iphone на java с помощью конвертера xmlvm в target c, но это сложно, но это подходящий и совместимый способ сделать ваше приложение, вам нужно выучить язык xml

person faisal    schedule 23.09.2010

Интересным подходом является объединение Google Web Toolkit с Appcelerator Titanium для разработки приложений для iPhone с использованием Java.

Google Web Toolkit (GWT) позволяет компилировать код Java в Javascript, а Titanium позволяет создавать нативные приложения для iPhone на Javascript. Я начал проект под названием "gwt-titanium", чтобы объединить эти два, вы можете найти объяснение о проекте и инструкциях по сборке в блоге по адресу iPhoneJava.org.

Удачи!

person urish    schedule 11.07.2011

А как насчет других компиляторов Java для нативных?

Это компилирует java в родной.

person Larry Gray    schedule 08.07.2012