写点什么

Codename One 新增对面向通用 Windows 平台的 Java 应用的支持

  • 2016-07-04
  • 本文字数:1035 字

    阅读完需:约 3 分钟

Codename One 是一个流行的应用开发环境,允许使用 Java 开发各种平台的应用,现在,它又增加了对面向通用Windows 平台的Java 应用的支持。这样,Java 开发人员就可以针对任何安装了Windows 10 的设备进行开发——不管是手机、平板,还是台式机——Codename One 支持的目标平台的数量增加到了8 个。

在移动开发领域,多个竞争平台的存在导致了市场碎片化,开发人员常常需要在两个对立的选项之间作出选择:为每个目标平台(iOS、Android、Windows Phone 等)开发原生应用程序,以更高的开发维护成本为代价提供最佳的用户体验;或者,开发一个面向所有平台的解决方案,通常是以Web 的形式,这可以更好地利用时间和资源,但放弃了不同平台所特有的优势。类似Codename One 或Appcelerator 这样的工具介于两者之间,它们设法提供统一的开发体验,同时又利用了部分平台特有的功能。

截至目前,Codename One 用户使用Java 开发了应用程序,不需要对源代码做任何修改,就可以创建用于各种平台的安装包,包括iOS、Android、Blackberry、Windows Phone、JavaScript、J2ME 和桌面。之所以能够做到这一点,其中一个原因是使用了可以面向所有不同平台的构建服务器,并结合了类似ParparVM 这样的桥接技术。另一方面,借助Windows 10 及其通用Windows 平台,微软向设备融合迈进了一步:UWP 应用程序可以安装和运行在任何运行Windows 10 的设备上,可以是手机、平板或PC。结合这两个事实,允许Codename One 以UWP 作为目标平台将使开发人员的应用程序可以安装在3 亿台新设备上。

Codename One 使用了 IKVM.NET ,后者是 Mono 和.NET Framework 的 Java 实现,可以以 UWP 为目标平台。IKVM 包含 JVM 和 Java 类库的.NET 实现,以及用于 Java 和.NET 互操作的工具。当以 UWP 为目标平台时,Codename One 会编译 Java 应用程序,并把它和 IKVM 及特定于 Windows 10 的配置设置打包在一起;这可能不如直接使用.NET 开发应用程序好,但好处是可以重用相同的源代码。

这种方法是否会成为主流还有待观察。虽然将相同的代码用于许多平台的观点听起来非常有吸引力,但从 Codename One 的先前版本所引发的反响来看,社区用户似乎有一个共同的看法,就是对 App 有着非常高的期望,而开发人员往往认为,唯一能够满足这种预期的方式是开发原生应用。不出意外,简化将现有 Java 应用移植到 UWP 的过程几乎肯定会增加 Windows 10 平台应用的数量。

查看英文原文 Codename One Adds Support for Java Apps to Target the Universal Windows Platform

2016-07-04 19:001712
用户头像

发布了 1008 篇内容, 共 407.9 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

在 Windows WSL 2 中使用 Docker Desktop

FeiLong

Docker WSL2

架构设计文档之食堂就餐卡系统设计

itrickzhang

架构设计 架构文档 架构样例 架构分析 架构总结

MySQL 笔记(一)基础架构

奈何花开

Java MySQL

《OKR工作法》读书笔记

大饼土博

读书笔记 管理 OKR

架构师训练营第一周学习总结

王鑫龙

极客大学架构师训练营

利其器

宋胖子

IDEA

近邻算法介绍

黄大路

数据挖掘 数据分析

架构师课程第一周作业

杉松壁

ARTS 第 1 周

乌拉里

ARTS 打卡计划

如何用一台 MacBook 创造高额年化收益 | ETH2.0 Staking 教程

陈东泽 EuryChen

区块链 Ethereum

程序员的晚餐 | 6 月 5 日 爆炒鱿鱼

清远

美食

初识 Docker 与安装 | Docker 系列

AlwaysBeta

Docker

优秀架构师具备的能力

李小匪

极客大学架构师训练营

架构文档

陈皮

架构 极客大学架构师训练营

软件架构第一章总结

itrickzhang

【架构师训练营-作业-1】食堂就餐卡系统设计

小动物

系统设计 极客大学架构师训练营 作业

体验碎片-06/06

黄大路

产品经理

教你动手写UDP协议栈

Rice嵌入式开发技术分享

TCP udp 协议栈

[ARTS打卡] week 02

Mau

ARTS 打卡计划

UML练习1 食堂就餐卡系统设计「架构师训练营」

Young

Java 25周年:波澜壮阔的25年

北风

「Java 25周年」

述职报告的一些建议

黄大路

职场

食堂就餐卡系统设计

上山砍柴

极客大学架构师训练营

架构方法:运用合适的工具表达设计

Skye

极客大学架构师训练营

程序员摆地摊?你别痴心妄想了,还不如当「在地青年」呢

非著名程序员

程序员 提升认知 职业规划 认知提升

程序员的晚餐 | 6 月 4 日 最好吃的土豆

清远

食堂就餐卡系统设计-uml练习

森林

「架构师训练营」第1周作业 - 食堂就餐卡系统设计

guoguo 👻

极客大学架构师训练营

2020年6月7日 接口、lambda表达式与内部类

瑞克与莫迪

repo 导出本地 git tag 给他人

zqb-all

git

【ARTS打卡】Week02

Rex

Codename One新增对面向通用Windows平台的Java应用的支持_Java_Abraham Marín Pérez_InfoQ精选文章