Pregunta Cómo lograr la magia de IU impulsada por JSF 2.0 (Primefaces) En Ruby on Rails [cerrado]


Pregunta 1) Me gustaría saber si ruby ​​on rails tiene gemas con funcionalidad similar a las primefaces. por qué estoy preguntando es

si vas con Primefaces ( http://www.primefaces.org/showcase-labs/ui/home.jsf ) desarrollador no hay necesidad de preocuparse por javascript o jquery.

Según mi conocimiento, JSF es una especificación, basada en las diversas implementaciones disponibles, primefaces es un marco de interfaz de usuario para esas implementaciones, primefaces tiene muchos componentes basados ​​en librerías javascript y jquery. Más o menos primefaces simplemente sirven como un envoltorio javascript. Si utiliza primefaces, se concentra principalmente en la lógica empresarial, no tiene que preocuparse por la interfaz de usuario.

Me sentí muy inspirado por el enfoque de ruby ​​on rails y hay muchas gemas disponibles.

¿Cuál es mi pregunta? ¿Hay una joya o un marco de interfaz de usuario disponible para ruby ​​on rails similar a la magia de la interfaz de usuario impulsada por las primaras?


5
2018-06-21 05:56


origen


Respuestas:


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 horriblemente 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 increíblemente productivo y divertido de 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 esencia, es un marco de plantillas: no está limitado a los componentes, de forma predeterminada es HTML de forma libre. Tiene la opción de usar etiquetas inteligentes llamadas componentes que pueden mantener el estado a través del ciclo de vida de la solicitud, lo cual es útil para hacer cosas como la 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 la solicitud, la vista, la sesión o incluso la 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 el 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ódigos java y fragmentos html que se pueden agregar a la página. Primefaces es una biblioteca de componentes de widgets de UI de uso común. Esencialmente, usted escribe algún código JSF / HTML y maneja JQuery UI en el navegador.

¿Podrías 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 terminas haciendo esto!


5
2017-09-03 20:21



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

Supongo que la mayoría de las veces está en sus inicios 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 algo de experiencia de JavaScript "valiosa", pero tuve que soltar algo de mi "sabiduría" previa de la tierra de Java :)

No existe un "marco impulsado por la magia" de UI para Rails, que yo sepa, y creo que tampoco hay demanda para ello. 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 dedicado a crear componentes personalizados debe reutilizarse en otras aplicaciones) .

La capa de visualización de JSF tiende a limitarte con los componentes que tienes: en lugar de pensar claramente sobre el diseño del HTML de tu "widget", tiendes a pensar en adaptar un componente existente a tus necesidades, no es inusual alcanzar los límites de una requisito de caso de uso real y de lo 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 miras Rails es por diseño diferente: escribes vistas "simples" (que inicialmente toman algo de tiempo), para reutilizarlas las divides lógicamente en parciales (lo más probable es que entren nuevos requisitos). Cuando se reutilizan, los parciales se pueden adaptar fácilmente a 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 imaginar 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 los componentes, preferiría que consulte las bibliotecas de componentes del lado del cliente, como Ext-JS.


4
2017-07-02 18:01