Pregunta

Mi empresa está en el proceso de poner en marcha el Griales camino.La razón de esto es que los desarrolladores actuales están muy interesados ​​en Java pero sintió la necesidad de un Lenguaje estilo MVC para algunos futuros proyectos de desarrollo web.Personalmente, vengo del mundo del diseño/usabilidad, pero a medida que asumo más responsabilidades "front-end" empiezo a sentir la necesidad de aprender un lenguaje más intensamente para poder codificar algo de lógica, pero especialmente el front-end. código para mis UI y esas cosas.

He estado tratando de entrar Python/Django personalmente, pero nunca invertí demasiado tiempo en ello.Ahora que mi empresa está "saltando" a Grails, compré el "Desarrollo web ágil con Rails (3.ª edición - Beta)" y estoy empezando a entrar en RoR.todavía me gustaría aprender Pitón en el futuro o en el lateral, pero mi mayor pregunta es:

  • ¿Debería aprender RoR y tener un lenguaje más versátil en mi "portafolio", sabiendo que mi conocimiento de RoR también será útil para mis necesidades de Grails?

-O-

  • ¿Debería simplemente saltarme RoR y concentrarme en aprender Grails que necesitaré para trabajar pronto, y trabajar en aprender RoR/Django (Ruby/Python) más adelante?

Básicamente, la pregunta gira en torno a la utilidad de Grails en un entorno no corporativo y las similitudes entre Rails y Grails.(y esto, mientras intentamos evitar la discusión centenaria sobre Python vs Ruby (on Rails) :))

¿Fue útil?

Solución

Mmmm, no sé cómo decir esto.Algunas personas podrían criticarme por esto.

Idioma (Groovy y Ruby)

Como lenguaje, creo que Ruby es más original en comparación con Groovy.Groovy sólo existe para facilitar al programador de Java, ya que no es necesario aprender demasiada sintaxis nueva.Pero en general creo que no es tan original como Ruby.Groovy no sería el lenguaje JVM que vale la pena aprender según el voto de los asistentes en JavaOne de este año, pero Scala es el indicado.Aparte de eso, el creador original de Groovy no tiene fe en el lenguaje que él mismo creó en primer lugar.

Comunidad y ofertas de trabajo

En cuanto a la comunidad, la comunidad de Grails no es tan grande como Rails, aunque desde que Spring la adquirió, cada vez más personas la utilizan en aplicaciones serias.Rails tiene más ofertas de trabajo en el mercado en comparación con Grails (es decir, si desea invertir en buscar un nuevo trabajo).

El marco (Griales y Rails)

Pero, como marco, si realmente le importa la mantenibilidad y necesita acceso al marco Java y al sistema Java heredado, Grails es el camino a seguir, ya que proporciona un acceso más limpio a Java.El propio Grails se basa en varios marcos Java populares (Spring e Hibernate).Rails en sí, en mi humilde opinión, es original como el propio Ruby, pero su originalidad le cuesta mantenibilidad. El propio Matz prefiere Merb a Rails 2 porque Rails crea un DSL sobre Ruby, lo que realmente va en contra de la filosofía de Ruby.Y creo que porque Rails en sí tiene opiniones, lo que a su vez, si no tienes la misma opinión que el creador, es posible que no se ajuste a tus necesidades.

Conclusión

Entonces, en su caso, aprenda Griales, ya que ese es el consenso de la empresa (debe respetar el consenso) y si aún desea asegurar su trabajo.Pero invierta algo de tiempo en aprender Rails y Ruby también si desea tener la oportunidad de conseguir un nuevo trabajo en el futuro.

Otros consejos

Solo una pequeña pregunta: ¿la razón por la que eligen Grails es porque Groovy tiene una sintaxis más cercana a Java que Ruby, o porque quieren acceder a Java?

Si es lo primero, entonces diría que intente centrarse en Grails ya que eso es lo que utilizará.Si es lo último, es posible que desees ver si el equipo de desarrollo está dispuesto a utilizar JRuby.

Nunca antes había usado Grails o Rails, pero sí Groovy y Ruby, y como lenguaje creo que Ruby es mucho más limpio y consistente, y el equipo podría disfrutar más de la producción.Como plataforma, Rails lleva más tiempo disponible y recibe mucha atención, por lo que me imagino que es una plataforma más estable para usar con funciones más desarrolladas.

JRuby tiene acceso completo a clases escritas en Java, por eso diría que consideres probar Rails.Si ya es demasiado tarde para considerarlo, supongo que puedes ignorar esta publicación.

Básicamente, si solo desea conectarse con Java, entonces JRuby es una opción que debe considerar, pero si el equipo tiene miedo de una sintaxis que no sea similar a la de Java, tal vez continúe como está.

Aprendería ambos.Ambas son tecnologías prometedoras.Aprender codificación RESTful es un beneficio real en cualquier idioma.

Utilizo GRAILS en el trabajo y RoR para proyectos paralelos.Puedo decir que la comunidad RoR es mucho más grande (estoy hablando de RoR vs Grails, no de RoR vs Java) y muy útil.

Respuesta corta:Son similares....¿Qué podría doler?

He estado aprendiendo RoR y Grails y este último es mucho más fácil de aprender.

