如何在Java中开发iPhone应用程序?
在我的计算机科学课上,我完成了所有的项目。 所以我的老师认为开发iPhone应用程序是一个好主意。 唯一的问题是这个类是用java教的,而iPhone的应用是用Objective-C编写的。 我想知道是否有人用XMLVM开发了Java应用程序。 这个compliler(据说)将java字节码转换成Objective-C(无需苹果电脑或Objective-C知识)。 有谁知道这是否正确?
任何帮助是极大的赞赏。
http://www.xmlvm.org/overview/
编辑:这是一个在iPhone上使用Java代码的代码示例
http://www.xmlvm.org/iphone/#
如果你已经完成了其他项目,为什么不花时间学习Objective-C呢? 网上有大量的资料可以帮助你开始。 老实说,不会那么辛苦,学习一些内存pipe理将是一个很好的学习练习。 你以前用C编程过吗?
大多数交叉编译器在转换你的代码方面做得不是很好,如果你用这种方式开发它们,debugging你的项目可能会变得更加困难。
不完全是你的答案,但为什么不尝试一些android开发呢? 不需要Mac,开源,无需投资,基于Java。
我想你的老师把你送到了错误的路上。
这是一个试图把一个方形挂钉放入一个圆孔的典型例子。 开发iPhone的最好方法是使用iPhone SDK和Objective C.开发Andriod的最佳方式是Java和Android SDK。 为WinMobile开发的最佳方式是C#/ VB和.Net框架。
正如你可以看到每个有自己的“最好”的SDK。 既然你只是学习Java,我会第二个build议玩Java和Android。
我想我们将不得不等待几年才能看到更多的进展。 但是,现在有更多的框架和工具可用:
这里列出了5个选项:
- 代号一
- RoboVM < – 已closures
- 禽stream感
- XMLVM
- J2ObjC
- 英特尔的多操作系统引擎
有一个名为Codename one的新工具:一个基于JAVA的SDK,用于在WP8,Android,iOS中编写代码,具有全面的function
特征:
- 完整的Android环境与超级快速的android模拟器
- 一个iPhone / iPad模拟器,可以在几分钟内轻松将iPhone应用程序带到大屏幕iPad上。
- 全面支持标准的Javadebugging,分析任何平台上的应用程序。
- 简单的主题/造型 – 只需点击即可
更多在开发使用Java的Android,iOS iPhone,WP8应用程序
看看codenameone.com项目,这是一个跨平台的移动框架,其中UI部分是LWUIT的一个分支。 该项目利用xmlvm将Java字节代码翻译为Objective C
你也可以看看RoboVM 。
它将Java字节码转换为本地ARM或x86代码,可直接在处理器上运行,无需任何虚拟机或解释器。 大多数Obj-C UI元素已经桥接到Java中,并遵循通常的Javadevise模式。
编辑 Robo VM最近宣布将closures服务 – Source
您至less需要了解Objective-C的基本知识才能为iPhone开发。 但是,可以使用C ++类。
据我所知,Adobe正在为iPhone构buildFlex / Flash应用程序。 阅读更多: http : //theflashblog.com/?p = 1513
你不能。
请注意,Monotouch允许您使用C#而不是Objective-C进行开发。 http://monotouch.net/
如果您打算将应用程序function与网站集成,我强烈推荐使用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 -移动应用-快速/
下面是我自己的两个经验:我们为我们的Hibernate数据库,我们的REST API,我们的网站和我们的iPhone应用程序使用相同的Java POJO。 工作stream程简单美观:
数据库— 1 —> REST API — 2 —> iPhone App / Website
- 1:hibernate
- 2:GSON序列化和GWT JSON反序列化
这种方法还有另一个好处 – 任何可以用GWT编译的Java代码和任何JavaScript库都可以在iPhone应用程序中使用。
我正在回答这个问题2年后,我必须 强调 ,我确实有和你一样的问题。 不过,我很高兴Android已经演变成今天的样子。
话虽如此 ,我很遗憾,我没有学习C / C ++,而我也不想责怪我的老师, 因为当时间正确的时候,我的大脑在哪里?
我沉迷于Java今天,我很高兴,我没有犯了太多的语言学习和低效率的错误… 然而,我没有学习HTML5 ,真的让事情变得更容易,也许有一天,我可能会有动力去学习C / C ++。 或者,如果我得到一个真正的丢弃价格苹果的Mac,我可能学习Objective-C 🙂
我认为Google开放源代码Java到Objective-C的翻译将使它有可能在iOS上用Java开发https://code.google.com/p/j2objc/
尝试使用TotalCross 。 这是一个Java框架,可以帮助开发人员使用一个源代码创buildiOS和Android应用程序。 与其他平台不同,它不需要iOS(Objective-C或Swift)和Android(SDK或NDK)中的任何知识,
有一个maven集成https://gitlab.com/totalcross/TotalCross/wikis/building-with-maven
具体讲述了基于Java的Android应用程序使用非苹果硬件移植到iPhone。
你可能也想看看MonoTouch (C#而不是Java …但是两者非常相似)。
也许你应该考虑Android应用程序,而不是iPhone应用程序,如果你真的想用Java开发智能手机。 Android本身使用Java来处理应用程序; 所以也许这可能是一个更好的select?
至于iPhone,我build议你根据你想要的应用types来查看Obj-C或者C / C ++。 应该很有趣,涉足一种新的语言! 🙂
您可以尝试iSpectrum(在http://www.flexycore.com获取)您将能够在Eclipse中开发和debugging您的Java应用程序。; 尽pipe如此,您仍然需要Mac和XCode才能在模拟器上启动它,或者将其安装在真实设备上。 但是你不必实际使用XCode编辑器。 另外,如果您打算开发一个开源项目,您可以免费使用它。
要添加到这里有: http : //www.oracle.com/technetwork/developer-tools/adf-mobile/overview/index.html
基于Java和HTML5的开发框架
Oracle ADF Mobile使开发人员能够从单个代码库构build和扩展iOS和Android的企业应用程序。 基于混合移动架构,ADF Mobile支持访问本地设备服务,支持离线应用程序,并保护企业投资免受未来技术转移的影响。
即使这个问题陈述了Java,大部分的答案都已经离题了。 所以我想我会做同样的:)
过去5年来,我们一直在使用Adobe AIR,它确实是跨平台的,并且具有相同的代码库(至less99%的代码是相同的)具有类似本机的性能。 在“testing”阶段,Adobe AIR得到了一些不好的印象(缓慢,没有GPU,Flash“死亡”等)。但现在,你可以用它做什么,这是惊人的。 更不用说那里的开源库的财富了。
使用相同的代码库,您可以将您的应用程序推送到:
- iOS版
- Android(x86和ARM)
- Flash(仍然非常有用)
- CHROMEBOOK
- 个人电脑(原生安装程序)
- Mac(原生安装程序)
为什么要麻烦Java或Objective-C?
唯一没有涉及的通用平台是Window Phone。 但即将到来。
构build一个混合应用程序 反正对于软件工程师来说Java是不够的,你需要学习JS,HTML5,CSS以及成为一个完整的移动/应用程序开发者。 使用Cordova / Phonegap使用Java和前端构build完整的后端。
我假设你不需要硬件的最后一滴果汁,即使混合应用程序应该足以满足您的需求。
使用Bootstrap 4 + React JS构build一个响应式Web应用程序。 使用https://github.com/ipselon/structor快速build立前端。; 现在,networking应用程序成为浏览器中的应用程序。
您也可以采用相同的应用程序,并使用cordova在iOS / Android平台上发布应用程序。