我一直在考虑将zk用于我即将推出的Java Web项目,但我有点怀疑,因为它看起来很棒,它有一个昂贵的许可版本以及一个免费的开源版本。 / p>
我只能使用ZK开源版,但需要“一次编写,随处运行”功能(否则我可能会使用GWT / Phonegap)。
在他们的feature comparison page上,他们没有提到写一次/在任何地方跑,所以我想知道是否有任何战斗疲惫的ZK老兵可以权衡这个功能是否在免费版本上运行,以及如何。
我需要支持所有网络浏览器,移动网络,所有Android设备(包括Nook / Kindle),所有iOS设备,Microsoft设备(Surface等)和Blackberry。
,如果免费/开源版 支持此功能,它是如何工作的?除了WAR ...
之外,教程中的任何内容似乎都没有表明它如何为各种平台生成本机可执行文件答案 0 :(得分:5)
没有
ZK只构建Java Web归档文件(war),它不构建Android,iOS,Nook,Kindle的本机应用程序,甚至不构建桌面的独立应用程序。
ZK Web应用程序仅在Java应用程序服务器中运行,如Tomcat,JBoss,Jetty,Glassfish等。
从这个意义上讲,ZK与GWT非常相似,与PhoneGap非常不同。
ZK中的编程感觉好像你有一个DOM副本作为Java对象。 ZK处理初始化特定Controller
的{{1}},您可以要求它从视图中连接任何View
。然后,您将Component
作为对象,并且您所做的任何更改都会立即(或多或少)反映在客户端上。
现在,ZK放在一边..
如果您想编写一次代码以在所有Web浏览器和所有手机上运行,唯一的选择是编写Web应用程序。在技术尚未成熟的状态下,您将无法获得所有手机的本机可执行文件和从同一代码库获取Web应用程序。如果您开发一个Web应用程序(使用ZK,GWT,IceFaces,Lift,Grails等),您可以期望最大程度地渗透到市场中,因为几乎所有设备都有Web浏览器。
最后,关于ZK的一些个人意见..
修改强>
PS:我发现这个旧的引用称为ZK Mobile,我认为它现在已经死了。我的印象是,它可能旨在成为类似于PhoneGap的东西,因为它只是将您的ZK网站包装在原生Android应用程序中。一切仍然可以在互联网上工作,但用户手机上会有一个图标。您将无法访问任何本机功能,如闹钟等
无论如何,我只是想把它放在这里是为了完整。