Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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
Ruby on rails 如何在RubyonRails中实现JSF2.0(Primefaces)驱动的UI魔术_Ruby On Rails_Ruby_Ruby On Rails 3_Jsf 2_Jruby - Fatal编程技术网

Ruby on rails 如何在RubyonRails中实现JSF2.0(Primefaces)驱动的UI魔术

Ruby on rails 如何在RubyonRails中实现JSF2.0(Primefaces)驱动的UI魔术,ruby-on-rails,ruby,ruby-on-rails-3,jsf-2,jruby,Ruby On Rails,Ruby,Ruby On Rails 3,Jsf 2,Jruby,问题1) 我想知道RubyonRails是否有功能类似于primefaces的gems。 我问的原因是 如果使用primefaces()开发人员,就不必担心javascript或jquery的问题 就我所知,JSF是一个规范,基于各种可用的规范实现,primefaces是这些实现的ui框架,primefaces有很多基于jquery和javascript库的组件。或多或少的primefaces只是充当javascript包装器。 如果您使用primefaces,您主要关注业务逻辑,不必担心UI

问题1) 我想知道RubyonRails是否有功能类似于primefaces的gems。 我问的原因是

如果使用primefaces()开发人员,就不必担心javascript或jquery的问题

就我所知,JSF是一个规范,基于各种可用的规范实现,primefaces是这些实现的ui框架,primefaces有很多基于jquery和javascript库的组件。或多或少的primefaces只是充当javascript包装器。 如果您使用primefaces,您主要关注业务逻辑,不必担心UI

我深受RubyonRails方法的启发,这里有很多可用的宝石

我的问题是,RubyonRails是否有类似于primefaces驱动的UI magic的gem或UI框架可用

注意:我不是在寻找纯jquery或dojo的东西,我是在寻找RubyonRails的UI组件驱动的东西。在使用primefaces和rails的项目中工作的人将100%理解我的问题

问题2)
我想知道有关用户界面的宝石清单。我想问的是,为了在ruby on rails上创建非常适合的用户界面,需要什么东西(框架或gem)。

我真的觉得你在这里问了一个“错误”的问题-由于我以前使用JSF(主要是MyFaces)和rails的经验

我假设您主要是刚开始使用Rails——忘记JSF,忘记组件,甚至可能忘记如何编写JavaScript(在JSF项目上)。RoR是一个不同的世界,你越深入其中,你就越忽略组件,至少我是这样。我还用RubyonRails重新发明了“简单”的web编程,并获得了一些“宝贵的”JavaScript经验,但我不得不放弃我以前从Java领域获得的一些“智慧”:

据我所知,Rails没有这样的UI“魔法驱动框架”,我相信也没有对它的需求。在(基于组件的)JSF应用程序中,视图层(包括JavaScript集成)与RubyonRails中的视图层(概念上)不同

我个人只认为JSF是“公司形式”应用程序的一个不错的选择,这些应用程序只需编写一次,发展最少,并且只需要很少的组件定制(或者需要一些定制,但定制组件所花费的时间应该在其他应用程序上重用)

JSF的视图层倾向于用您拥有的组件来限制您—您不需要清楚地考虑“小部件”HTML的布局,而是考虑根据您的需要调整现有组件,在实际用例需求中达到极限并最终花费大量时间检查组件是否存在可能的扩展和黑客攻击,这并不罕见。更不用说,调整生成的HTML+JavaScript片段可能会更加困难,即使编写得很仔细,它仍然存在,您必须为每个组件学习另一个“小”API

如果你看Rails,它的设计是不同的——你写的是“普通的旧”视图(最初需要一些时间),为了重用,你在逻辑上将它们分割成部分(最有可能是在新需求到来时)。当被重用时,片段可以很容易地适应新的场景,更不用说您可以控制标记附带的JavaScript了

除了许多新的应用程序都是作为带RESTAPI的胖JavaScript客户端编写的之外,我无法想象JSF在这里会不会成为一个负担,因为您大多数时候都需要完全控制HTML和JavaScript。您必须并且希望担心UI,当然不需要另一个服务器+客户端JavaScript包装器。
如果您更喜欢在组件中思考,我建议您查看客户端组件库,如Ext JS。

前面答案中的许多部分根本不正确。这听起来像是回答者没有使用JSF2.0,这就是Primefaces。JSF v1非常复杂,对每个人来说都是一次可怕的经历。JSF2.0与JSF v1完全不同,所以要小心那些承认没有使用JSF2.0的反对者

JSF2.0是一个非常高效和有趣的web框架。它根本不是“企业性”(而是从JSF v1中获得的声誉)。它重量轻,不碍事。因为它是Java(最终是编译的,而不是解释的),所以它也非常快

它的核心是一个模板框架:您不局限于组件,默认情况下它是自由格式的HTML。您可以选择使用称为组件的智能标记,这些组件可以在整个请求生命周期中维护状态,这对于执行验证和ajax(在JSF2.0中都是非常简单的任务)非常方便

JSF2.0还管理bean(您定义的小型有状态对象)的生命周期,这些bean可以绑定到不同的范围,如请求、视图、会话甚至应用程序。控制器在Rails中是一个类似的概念,但是JSF2.0没有路由的概念,而是使用EL传递函数对象,因此它有动作的概念。这使得它难以置信的自由形式;您可以使用任何您喜欢的软件模式:我喜欢MVVM而不是MVC,我倾向于使用这种模式,而Rails是相当严格的MVC

组件库是java代码和html片段的捆绑包,可以放到页面上。Primefaces是常用UI小部件的组件库。本质上,您可以在浏览器上编写一些JSF/HTML代码和驱动程序jQueryUI

您能将JSF2.0与Ruby结合使用吗?我打赌你可以使用JRuby。若可以使用JSF2.0注释(比如@ManagedBean)对Ruby对象进行注释,我敢肯定您可以通过一些实验来完成这项工作


祝你好运,如果你有任何结束这样做

一旦我们掌握了我,一切似乎都很简单