Car*_*nos 9 javascript java ajax vaadin web
我打算在客户端创建一个具有复杂表单和逻辑验证视图的应用程序.我计划使用AJAX进行提交,并具有一些视觉吸引力.
我想要那些有使用Bootstrap和/或CoffeeScript和Vaadin开发经验的人的推荐.我有两个选择:
关注我的标准与客户端JavaScript和/或HTML5验证以及使用Bootstrap编写的CSS和HTML代码中可能出现的复杂性有关.在一个实际的ria应用程序中使用CoffeeScript而不是Vaadin值得吗?我看到有很多人选择了Bootstrap,我确信他们有自己的理由.
帮助我做出决定.一些相关文档也可能有所帮助.
Bas*_*que 18
Vaadin是一个非常好的工具,用于构建以纯Java开发并通过常规Web浏览器提供的交互式桌面式Web应用程序.
Vaadin 6,7和8应用程序完全在服务器端运行.Vaadin自动将JavaScript库安装到用户的浏览器窗口中:
因此,没有"客户端的逻辑验证"或"html5验证",至少不是来自Vaadin应用程序开发人员的观点.Vaadin框架可能在其内部实现中实现了这一点,但这不是我作为Vaadin应用程序开发人员所关注的问题.这是Vaadin的核心优势:我不关心Vaadin如何将我的表单放到用户的屏幕上.作为Vaadin应用程序开发人员,我不会编写任何JavaScript,HTML,DOM,CSS或AJAX.只是纯Java.
该样式类似于Swing:实例化布局(表单),添加标签,添加按钮,添加字段,添加其他小部件.根据需要附加验证器.嵌套其他布局,用于复杂的表单.所有这些都在服务器端的内存中执行,全都是纯Java.最后告诉布局展示自己.噗,像魔术一样,Vaadin告诉浏览器显示该形式的相似之处.
如果您想开发恰好通过Web浏览器部署的桌面式商务风格应用程序,Vaadin是一个很棒的工具.
权衡包括:
您的Web应用程序位于服务器上,而不是客户端.所有业务逻辑,用户输入的数据,所有用户表单的内部表示,例如表中的行项,所有这些都存在于服务器上.乘以用户数.这意味着Vaadin应用程序可能需要大量内存和CPU使用率.
这可能会限制扩大规模.但是,考虑到64位Java,多个内存,以及即使是最小的Mac机器上的多个内核,扩展也可能仅适用于最大/最繁忙的应用程序.
即使在那些罕见的大/忙应用程序中,也可能有办法处理Vaadin中的缩放.所有应用都存在于Servlet会话中.某些Web基础结构允许此类会话状态在服务器之间移动,甚至可以保留到存储以供其他服务器选取.
或者您的应用可能会很好地扩展 已经完成了11,000个同时客户的模拟.看到:
如果您的团队对传统的Web应用程序架构更加舒适或经验丰富,那么Vaadin可能不适合您.在Vaadin中,您完全使用纯Java编写应用程序,Vaadin会自动将其转换为HTML,CSS和JavaScript.
你可以调整一下CSS.即使没有触摸CSS,如果你想覆盖默认值,Vaadin的"主题"(Valo,Reindeer)可以让你对颜色,大小和字体有很大的控制.但要知道Vaadin在生成HTML和CSS方面处于"驾驶员席位"; 你是乘客,只允许一点点"后座驾驶".
如果您的目标不仅仅是开发桌面式应用程序,那么如果您想完全控制HTML/CSS,那么Vaadin可能不适合您.
2017年2月22日,Vaadin 8发布.最大的增强功能是利用现代Java功能重写的数据模型和数据绑定API,例如带有类型参数和lambda表达式的泛型.此外,内存和CPU更高效.
虽然与Vaadin 6大致相同的架构,但7比以往更好.请参阅:新功能.
我会使用Rails 3.2 + Bootstrap + Backbone.js,我们在这里使用的堆栈.
至于文档,Rails和Bootstrap都是顶级的,你可以找到很多关于它们的书籍.Backbone.js虽然拥有庞大的用户群,但更专业,但你仍然可以在网上找到很多好的截屏和电子书(我推荐peepcode和thinkbot的作品).
祝你的应用好运!
PS:使用Rails的另一个好处是你可以使用的宝石和插件集.全文搜索?太阳黑子.审核和版本控制?PaperTrail.BDD?黄瓜.我建议您查看Ruby Toolbox站点.
| 归档时间: |
|
| 查看次数: |
12246 次 |
| 最近记录: |