我一直在考虑在我即将到来的Java项目中使用zk,但是我有点怀疑,因为它看起来很棒,它有一个昂贵的授权版本以及一个免费的开源版本。
我只能使用ZK开源版本,但需要“写一次,运行任何地方”的功能(否则我可能会使用GWT/Phonegap)。
在他们的特征比较页面上,他们没有提到写一次/在任何地方运行,所以我想知道是否有任何厌倦战斗的ZK老兵可以衡量这个特性是否在免费版本上运行,以及有多好。
我需要支持所有的网页浏览器,移动网络,所有的安卓设备(包括Nook/Kindle),所有的iOS设备,微软设备(Surface等)。还有黑莓。
也是,如果免费/开源版本确实支持这个特性,它是如何工作的?教程中的任何内容似乎都没有说明除了战争之外,它是如何为各种平台生成本机可执行文件的。
发布于 2013-05-11 10:17:13
不是的。
ZK只构建Java存档文件(war),它不为Android、iOS、Nook、Kindle甚至桌面独立应用程序构建本机应用程序。
ZK应用程序仅在应用服务器中运行,如Tomcat、JBoss、Jetty、Glassfish等。
从这个意义上说,ZK非常类似于GWT,非常类似于PhoneGap。
使用ZK进行编程感觉就好像您有一个DOM作为Java对象的副本。ZK负责为特定的Controller初始化您的View,您可以要求它连接视图中的任何Component。然后将这些Components作为对象,并且您所做的任何更改都会立即(或多或少)反映在客户端上。
现在撇开ZK ..。
如果您想编写一次代码,以便在所有web浏览器以及所有电话上运行,那么唯一的选择就是编写一个web应用程序。在目前的技术状况下,您将无法获得所有手机的本机可执行文件,也无法从相同的代码库获取web应用程序。如果您开发了一个web应用程序(使用ZK、GWT、IceFaces、Lift、Grails等),那么您可以预期市场上会有最大的渗透,因为几乎所有的设备都有一个web浏览器。
最后,对ZK的一些个人看法。
编辑:
PS:我发现了一个旧的引用,它被称为ZK移动,我认为它现在是一个死了的项目。我的印象是,它的目标可能是类似于PhoneGap,因为它只是将你的ZK网站封装在一个本地的安卓应用程序中。所有的东西都可以在互联网上运行,但是用户的手机上会有一个图标。您将无法访问任何本机功能,如警报等。
不管怎么说,我只是想把它放在这里是为了完整。
https://stackoverflow.com/questions/16492773
复制相似问题