JUniversal:基于 Java 新式跨平台移动应用方法
从头开始为各个移动平台编写单独的应用程序比较昂贵。如果您想要为多个平台创建应用,或者扩展现有应用到所面向的市场上,最有效的方法就是跨平台重复利用您已有的代码。如果再此基础上保留原生用户界面的效果,那就更完美了。
当然,跨平台使用代码肯定是理想的解决方案,但问题是如何实现?当今,什么最吸引致力于构建本机应用程序的 Android 和 iOS 开发者呢?
针对该需求,已经产生了包括 Xamarin 和 Cordova 在内的多种方案。我想特别提出另一种工具—JUniversal,该工具允许您使用 Java 编写可共享的跨平台代码。
概述
JUniversal 的构想来自诺基亚的几个开发者,他们在 Java 和构建跨平台应用方面具备相当专业的技能。JUniversal 使翻译源代码的工作变得简洁优雅,且可在多种平台中使用。该工具允许您使用 Java 自由编写共享代码,并将其翻译成 C#(现已可用)或 C++/Objective C++(即将可用)。您还可以将JUniversal 与 Google 的 j2objc 翻译器结合,使 Java 翻译成 Objective-C,供开发 iOS 使用。
除了源翻译功能,JUniversal 还提供一组称为 JSimple 的库,该库为多数移动应用程序提供支持跨平台的(非 UI)API 版本。这些应用程序组件如下:
- OAuth (based on Scribe)
- JSON
- Unit testing (JUnit)
- File & network I/O platform wrappers
- Collections—HashMap, ArrayList, etc. (based on JDK/Harmony)
- Logging (based of SLF4J/Logback)
- About 20K lines currently
为什么需要源码翻译?
JUniversal 的主要设计目的是为了保留评论和设置格式,生成的翻译源可读性较高,就像手工编写的。因此,调试程序、探查器和异常堆栈跟踪等工具都与手工编写的源代码工具功能一样,翻译的源代码可与本机代码无缝结合。语言兼容性较好。
在跨平台技术这一层面上,JUniversal 因使用原生平台编程语言(通过语言翻译)、本机编译器、本机调试程序和本机 UI 设计工具,因而被评为最轻量和最接近原生环境的工具。至于用户界面,目的则是通过手工编写原生代码而提供最佳用户体验。
JUniversal 是免费的
下面是 JUniversal 架构的简易图:
在微软开放技术,我们非常欢迎这类的开发爱好者利用业余时间完成的项目,也希望 JUniversal 团队能将这一项目坚持下去。绝对是精品!
文章转载自 开源中国社区 [http://www.oschina.net]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android X86 5.1 RC1 组图
这两日看够了soda主题,恰逢被Block了很久的github访问被放行了,换个material 主题看看。想起前面看到的消息Android X86 5.1 RC1 发布了,试用一下,看下正宗的material 设计是什么样的,初步感觉变化不大,没动力折腾下去 文章转载自 开源中国社区[https://www.oschina.net]
- 下一篇
Android Studio vs Eclipse:你需要知道的那些事
转用Android Studio开发前,你需要知道 我写的这个指引里,包含了一些当你要把Eclipse项目转到Andorid Studio前需要知道的基本信息。如果你有一个大型项目还没完成从Eclipse到Android Studio的转换,如果考虑节省时间,花一到两个小时就可以和那些曾经做过这事的AirPair的专家一起完成。不然的话,请继续读下去吧。 对WorkSapces和Sub-Projects说再见 在Eclipse中,你可能对“Workspace”的概念很熟悉。甚至很可能就正有一个这样的安卓项目:包含了各种成员项目和编译成”.jar”的文件,这些文件还会包含在最终生成的应用里。在Andorid Studio中,project被“Modules”和“Library Modules”取代。 Modules Modules是“一种独立的功能单元,可以运行、测试并且独立调试”,和Eclipse project的概念有点像,但有几点不同。 每一个Module需要有属于自己的Gradle build file(当你新建一个Module时会自动帮你生成的,当你导入一个Eclipse的项目...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启