Un libro de texto introductorio escrito por el internauta koalant (inicie sesión para descargarlo).
Presenta el lenguaje Ruby, la instalación de Rails y un ejemplo sencillo. Muy útil para principiantes. ¡Muy recomendado!
Si participa en el desarrollo de j2ee como programador de Java, definitivamente utilizará muchos marcos de aplicaciones. Ningún lenguaje es tan activo como la comunidad de lenguajes Java, y cualquier nuevo concepto de programación pronto tendrá sus correspondientes implementaciones de código abierto en Internet. En correspondencia con el modelo de desarrollo de sitios web más utilizado, MVC, cada capa tendrá muchos marcos. Struts y Tapestry pertenecen a la capa de controlador (C), y el marco Velocity pertenece a la capa de vista (V). Sea Hibernate, iBatis, OJB o cualquiera de las muchas implementaciones de código abierto de JDO, como JPOX. Pero tener demasiadas opciones no es necesariamente algo bueno y no todo el mundo puede adoptar el marco adecuado para hacer lo correcto. Si su plataforma de desarrollo es .net, puede evitar esta situación. Por lo general, solo necesita instalar Visual Studio .net como herramienta de desarrollo y luego instalar un MSDN para buscar información. Para los desarrolladores de programas, esta es una situación muy difícil. Personalmente, me gusta mucho Java, ya sea para aprender o practicar, nos proporciona mucho. Pero, ¿por qué creo que las soluciones "integrales" como .net son correctas muchas veces?
Como programador de Java, creo que algunos de los problemas más obvios con Java son que, en primer lugar, Java es demasiado complejo y, en segundo lugar, Java está demasiado orientado al programador, no al usuario. Comparado con C++, Java ya es muy simple. El hecho de que ahora haya tantos programadores Java ilustra este punto. Pero como alguien dijo una vez: "En Linux, puedes saber fácilmente quién es el maestro", pero no es tan fácil en el campo de Java. A menudo encuentro que mis colegas a mi alrededor todavía cometen errores conceptuales de muy bajo nivel. Aún pueden dedicarse al desarrollo j2ee durante muchos años, incluso si no pueden distinguir con precisión qué son interfaces, clases abstractas y servlets. Pero ¿por qué se dice que Java es complicado? Porque requiere demasiadas tecnologías diferentes para lograr una cosa. Entonces, para los programadores que no tienen conceptos muy claros, ¿cómo pueden asegurarse de que tomen la decisión correcta? ¿Y cuántos de los muchos marcos brindan servicios "integrados"? El marco Spring recientemente surgido proporciona la mayor cantidad de servicios entre muchos marcos, pero tiene un nuevo problema: todavía está demasiado orientado a los programadores, no a los usuarios. ¿Por qué dices eso? Los frameworks están diseñados originalmente para programadores, ¿no es así? Aunque Spring ofrece muchas opciones (pero no suficientes, no tiene un ORM en sí), no proporciona una forma sencilla de usarlo, por lo que solo podemos decir que es para programadores. La mayoría de los marcos de Java tienen este problema, es decir, la curva de aprendizaje es relativamente alta. Creo que el nivel de la curva de aprendizaje es la clave para distinguir si un framework es para programadores o usuarios. Creo que esto se refleja principalmente en la facilidad de uso del framework. De hecho, los usuarios finales del marco son los programadores. La razón por la que usamos "usuarios" y "programadores" para distinguirlos es porque algunos marcos para "programadores" son difíciles de usar. Aunque proporcionan una gran cantidad de infraestructura y piezas. todavía requieren que los programadores lo monten ellos mismos. El marco orientado al "usuario" es más sencillo. Los usuarios sólo necesitan seguir las instrucciones para utilizarlo. Por qué Ruby on Rails causará sensación en la comunidad Java, creo que la razón es que proporciona un marco "integral" orientado al usuario, simple y fácil de usar, que falta en el marco de Java. ¿Por qué Ruby on Rails puede hacer esto? ¿No es posible que Java no pueda hacerlo? El hecho es que muchos diseñadores de marcos Java no hacen esto. Puede ser que su pensamiento se haya limitado a cómo usar patrones para diseñar un buen marco y no hayan hecho más sobre la facilidad de uso del marco. Cualquiera que haya usado Spring sabe que su archivo de configuración xml se expandirá gradualmente, aunque podemos dividirlo fácilmente en archivos de configuración más pequeños para resolver este problema. Pero al utilizar archivos de configuración xml, se sigue el concepto habitual de programación Java: "Java es el mejor lenguaje de programación, XML es el mejor lenguaje para describir datos y la combinación de los dos es la más perfecta. Si una aplicación no utiliza xml para describirlo, entonces no es una buena aplicación Java."
Sin embargo, es en este punto que Ruby on Raiils se distingue de muchos frameworks Java y logra un gran avance en la facilidad de uso del framework. Esta idea recorre todo el diseño de Rails: convención sobre configuración. Por ejemplo, cuando escribimos aplicaciones web Java, generalmente distinguimos las clases correspondientes según MVC. Personalmente, me gusta colocar la clase Controlador en el directorio web, la clase Vista en el directorio de vista y la clase modelo en el directorio de dominio. . Pero diferentes personas tienen diferentes configuraciones y diferentes nombres. ¿Cómo hacer que el marco conozca estos directorios diferentes? La única solución para el marco de Java es informarle esta información a través del archivo de configuración xml. La solución de Rails es: yo defino la estructura del directorio y tú solo necesitas colocar las cosas en el directorio que definí. Esta es una razón importante por la que hay muy pocos archivos de configuración en Rails (pero no ninguno). Aunque la idea es muy simple, el beneficio que trae es que la eficiencia del desarrollo de Rails es 10 veces mayor que la del desarrollo de Java (esto lo afirman los fanáticos de Rails, pero yo creo esto, y creo que también lo sabrás después de leer este artículo). ). Entonces, ¿esto por sí solo hace que el desarrollo de Rails sea más rápido que usar Java? No del todo, porque esto también se beneficia de otra filosofía de diseño de los rieles: menos código. Ningún idioma puede afirmar eso. Rails logra esto completamente gracias a su lenguaje de diseño Ruby. De hecho, con Ruby puedes escribir muchas funciones en una pequeña cantidad de lenguaje que simplemente no es posible con otros lenguajes. Para dominar Rails, debes entender Ruby. Alguien dijo una vez: Zope (el famoso marco web de Python) es una aplicación excelente de Python, y Python es el arma secreta de Zope. Creo que esta frase es más apropiada para describir la relación entre Rails y Ruby.
Expandir