是ZK开源版"一次编写,随处运行"吗?

IAm*_*aja 2 java web-applications zk cordova

我一直在考虑将zk用于我即将推出的Java Web项目,但我有点怀疑,因为它看起来很棒,它有一个昂贵的许可版本以及一个免费的开源版本.

我只能使用ZK开源版,但需要 "一次编写,随处运行"功能(否则我可能会使用GWT/Phonegap).

在他们的功能比较页面上,他们没有提到在任何地方写一次/运行,所以我想知道是否有任何战斗疲惫的ZK老兵可以权衡这个功能是否在免费版本上运行,以及如何运行.

我需要支持所有网络浏览器,移动网络,所有Android设备(包括Nook/Kindle),所有iOS设备,Microsoft设备(Surface等)和Blackberry.

此外,如果自由/开源版本支持此功能,它是如何工作的?除了WAR之外,教程中的任何内容似乎都没有表明它如何为各种平台生成本机可执行文件...

Sea*_*lly 5

没有.

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

ZK Web应用程序仅在 Tomcat,JBoss,Jetty,Glassfish等Java应用程序服务器中运行.

从这个意义上讲,ZK与GWT非常相似,与PhoneGap非常不同.

  • 使用PhoneGap,您可以使用HTML,CSS和JavaScript 构建手机应用程序.然后,您的应用程序将显示在为每个电话平台编译的本机包装器中.这并不是为Web,本身.
  • 使用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应用程序.在技术CURENT状态,你将无法得到本地的可执行文件的所有手机一个得到相同的代码库的Web应用程序.如果您开发Web应用程序(使用ZK,GWT,IceFaces,Lift,Grails等),您可以期望最大程度地渗透到市场中,因为几乎所有设备都具有Web浏览器.

最后,关于ZK的一些个人意见..

  • 开发周期太棒了,我喜欢用ZK编程.
  • 团队和社区也很棒,很有动力.
  • 该框架一直在积极发展,新的核心功能和改进.
  • 我不确定在重负荷下它会如何与其他人对抗.
    • 他们生成的DOM非常繁重
    • 客户端和服务器之间存在很多喋喋不休

编辑:
PS:我发现这个旧的引用称为ZK Mobile,我认为这是一个死的项目.我的印象是它可能的目标是类似于PhoneGap,因为它只是将您的ZK网站包装在原生Android应用程序中.一切仍然可以在互联网上工作,但用户手机上会有一个图标.您将无法访问任何本机功能,如警报等.
无论如何,只是想为了完整起见我把它放在这里.