我需要为我们的私有 Intranet 企业应用程序(tomcat + Java + MySQL)选择一个 web ui 框架,并且我比较了 Google Closure、Apache wicket、Ext JS、ZK 和 Vaadin。我有以下要求。
1)许可证——只要它满足其余的要求,它是否是商业框架都没有关系。
2) 良好的小部件支持 - Ext JS 和 ZK 具有令人印象深刻的小部件集。在 Wicket 中,我们可以创建自己的自定义组件。闭包怎么样?拥有“企业”类型的小部件(例如复杂表、树等)很重要。Vaadin 也有一个很大的列表,但其中大多数是第三方插件,那么它们有多可靠?
3) 良好的 ajax 支持——据我所知,除了 Wicket 之外,所有这些都具有完整的 AJAX 支持。看起来 Wicket 只支持少数组件的 AJAX。是真的吗?
4) 安全性——我知道我们必须在后端实现身份验证和授权。但是我们仍然需要注意浏览器的安全性,并且 GUI 会根据用户角色而改变。因此基于用户登录创建动态 GUI 应该很容易。由于 Wicket 和 ZK 是服务器端的实现,我相信在这些框架中是可以做到的。我在 Ext JS 论坛上看到了关于如何创建动态 GUI 的讨论,因此那里支持它。其他 2 个框架,Closure 和 Vaadin 怎么样?ZK 还提供浏览器安全性,这是一个优势。
5)矢量图形——我们必须画一些图表和某种电路图。Closure 和 Ext JS 支持 Raphael.js。ZK、Wicket 和 Vaadin 怎么样?
6) 谷歌地图 - 我们希望在其中一个 GUI 页面中嵌入交互式谷歌地图。基于 JS 的框架很容易做到。zk 有一个插件。有哪位用过的可以评论一下好用吗?Wicket 也有一个插件,但我读到它无法与服务器交互,这意味着我将无法根据用户选择向服务器发送请求。瓦丁怎么样?
7) 布局管理器 - 拥有一个好的布局管理器是一个加分项。它将有助于创建动态 GUI。Ext JS、vaadin 和 ZK 支持多种布局。wicket 和 Closure 怎么样?
8) 速度——我们不需要超快的 UI 响应,但应该可以接受。我们确实在 GUI 中显示了几千行的表。我读了很多关于 Ext JS 非常慢的文章。其他基于服务器的框架怎么样?往返会导致减速吗?
关于我应该使用哪一个的任何建议?除此以外还有其他框架可以满足这些要求吗?我们主要是 Java 开发人员,所以我们更喜欢基于服务器的框架。但是如果有一个 JS 框架可以满足这些条件并且还允许更多的灵活性,那么我们不介意花一些时间来学习它。