phonegap_代号一的PhoneGap / Cordova兼容性

phonegap

我们刚刚在github上发布了开源CN1Cordova项目的第一个版本。 这意味着您可以使用通用的Cordova / PhoneGap应用程序,将其导入NetBeans,并使用我们的云构建服务器构建本机应用程序,而无需进行任何更改!

在我们深入研究转换应用程序的确切过程之前,让我们先回顾一下PhoneGap / Cordova开发人员可以从Codename One中获得的确切好处。 您也可以在下面查看视频教程和幻灯片。

我为什么要转换?

Codename One对PhoneGap / Cordova开发人员有什么优势?

在类固醇上建立云

代号One提供了一个类似于PhoneGap构建的构建云,但更为先进。 它可以将Java字节码转换为本地字节,从而使您可以用Java编写大量的“本机” API,而不必为每个平台一次又一次地编写它。

更好的本机代码支持

您可以并且应该用Java编写“本机”代码,从而在构建插件时无需编写Objective-C / Swift代码。 但是,您仍然可以使用cn1lib本机接口通过对Objective-C,Dalvik / ART运行时的真正本机调用来实现几乎任何东西。

更好地保护知识产权

Cordova / PhoneGap应用实际上只是一组HTML / JavaScript和CSS文件。 由于本机打包只是“一个zip文件”,因此触发了家庭手工业,他们将这类应用程序解压缩并通过其他帐户/商店转售。

对于已编译的应用程序而言,这样做更加困难,这使得Codename中的Java代码对普通黑客来说更加不透明。 如果您的应用程序包含敏感逻辑,则可以使用Java对其进行编码,以提高安全性。 我们还考虑了PhoneGap集成的强化版本,该版本将对文件进行加密,从而使过程更加安全。

IDE集成Java – JavaScript – HTML

NetBeans具有出色JavaScript和html / css支持。 它还完全免费地支持所有常见的Web框架,例如react,angular等。

NetBeans还是市场上最好的Java IDE之一,拥有一个单一的全包围环境是一个巨大的好处。

简单,不需要Mac,可以自动执行证书/签名

Codename One的环境可以在Mac,Linux和Windows上正常运行。 代号One的“杀手级功能”之一是证书向导 ,该向导使通常无法进行iOS应用签名的噩梦过程成为可能。

迁移到Java

如果您的团队更喜欢Java,则可以分阶段迁移到Java应用程序,甚至可以将用Java编写的代码与Cordova元素集成在一起。

有什么限制?

该转换器的第一个版本目前不翻译插件,但确实具有一些内置插件,可用于照相机等功能。

这是我们打算尽快解决的问题,因此翻译过程将更加顺畅。

由于Codename One中插件的本机实现与PhoneGap / Cordova中的本机插件有很大不同,因此迁移插件需要一些手动工作。 值得庆幸的是,核心Codename One Java API已经支持大多数插件功能,因此在大多数情况下,这是相对琐碎的工作。

当前,在Codename One中使用的浏览器组件基于JavaFX浏览器组件,这非常糟糕。 它基于webkit,但是在完全符合HTML5方面有很多限制,并且不能正确指定诸如用户代理之类的内容。 不过,它确实可以在大多数JavaScript框架中正常工作。

如果社区有足够的兴趣来证明这样做的合理性,我们计划用一个更成熟的基于Chrome的浏览器组件替换该组件。

您为什么不尽快这样做?

我们曾经(现在仍然)担心混乱。 Codename One使用一种相当复杂的体系结构,将字节码转换为本地代码。 这与基于OpenGL ES的渲染管道和本机窗口小部件混合结合在一起。 但是,尽管有这个事实,以及我们在页面顶部的栏中特别声明Codename One不是HTML5解决方案的事实,我们仍然得到了“还有另一个HTML5框架”的反馈。

我们担心的是,如果将PhoneGap包括在内,这种困惑和歧义只会加剧,并阻碍我们在以3个核心思想(HTML5,本机和移植工具)为主导的市场中区分代号一个的能力,而这两个都不适合这三个Struts中的一个。

但是,几个月前,我们开始添加诸如JavaScript支持之类的功能 ,该功能使用TeaVM和我们自己的一组复杂库来促进WORA(随时随地写入)。 这使我们的产品变得更加复杂……此外,在此之前,有许多其他项目干扰了跨平台移动开发,我们得出的结论是,“避免混淆”不是正确的策略。

这是否意味着代号One的重点转移了?

没有! 我们的核心竞争优势一直是我们庞大的API和客户端UI库,即使有了上述支持,它仍然是关键优势之一。 在过去的几个月中,使用PhoneGap和其他一些工具进一步巩固了我们的信念:尽管自推出Codename One以来已经过去了将近4年,但我们仍然属于我们自己。

将Cordova / PhoneGap应用程序移植到代号1

前提条件是: NetBeans IDE ,JDK 8(不是Java JRE .. JDK!)和Apache Ant 。 下载cn1-cordova-tools.zip并解压缩。

从终端或命令提示符

$ cd cn1-cordova-tools
$ ant create -Dsource=/full/path/to/cordova/app

注意:请确保您使用的是Java 8,否则请确保JAVA_HOME环境变量指向Java 8主目录,否则可能会收到UnsupportedClassVersionError 。 另外,请确保您使用的是Cordova应用程序的完整路径,而不是短路径,否则将无法使用(无相对路径等)。 这将在cn1-cordova-tools目录中创建Netbeans项目,其设置(包ID和名称)与-Dsource参数中指定的应用程序匹配。 该应用程序的www目录的内容将被复制到该项目的src/html目录中。

您可以在NetBeans中打开该项目以开始进行处理。 您将能够运行和调试项目中的Java源文件。 要发送云构建或更改项目配置,只需使用右键单击菜单并选择正确的选项。

如上所述,将不会导入插件。 如果该应用程序已安装插件,您将看到打印警告。 将来的版本应以某种形式增加对此的支持(例如,用Codename One插件替换知名插件)。 Codename One已经支持开发Cordova插件并将其作为cn1libs(Codename One的本机库/插件格式)分发。 随着集成的成熟,我们将发布相关说明。


翻译自: https://www.javacodegeeks.com/2015/11/phonegapcordova-compatibility-for-codename-one.html

phonegap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值