Ambos marcos comparten los mismos principios (ágil, beso, seco, mecanografiado, etc.), pero la sintaxis de Groovy es... bueno, es simplemente genial, algo que puedes aprender y usar en un abrir y cerrar de ojos.

Realmente siento que Grails tiene un futuro más brillante que RoR.

PD:En caso de que lo encuentres útil, una universidad mía trabaja a tiempo completo con Grails y tiene un blog con algunos consejos:

http://dahernan.net/search/label/grails

Simplemente omita RoR.Realmente no hay muchas cosas similares (aparte del nombre)

Ciertamente creo que estar suficientemente familiarizado con Java, además de algo de experiencia en programación con un lenguaje dinámico, es más que suficiente si planeas hacer un desarrollo serio con Grails.

Comparar solo las vistas (taglibs en Grails, RHTML en RoR) y las cosas de persistencia (GORM vs ActiveRecord) es demasiado diferente en el núcleo, como para invertir tiempo en aprender los detalles esenciales de RoR.Simplemente sumérgete en Grails, no te arrepentirás.

Editar:error tipográfico corregido.

Deberías saltarte RoR y concentrarte en aprender los Griales que necesitarás para trabajar.

@Levi Figueira

Por un lado, Grails es mucho más flexible que Rails.Rails es difícil de usar con una base de datos heredada porque ActiveRecord tiene demasiadas restricciones de diseño que muchas bases de datos heredadas no siguieron.Grails, por otro lado, puede utilizar asignaciones de Hibernate estándar, que pueden adaptarse a una gama mucho más amplia de diseños de bases de datos.

La comunidad Rails ha sido muy vocal en la evangelización de RoR, con el resultado de que se han establecido altas expectativas y no siempre se han cumplido (la productividad del programador es buena, pero garantizar un buen rendimiento una vez implementado no es tan fácil).

Grails ha sido diseñado como el sucesor de Java mediante scripts, mientras que la integración Ruby-Java utilizada en JRuby on Rails, por ejemplo, ha tenido que ser adaptada.

Te sugeriría que te quedes con Grails;Puede que no tenga el mismo brillo que RoR, pero es una elección pragmática;Obtiene una productividad mejorada y la reutilización de bibliotecas Java existentes.

Salta directamente a Griales.Estoy seguro de que Ruby/Rails es bueno, pero también lo es en Groovy/Grails.Recomiendo este libro.

http://beginninggroovyandgrails.com

Recuerde que las erratas están en línea.Hay un par de errores en el libro.

http://beginninggroovyandgrails.com/site/content/errata

Además, consulte la demostración de 3 minutos y 30 segundos sobre cómo crear su primera aplicación Grails.

http://grails.org/Grails+Screencasts

Este tutorial le mostrará los conceptos básicos.

http://grails.org/Quick+Start

Sí, Grails es el camino a seguir.RoR es bueno pero te conecta con el ecosistema Ruby.Parte del esfuerzo de aprender un nuevo marco o lenguaje es aprender las bibliotecas de clases, así como la sintaxis del lenguaje.Si todos sus compañeros de trabajo son del tipo Java, estará en una posición mucho mejor para recibir ayuda y soporte, ya que todos hablarán el mismo idioma que usted.

La otra ventaja de aprender un poco de Groovy y Java es que se le abrirán marcos web como GWT.Grails tiene un complemento GWT y, como desarrollador front-end, apreciará la facilidad de uso y la compatibilidad entre navegadores.

También hay al menos una empresa de alojamiento que ofrece alojamiento gratuito de aplicaciones Grails (http://www.mor.ph/) lo que significa que puedes crear prototipos de sitios con pequeños volúmenes de datos antes de tener que pagar.

Prefiero Grails a Rails, pero aprender Rails te dará una perspectiva más equilibrada y, de hecho, te abrirá los ojos a cosas que son posibles en Grails y que se pasan por alto.

A primera vista podrías pensar que son historias completamente diferentes, ya que están basadas en lenguajes extremadamente diferentes (Ruby y Groovy).

Luego, después de leer un par de tutoriales, te darás cuenta de que comparten los mismos principios: andamiaje, mecanografía, etc.y finalmente el mismo objetivo: haciendo factible la programación ágil.

Si ya se siente cómodo con términos como IoC y MVC, encontrará cualquiera de estas opciones fácil y emocionante de aprender.

Yo diría que no, también estoy aprendiendo Grails, y también he considerado esto, pero aprender Grails es bastante importante, además de aprender Groovy (lo cual es fácil, pero aún así tengo que aprenderlo, ¿verdad?) y todo eso. ...entonces aprender Rails habría sido demasiado.

Sí, si comparamos Grails y Rails, elegiría Grails (desarrollé algunas aplicaciones de intranet en Grails).

Pero Django es superior a ambos, ya que Python es una elección perfecta.

Quizás también quieras echar un vistazo a Clojure, un lenguaje JVM que apenas está empezando a hacerse popular.Puede ser una buena opción para una empresa basada en Java, ya que es compatible con su antiguo código base y tiene muchas innovaciones modernas a su favor.Están surgiendo algunos buenos marcos web, incluidos Compojure.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top