Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Vaadin vs.Bootstrap_Java_Javascript_Ajax_Web_Vaadin - Fatal编程技术网

Java Vaadin vs.Bootstrap

Java Vaadin vs.Bootstrap,java,javascript,ajax,web,vaadin,Java,Javascript,Ajax,Web,Vaadin,我计划制作一个在客户端具有复杂表单和逻辑验证视图的应用程序。我计划使用AJAX进行提交,并具有一定的视觉吸引力 我想从那些有Bootstrap和/或CoffeeScript和Vaadin开发经验的人那里得到一个推荐。我有两个选择: 使用Bootstrap/CoffeeScript和服务器站点的一些框架,如Play框架、Rails或Django 瓦丁 我关注的标准与客户端JavaScript和/或HTML5验证以及使用引导编写的CSS和HTML代码中可能出现的复杂情况有关。在ria应用程序中使

我计划制作一个在客户端具有复杂表单和逻辑验证视图的应用程序。我计划使用AJAX进行提交,并具有一定的视觉吸引力

我想从那些有Bootstrap和/或CoffeeScript和Vaadin开发经验的人那里得到一个推荐。我有两个选择:

  • 使用Bootstrap/CoffeeScript和服务器站点的一些框架,如Play框架、Rails或Django
  • 瓦丁
我关注的标准与客户端JavaScript和/或HTML5验证以及使用引导编写的CSS和HTML代码中可能出现的复杂情况有关。在ria应用程序中使用CoffeeScript而不是Vaadin是否值得?我看到有很多人选择了Bootstrap,我相信他们有自己的理由


帮我做决定。一些相关文档也可能会有所帮助。

我会选择Rails3.2+Bootstrap+Backbone.js,我们在这里使用的堆栈

  • Rails:很好的社区,坚实的平台,非常容易开发,可以部署到Heroku(上帝保佑Heroku)
  • Bootstrap 2.0:兼容HTML5,具有良好的开箱即用功能,良好的社区(只需查看他们的github页面),明智的js插件
  • Backbone.js:非常适合客户端繁重的应用程序,可以很好地处理堆栈的其余部分(特别是jQuery),在正确使用时提供良好的用户体验,不具结构性。特别适用于动态表单,因为您可以使用专门的视图(自动完成、包含多个项目的表、相关的选择框等)重构大量代码
至于文档,Rails和Bootstrap都是一流的,你可以找到很多关于它们的书籍。尽管Backbone.js拥有庞大的用户群,但它更加专业化,但你仍然可以在网上找到许多优秀的屏幕广播和电子书(我推荐peepcode和thoughtbot的作品)

祝你的应用程序好运

PS:使用Rails的另一个优点是可以使用的gem和addon集。全文搜索?太阳黑子。审核和版本控制?文书记录。BDD?黄瓜。我建议您查看Ruby工具箱网站。

Vaadin Vaadin是一个非常好的工具,用于构建用纯Java开发并通过常规web浏览器交付的交互式桌面风格web应用程序

利益 6、7和8个应用程序完全在服务器端运行。Vaadin自动将JavaScript库安装到用户的浏览器窗口中,只需执行以下操作:

  • 在屏幕上绘制服务器端应用程序告诉它的任何内容
  • 将用户操作(单击、键入等)返回到服务器,以供应用程序考虑和响应。<李>
因此没有“客户端的逻辑验证”或“html5验证”,至少从Vaadin应用程序开发人员的角度来看不是这样。Vaadin框架可能会在其内部实现的掩护下这样做,但作为一名Vaadin应用程序开发人员,这与我无关。这就是Vaadin的核心优势:我不在乎Vaadin如何将表单显示在用户屏幕上。作为一名Vaadin应用程序开发人员,我不会编写任何JavaScript、HTML、DOM、CSS或AJAX。只是纯Java

样式类似于:实例化一个(表单),添加,添加,添加,添加。根据需要附上。嵌套其他布局,用于复杂表单。所有这些都在服务器端的内存中执行,所有这些都在纯Java中执行。最后告诉布局显示自己。Poof和magic一样,Vaadin告诉浏览器显示该表单的相似性

如果你想开发恰好通过web浏览器部署的桌面风格的商业风格的应用程序,Vaadin是一个很棒的工具

权衡 取舍包括:

  • 服务器端的大量内存和CPU使用
  • 放弃对HTML/CSS/JavaScript的控制
缩放比例 您的web应用位于服务器上,而不是客户端。您的所有业务逻辑、用户输入的数据、所有用户表单(如表中的行项)的内部表示,所有这些都存在于服务器上。乘以用户数。这意味着Vaadin应用程序可能需要大量内存和CPU使用

这可能会限制扩大规模。但考虑到64位Java、多Gig内存以及即使是最底层机器上的多核(如扩展),可能只有最大/最繁忙的应用程序才会遇到问题

即使在那些比较少见的大型/繁忙的应用程序中,也可能有办法处理Vaadin中的扩展。所有应用程序都位于Servlet会话中。一些web基础设施允许在服务器之间移动此类会话状态,甚至将其持久化到存储中,以便其他服务器拾取

或者你的应用程序可以很好地扩展。对11000个同步客户端进行了模拟。见:

  • (公司博客帖子)
  • 阿伦·古普塔(视频演示,YouTube)
控制HTML、CSS、JavaScript 如果您的团队对传统的web应用程序架构比较熟悉,那么Vaadin可能不适合您。在Vaadin中,您完全用纯Java编写应用程序,Vaadin会自动将其转换为HTML、CSS和JavaScript

您可以稍微调整CSS。即使不涉及CSS,如果您希望覆盖默认设置,Vaadin的“主题”(,)也可以为您提供对颜色、大小和字体的更多控制。但是要知道,在生成HTML&CSS时,Vaadin处于“驾驶者的位置”;你只是一个被允许“后座驾驶”的乘客

如果你的目标不是开发桌面风格的应用程序,如果你想完全控制HTML/CSS,那么Vaadin可能不适合你


更新 瓦丁8号获释 2017年2月22日。最大的增强是利用现代Java特性重新编写数据模型和数据绑定API,例如带有类型参数和lambda表达式的泛型。而且,使用内存和CPU时效率更高

瓦丁7号获释。 虽然基本上是同一个阿基特