Как можно разрабатывать приложения для iPhone на Java?
В моем классе информатики я выполнил все мои проекты; Поэтому мой учитель подумал, что было бы неплохо разработать приложения для IPhone. Единственные проблемы в том, что класс преподается в Java, а приложения IPhone написаны в Objective-C.
Мне было интересно, если кто-то разработал приложения на Java, с XMLVM.
Этот компилятор (предположительно) преобразует java-байтовый код в Objective-C (без необходимости использования яблочного компьютера или знаний Objective-C). Правильно ли это?
http://www.xmlvm.org/overview/
Вот пример кода Java-кода, используемого на IPhone:
http://www.xmlvm.org/iphone/#
Ответы
Ответ 1
Если вы закончили свои другие проекты, почему бы не потратить время на изучение Objective-C? В Интернете есть масса материалов, которые помогут вам начать работу. Честно говоря, это не будет так сложно, и научиться делать некоторое управление памятью будет отличным упражнением. Вы запрограммировали на C раньше?
Большинство кросс-компиляторов не будут делать отличную работу по преобразованию вашего кода, и отладка вашего проекта может стать намного сложнее, если вы разработаете их таким образом.
Ответ 2
Не совсем ваш ответ, но почему бы не попробовать некоторые разработки Android? Нет необходимости в Mac, с открытым исходным кодом, без инвестиций, на основе Java.
Ответ 3
Я думаю, нам придется подождать еще пару лет, чтобы увидеть больше прогресса. Однако теперь доступно больше фреймворков и инструментов:
Вот список из 5 вариантов:
Ответ 4
Я думаю, что ваш учитель отправил вас по неверному пути.
Это классический пример попытки поставить квадратный колышек в круглое отверстие. Лучший способ разработки для iPhone - использовать iPhone SDK и цель C. Лучший способ разработки для Andriod - это Java и Android SDK. Лучший способ разработки для WinMobile - это С#/VB и .Net Framework.
Как видите, у каждого есть свой "лучший" SDK. Поскольку вы только изучаете Java, я бы поддержал предложение поиграться с Java и Android.
Ответ 5
Существует новый инструмент под названием Codename one: один SDK на основе JAVA для кода в WP8, Android, iOS со всеми расширенными функциями
Особенности:
- Полная среда Android с супер быстрым симулятором Android.
- Симулятор iPhone/iPad с легким переносом приложений iPhone на iPad с большим экраном в считанные минуты.
- Полная поддержка стандартной отладки Java, профилирование приложений на любой платформе.
- Легкая тема/стиль - всего лишь один клик.
Подробнее в Разработка Android, iOS iPhone, приложений WP8 с использованием Java
Ответ 6
взгляните на проект codenameone.com, это платформа для кросс-платформенной мобильной связи, где часть ui является вилкой LWUIT.
Этот проект использует xmlvm для перевода кода Java-байта в Objective C
Ответ 7
Вы также можете взглянуть на RoboVM.
Он переводит байт-код Java в собственный ARM-код или код x86, который может запускаться непосредственно на процессоре без необходимости использования VM или интерпретатора. Большинство элементов пользовательского интерфейса Obj-C уже подключены к Java и следуют обычным шаблонам проектирования Java.
Edit
Robo VM недавно объявила, что это приведет к отключению службы - Источник
Ответ 8
Вам нужно знать, по крайней мере, основы Objective-C для разработки для iPhone. Тем не менее, можно использовать классы С++.
Насколько я знаю, Adobe работает над созданием приложений Flex/Flash для iPhone. Подробнее здесь: http://theflashblog.com/?p=1513
Ответ 9
Вы не можете.
Обратите внимание, что Monotouch позволяет вам разрабатывать в С# вместо Objective-C. http://monotouch.net/
Ответ 10
Если вы планируете интегрировать функциональность приложения с веб-сайтом, я настоятельно рекомендую модель GWT + PhoneGap:
http://blog.daniel-kurka.de/2012/02/mgwt-and-phonegap-talk-at-webmontag-in.html
http://turbomanage.wordpress.com/2010/09/24/gwt-phonegap-native-mobile-apps-quickly/
Вот мои два цента из моего собственного опыта: мы используем одни и те же Java POJO для нашей базы данных Hibernate, нашего REST API, нашего веб-сайта и нашего iPhone-приложения. Рабочий процесс прост и красив:
База данных --- 1 --- > API REST --- 2 --- > Приложение iPhone/веб-сайт
- 1: Hibernate
- 2: Сериализация GSON и GWT JSON
Десериализация
Есть и другое преимущество этого подхода: любой Java-код, который можно скомпилировать с помощью GWT, и любая библиотека JavaScript станут доступны для использования в вашем приложении iPhone.
Ответ 11
Я отвечаю на этот вопрос через 2 года, и я должен стресс, что у меня была такая же проблема, как и у вас. Однако я так счастлив, что Android превратился в то, чем он является сегодня.
Сказав, что, я сожалею о том, что не изучал C/С++, пока мог, и я не хочу обвинять своих учителей в этом cos, где был мой мозг, когда настало время?
Сегодня я погружен в Java, и я рад, что не ошибся в изучении слишком большого количества языков и менее продуктивен... Однако Я изучил HTML5, которые действительно упростили работу, возможно, когда-нибудь, я мог бы получить мотивацию, чтобы изучить C/С++. Или, если я получу Apple Mac по реальной цене выброса, я мог бы узнать Objective-C:)
Ответ 12
Я думаю, что Google Open Sources Java To Objective-C Переводчик сделает возможным развитие в Java для iOS https://code.google.com/p/j2objc/
Ответ 13
попробуйте использовать TotalCross. Это Java Framework, чтобы помочь разработчикам создавать приложения для iOS и Android только с одним исходным кодом. В отличие от других платформ, он не требует каких-либо знаний в iOS (Objective-C или Swift), ни Android (SDK или NDK)
существует интеграция maven
https://gitlab.com/totalcross/TotalCross/wikis/building-with-maven
Ответ 14
http://www.xmlvm.org/android/
В частности, речь идет о приложениях на базе Java, которые переносятся на iPhone с использованием аппаратного обеспечения, отличного от Apple.
Вы также можете проверить MonoTouch (С#, а не Java... но эти два очень похожи).
Ответ 15
Вы можете попробовать iSpectrum (получить его на http://www.flexycore.com)
Вы сможете разрабатывать и отлаживать свои Java-приложения в Eclipse. Вам все равно понадобится Mac и XCode, чтобы запустить его на симуляторе или установить на реальном устройстве.
Но вам не нужно будет использовать редактор XCode. Кроме того, вы можете использовать его бесплатно, если планируете работать над проектом с открытым исходным кодом.
Ответ 16
Возможно, вам стоит рассмотреть приложения для Android вместо приложений iPhone, если вы действительно хотите разрабатывать Java для смартфонов. Android изначально использует Java для своих приложений; возможно, это может быть лучшим вариантом?
Что касается iPhone, я бы рекомендовал вам изучить Obj-C или C/С++ в зависимости от типа приложений, которые вы хотите создать. Должно быть забавно баловать себя новым языком!:)
Ответ 17
Чтобы добавить к этому: http://www.oracle.com/technetwork/developer-tools/adf-mobile/overview/index.html
Основанная на Java и HTML5 платформа для разработки Oracle ADF Mobile позволяет разработчикам создавать и расширять предприятия приложения для iOS и Android с единой базы кода. Основываясь на гибридная мобильная архитектура, ADF Mobile поддерживает доступ к услуги устройств, позволяет автономные приложения и защищает предприятия инвестиции от будущих технологических сдвигов.
Ответ 18
Даже если в вопросе говорится о Java, большинство ответов отступили. Поэтому я думал, что сделаю то же самое:)
Мы используем Adobe AIR в течение последних 5 лет, и это действительно кросс-платформенный интерфейс и обеспечивает производительность, аналогичную той же кодовой базе (по крайней мере, 99% нашего кода одинаковы). Adobe AIR получил плохую печать в начале периода бета-тестирования (медленный, без GPU, Flash "мертвый" и т.д.). Но теперь это потрясающе, что вы можете с ним сделать. Не говоря уже о богатстве библиотек с открытым исходным кодом.
С той же базой кода вы можете нажать свое приложение на:
- IOS
- Android (x86 и ARM)
- Вспышка (все еще ОЧЕНЬ полезна)
- ChromeBook
- ПК (как родной с установщиком)
- Mac (как родной с установщиком)
Зачем беспокоиться о Java или Objective-C?
Единственная распространенная платформа, на которую не распространяется, - Window Phone. Но это тоже скоро.
Ответ 19
Создайте гибридное приложение. В любом случае Java недостаточно для инженера-программиста, вам нужно научиться JS, HTML5, CSS, а также стать полнофункциональным разработчиком мобильных приложений.
Создайте полный бэкэнд, используя Java и интерфейс с помощью Cordova/Phonegap.
Я предполагаю, что вам не нужна последняя капля сока из аппаратного обеспечения, даже приложение hybind должно удовлетворить ваши потребности.
Создайте отзывчивый webapp, используя Bootstrap 4 + React JS. Используйте https://github.com/ipselon/structor, чтобы быстро создать интерфейс. Теперь веб-приложение становится приложением в браузере.
Вы также можете использовать одно и то же приложение и создать его с помощью кордовы, чтобы опубликовать приложение на платформе ios/android.