首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZK开源版是“写一次,在任何地方运行”吗?

ZK开源版是“写一次,在任何地方运行”吗?
EN

Stack Overflow用户
提问于 2013-05-11 01:04:32
回答 1查看 630关注 0票数 2

我一直在考虑在我即将到来的Java项目中使用zk,但是我有点怀疑,因为它看起来很棒,它有一个昂贵的授权版本以及一个免费的开源版本。

我只能使用ZK开源版本,但需要“写一次,运行任何地方”的功能(否则我可能会使用GWT/Phonegap)。

在他们的特征比较页面上,他们没有提到写一次/在任何地方运行,所以我想知道是否有任何厌倦战斗的ZK老兵可以衡量这个特性是否在免费版本上运行,以及有多好。

我需要支持所有的网页浏览器,移动网络,所有的安卓设备(包括Nook/Kindle),所有的iOS设备,微软设备(Surface等)。还有黑莓。

也是,如果免费/开源版本确实支持这个特性,它是如何工作的?教程中的任何内容似乎都没有说明除了战争之外,它是如何为各种平台生成本机可执行文件的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-11 10:17:13

不是的。

ZK只构建Java存档文件(war),它不为Android、iOS、Nook、Kindle甚至桌面独立应用程序构建本机应用程序。

ZK应用程序仅在应用服务器中运行,如Tomcat、JBoss、Jetty、Glassfish等。

从这个意义上说,ZK非常类似于GWT,非常类似于PhoneGap。

  • 使用PhoneGap,您可以使用、CSS和JavaScript构建电话应用程序。然后,应用程序将显示在为每个电话平台编译的本机包装器中。就其本身而言,这并不是为了网络。
  • 使用GWT,您可以用Java代码构建web应用程序。其中一些Java代码实际上被编译成JavaScript,这样它就可以在适当的时候在客户端运行,如果使用得当,将提供性能优势。将JavaScript代码编写为Java具有通过Java编译器实现类型安全等方面的优点。
  • 使用ZK,您可以用Java代码构建web应用程序。与GWT不同,这永远不会变成JavaScript --所有的Java代码都运行在服务器上。ZK处理设置AJAX调用。

使用ZK进行编程感觉就好像您有一个DOM作为Java对象的副本。ZK负责为特定的Controller初始化您的View,您可以要求它连接视图中的任何Component。然后将这些Components作为对象,并且您所做的任何更改都会立即(或多或少)反映在客户端上。

现在撇开ZK ..。

如果您想编写一次代码,以便在所有web浏览器以及所有电话上运行,那么唯一的选择就是编写一个web应用程序。在目前的技术状况下,您将无法获得所有手机的本机可执行文件,也无法从相同的代码库获取web应用程序。如果您开发了一个web应用程序(使用ZK、GWT、IceFaces、Lift、Grails等),那么您可以预期市场上会有最大的渗透,因为几乎所有的设备都有一个web浏览器。

最后,对ZK的一些个人看法。

  • 开发周期太棒了,我喜欢用ZK编程。
  • 球队和社区也是伟大的,有很大的动力。
  • 该框架一直在积极发展、新的核心特性和改进。
  • 我不知道在沉重的负荷下它将如何与其他人相抗衡。
    • 它们生成的DOM非常重。
    • 客户端和服务器之间有很多闲聊。

编辑:

PS:我发现了一个旧的引用,它被称为ZK移动,我认为它现在是一个死了的项目。我的印象是,它的目标可能是类似于PhoneGap,因为它只是将你的ZK网站封装在一个本地的安卓应用程序中。所有的东西都可以在互联网上运行,但是用户的手机上会有一个图标。您将无法访问任何本机功能,如警报等。

不管怎么说,我只是想把它放在这里是为了完整。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16492773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档