¿Qué es mejor para el desarrollo web: GWT o Ruby on Rails? ¿Cuáles son las fortalezas y debilidades? ¿Cuándo debo usar uno sobre el otro?

Los otros carteles son básicamente correctos. Lo que es “mejor” realmente depende de lo que intente construir. Los dos detalles que mencionó tampoco están exactamente en la misma clase, como mencionó Corey, ya que Rails es del lado del servidor y GWT es del lado del cliente. Dicho esto, algunos pros / contras generales para los dos frente a sus competidores son los siguientes:

Rails se construyó con un rápido desarrollo en mente, por lo que, en términos de tiempo de desarrollo, es uno de los mejores, si no el mejor, con una base de usuarios fanáticos. Sin embargo, viene con una curva de aprendizaje muy empinada y ha sido criticado por su rendimiento y escalabilidad.

La única ventaja de GWT proviene del hecho de que muchos sitios tienen diseños muy similares en todas las páginas, y se debe cargar el mismo encabezado, pie de página, etc. a cada solicitud. Entonces, una optimización que puede hacer es en lugar de cargar una nueva página cuando los usuarios hacen clic en un enlace de la página, Javascript simplemente puede ocultar y mostrar la parte de la página que cambia. Hay una serie de problemas difíciles de abordar para hacer esto bien (algo que Gmail hace muy bien), pero GWT lo hace más fácil (por ejemplo, los historiales del navegador se resuelven adecuadamente, por lo que retroceder / avanzar en un navegador funciona como se esperaba). La documentación y el tutorial para GWT también son muy buenos (lo mejor que he visto de Google hasta ahora) y la capacidad de escribir en Java y desarrollar en Eclipse es una ventaja. El mayor inconveniente de GWT es que el objetivo que logra, hacer que el código del lado del cliente sea más fácil de escribir, también se logra mediante una serie de otras alternativas, y en mi opinión, lo hacen mejor (es decir, JQuery me viene a la mente). Es mucho más fácil integrarse con Javascript, mientras que con GWT a veces parece que estás casado con el marco. Además, la cantidad de complementos, usuarios y seguidores es mucho menor en comparación con JQuery, por ejemplo.

Si desea construir alguna aplicación web interesante en estos días, GWT no es suficiente. Necesita lógica del lado del servidor para servir contenido dinámico. Si eres nuevo en el desarrollo web, no comenzaría con Rails; Comenzaría con PHP o algo más indulgente. Si tiene algo de experiencia en programación web y está dispuesto a pagar muchos costos iniciales para obtener muchos más beneficios futuros, elija Desarrollo web ágil con rieles de Ruby, Thomas, Hannson y la mejor de las suertes.

Ruby on Rails se encargará de tus cosas del lado del servidor. Te llevará de la nada a escupir páginas dinámicas. No va a abstraer el código JavaScript de usted. GWT le permite escribir una aplicación Java limitada que se traduce a JavaScript para ejecutarse en el navegador web del visitante. Desde mi comprensión (ciertamente limitada), no maneja ninguna cosa del lado del servidor.

¿Realmente vamos por este camino una vez más? La gente, despierta, deja de hacer preguntas como “¿cuál es el mejor, X o Y?” Cualquier ser racional sabe que las personas a las que les gusta X dirán lo que sea para defender a X y las personas de Y harán lo que sea para contrarrestarlas.

No hay un punto absoluto a favor o en contra de una tecnología que sea lo suficientemente fuerte como para inutilizar las alternativas. Las personas tienen necesidades diferentes, con diferencias muy sutiles. Es imposible para un extraño, un completo desconocido en un foro simple como este, tener una visión completa de su situación y tomar una decisión adecuada y educada. Y si sigues estos comentarios es lo mismo que leer el horóscopo.

Haga lo único racional: invierta algo de tiempo en la investigación. Experimente con las herramientas, experimente con las bibliotecas basadas en la comunidad y complemente su marco principal (ningún marco es útil por sí solo sin una comunidad dinámica y receptiva detrás de él). Lea muchos libros, documentos, artículos, publicaciones de blog, tutoriales, lea proyectos de código abierto utilizando ese marco, etc.

Como siempre digo, los buenos desarrolladores ya tienen un “sentimiento” sobre cómo superar esas cosas y hacer su debida investigación.

Dicho todo esto, no veo ninguna razón para elegir GWT o Rails en función de los argumentos a favor o en contra. Ambas son buenas herramientas, ambas son muy maduras, ambas ya han demostrado su valía en muchas situaciones. Ambos tienen diferentes casos de uso y satisfacen diferentes necesidades.

¿Qué camiseta es mejor? el marrón o el rojo?