2012-06-21 13 views
5

Pregunta 1) Me gustaría saber si ruby ​​on rails tiene gemas con funcionalidad similar a las primefaces. por qué lo estoy preguntando esCómo lograr la magia de UI impulsada por JSF 2.0 (Primefaces) En Ruby on Rails

si va con primos (http://www.primefaces.org/showcase-labs/ui/home.jsf) desarrollador no tiene que preocuparse por javascript o jquery.

Por lo que yo sé, JSF es una especificación, basado en la especificación de varias implementaciones disponibles, Primefaces es un framework ui para esas implementaciones, primefaces tiene tantos componentes basados ​​en jquery y javascript libs. Más o menos Primefaces simplemente sirve como un contenedor de Javascript. Yo uso las materias primas, usted se concentra principalmente en la lógica de negocios sin necesidad de preocuparse por la IU.

Estaba muy inspirado en el enfoque de ruby ​​on rails y hay muchas gemas disponibles.

lo que mi pregunta es, ¿Hay un marco gema o la interfaz de usuario disponible para el rubí en los carriles similares a la interfaz de usuario de magia impulsado por PrimeFaces

nota: no estoy buscando para jQuery o Dojo materias puras, i Estoy buscando productos conducidos por UI para ruby ​​on rails. Los chicos que trabajaron en proyectos que utilizan superficies y proyectos utilizando rieles comprenderán mi pregunta al 100%.

Pregunta 2) Me gustaría saber la lista de gemas relacionadas con la interfaz de usuario. Lo que estoy preguntando es para crear una interfaz de usuario muy específica en ruby ​​on rails. ¿Cuáles son las cosas (frameworks o gemas) que se necesitan?

+1

http://netzke.org/demo/? – Daniel

Respuesta

5

Muchas partes de la respuesta anterior simplemente no son ciertas. Parece que el contestador no ha usado JSF2.0, que es lo que Primefaces es. JSF v1 fue terriblemente complejo y una experiencia horrible para todos. JSF2.0 no se parece en nada a JSF v1, así que tenga cuidado con los detractores que admiten que no usan JSF2.0.

JSF2.0 es un marco web tremendamente productivo y divertido para usar. No es para nada "corporativo" (pero obtiene esa reputación de JSF v1). Es liviano y se mantiene fuera de tu camino. Debido a que es Java (que finalmente se compila, no se interpreta), también es bastante rápido.

En su núcleo es un marco de plantillas: no está limitado a los componentes, de forma predeterminada es libre de HTML. Tiene la opción de usar etiquetas inteligentes llamadas componentes que pueden mantener el estado a lo largo del ciclo de vida de la solicitud, que es útil para hacer cosas como validación y ajax (ambas son tareas realmente simples en JSF2.0).

JSF2.0 también administra los ciclos de vida de los beans (pequeños objetos con estado que defina) que pueden vincularse a diferentes ámbitos, como solicitud, vista, sesión o incluso aplicación. Los controladores son un concepto similar en Rails, pero JSF2.0 no tiene el concepto de rutas, en su lugar se pasan los objetos de función utilizando un EL, por lo que tiene el concepto de acciones en su lugar. Esto lo hace increíblemente libre; puede usar cualquier patrón de software que desee: me gusta MVVM sobre MVC, y tiendo a usar ese patrón, mientras que Rails es MVC bastante estricto.

Las bibliotecas de componentes son un conjunto de código java y fragmentos html que se pueden agregar a la página. Primefaces es una biblioteca de componentes de widgets UI comúnmente utilizados. Esencialmente, usted escribe algún código JSF/HTML y maneja JQuery UI en el navegador.

¿Podría usar JSF2.0 con Ruby? Apuesto a que podrías usar JRuby. Si es posible anotar objetos Ruby con las anotaciones JSF2.0 (como @ManagedBean), estoy bastante seguro de que podría hacer que esto funcione con un poco de experimentación.

¡Buena suerte y devuélvelo si tienes algún extremo haciendo esto!

+0

todo parece bastante simple una vez que lo dominamos :) tengan la certeza de que incluso con las mejoras 2.0 todavía está orientado a los componentes ... también parece que hoy en realidad escribimos más JavaScript a mano en lugar de generarlo (ya que tenemos librerías JavaScript) - apenas tocaste estas 2 cosas que critiqué como una ventaja sobre un framework web como Rails. de todos modos, sospecho fuertemente que esta respuesta es bastante parcial ya que tanto el autor como el contestador parecen ser principalmente desarrolladores de Java. – kares

+0

He desarrollado en ambos Frameworks (JSF 2.0 y Rails) y estoy de acuerdo con esta respuesta. Rails es tan productivo y básicamente fácil de usar, pero no tan flexible como JSF 2.0. – ehsun7b

4

Realmente creo que estás haciendo una pregunta "incorrecta" aquí, debido a mi experiencia previa con JSF (principalmente MyFaces) y Rails.

Supongo que en general está en sus comienzos con Rails: olvídese de JSF, olvide los componentes y tal vez incluso olvide cómo escribió JavaScript (en un proyecto JSF). RoR es un mundo diferente y cuanto más lo consigues, más descuidas los componentes, al menos ese era mi caso. También reinventé la programación web "simple" con Ruby on Rails y obtuve una experiencia de JavaScript "valiosa", pero tuve que soltar parte de mi "sabiduría" previa de Java land :)

No existe tal UI ". marco mágico "para Rails hasta donde yo sé y creo que tampoco hay demanda para él. La capa de vista, incluida la integración de JavaScript, es (conceptualmente) diferente en una aplicación JSF (basada en componentes) que en Ruby on Rails.

Personalmente, solo veo a JSF como una buena opción para aplicaciones de "forma corporativa" que se escriben una vez, evolucionan mínimamente y requieren muy pocas personalizaciones de componentes (o requieren algunas pero el tiempo invertido en componentes personalizados debe reutilizarse en otras aplicaciones).

La capa de vista de JSF tiende a limitarlo con los componentes que tiene: en lugar de pensar claramente sobre el diseño del HTML de su "widget", tiende a pensar en adaptar un componente existente a sus necesidades, no es raro que lo haga los límites en un requisito real de caso de uso y que termina pasando mucho tiempo examinando el componente para posibles extensiones y pirateos. Sin mencionar que podría ser más difícil adaptar las piezas generadas de HTML + JavaScript que no has escrito, incluso si está escrito cuidadosamente, todavía está ahí y tienes que aprender otra API "pequeña" para cada componente.

Si mira Rails es por diseño diferente; escribe vistas "simples" (que inicialmente toman algo de tiempo), para su reutilización las divide lógicamente en parciales (lo más probable es que surjan nuevos requisitos). Cuando se reutilizan, los parciales se pueden adaptar fácilmente a los nuevos escenarios, sin mencionar que usted tiene el control del JavaScript que viene con el marcado.

Además de que muchas aplicaciones nuevas están escritas como clientes de JavaScript con una API REST, no puedo imaginarme cómo JSF aquí no sería una carga, ya que la mayor parte del tiempo necesita un control total sobre HTML y JavaScript. Debe y quiere preocuparse por la interfaz de usuario y, desde luego, no necesita otro contenedor de JavaScript de servidor + cliente. Si prefiere pensar en componentes, preferiría recomendarle que busque en bibliotecas de componentes del lado del cliente, como Ext-JS.