微软最近开源了一个用于编写 Java 跨平台移动应用的工具—— JUniversal 。
JUniversal 是一个转译工具,可以将 Java 源代码转换成 C#源代码,同时保留代码格式和 Javadoc 注释。目前开发人员正在增强该工具以支持从 Java 到 Objective C++ 的转换。微软开源技术小组建议先用这个免费工具将安卓应用转换到 Windows Phone 平台上,之后再用于转换应用至 iOS 平台。
JUniversal 以应用的业务逻辑代码为目标,而非应用的用户界面。开发者仍需用原生代码为各个平台分别编写 UI。
目前使用 JUniversal 仍有一个很重要的限制:并非全部的 Java 库都能支持。据微软的开发人员Bret Johnson 介绍“Java 到C#的转换器/ 转译器仅支持一些核心的Java 类,如String 和StringBuilder。对于其他常用的JDK 组件,可以用JSimple 库替代。” JSimple 库包含如下支持:
- 基本的语言组件:AutoCloseable,Comparable,Iterable,Math
- 文件输入输出:Directory,File,Path,Reader,StringReader,Writer 等。
- JSON
- 日志:Logger,LoggerFactory 等。
- 网络:HttpRequest,Socket,Url 等。
- OAuth
- 单元测试:UnitTest,UnitTestBase
- 工具类:Array,Collection,DateTime,HashMap,Iterator,List 及其他工具类。
JSimple 是从 Apache Harmony 提取而来,在此基础上 “做了一系列的功能增强”并且“移除了一些很少用到的功能。”其意图是为了“确保在 Java 和目标语言中代码都可以正常运行。”JSimple 支持 Java 中一些最新的特性,例如拉姆达表达式。
JUniversal 团队认为该工具稳定性已经足以用于生产,如果“你可以根据需要让它工作”。在 Java-Objective C++ 转译器可以使用之前,他们建议用谷歌的J2ObjC 完成用于iOS 平台的Java 代码转换。JUniversal 团队欢迎开发者通过项目的 GitHub 仓库提出建议和发表评论。
查看英文原文: JUniversal: A Microsoft Tool for Porting Android Apps to Windows Phone and iOS
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论