Ruby es la combinación exitosa de
- La elegancia conceptual de la pequeña charla,
- La facilidad de uso y aprendizaje de Python, y
- El pragmatismo de Perl.
Ruby es
- Un lenguaje de programación de alto nivel.
- Interpretado como Perl, Python, Tcl / TK.
- Orientado a objetos como Small talk, Eiffel, Ada, Java.
- Ruby se originó en Japón y ahora también está ganando popularidad en Estados Unidos y Europa. Los siguientes factores contribuyen a su popularidad:
- Fácil de aprender
- Código abierto (licencia muy liberal)
- Bibliotecas ricas
- Muy fácil de extender
- Realmente orientado a objetos
- Menos codificación con menos errores
- Comunidad servicial
Aunque tenemos muchas razones para usar Ruby, también hay algunos inconvenientes que debes tener en cuenta antes de implementar Ruby:
- Problemas de rendimiento : aunque compite con Perl y Python, sigue siendo un lenguaje interpretado y no podemos compararlo con lenguajes de programación de alto nivel como C o C ++.
- Modelo de subprocesos: Ruby no usa subprocesos nativos. Los hilos de Ruby se simulan en la VM en lugar de ejecutarse como hilos de SO nativos.
Aquí hay un ejemplo de código Ruby para imprimir “Hola Ruby” . Puede visitar este enlace. Clases de capacitación en línea de Ruby on Rails | Cursos de Ruby on Rails en línea
# La clase Hello Class Hello def initialize (name) @name = name.capitalize end def salute pone “¡Hola # {@ name}!” end end # Crea un nuevo objeto h = Hello.new (“Ruby”) # Salida “Hello Ruby!” h.salute
Ruby proporciona un programa llamado ERB (Embedded Ruby), escrito por ERB que le permite poner códigos Ruby dentro de un archivo HTML. ERB sigue leyendo, palabra por palabra, y luego, en cierto punto, cuando encuentra un código Ruby incrustado en el documento, comienza a ejecutar el código Ruby.
Solo necesita saber dos cosas para preparar un documento ERB:
- Si desea ejecutar un código Ruby, enciérrelo entre <% y %>.
- Si desea que se imprima el resultado de la ejecución del código, como parte de la salida, encierre el código entre <% = y %> .
Aquí hay un ejemplo. Guarde el código en el archivo erbdemo.rb. Tenga en cuenta que un archivo Ruby tendrá una extensión .rb –
<% page_title = "Demostración de ERB"%> <% salutation = "Estimado programador,"%>
<% = page_title%>
<% = salutation%>
Este es un ejemplo de cómo ERB completa una plantilla.
- Un marco de aplicaciones web extremadamente productivo.
- Escrito en Ruby por David Heinemeier Hansson.
- Puede desarrollar una aplicación web al menos diez veces más rápido con Rails que con un marco Java típico.
- Un marco de Ruby de código abierto para desarrollar aplicaciones web respaldadas por bases de datos.
- Configure su código con el esquema de base de datos.
- No se requiere fase de compilación.
- Incluye todo lo necesario para crear una aplicación web basada en bases de datos, utilizando el patrón Modelo-Vista-Controlador.
- Ser un marco de trabajo completo significa que todas las capas están diseñadas para funcionar sin problemas junto con menos código.
- Requiere menos líneas de código que otros marcos. Rails evita los archivos de configuración a favor de convenciones, reflexión y extensiones dinámicas de tiempo de ejecución.
- ¡Su código de aplicación y su base de datos en ejecución ya contienen todo lo que Rails necesita saber!
Fortalezas de rieles
Rails está repleto de características que lo hacen más productivo, y muchas de las siguientes características se complementan entre sí.
Metaprogramación
Donde otros frameworks usan una extensa generación de código desde cero, Rail framework usa técnicas de metaprogramación para escribir programas. Ruby es uno de los mejores lenguajes para la metaprogramación, y Rails usa bien esta capacidad. Rails también utiliza la generación de código, pero se basa mucho más en la metaprogramación para el trabajo pesado.
Registro activo
Rails presenta el marco de Active Record, que guarda objetos en la base de datos. La versión Rails de Active Record descubre las columnas en un esquema de base de datos y las adjunta automáticamente a los objetos de su dominio mediante metaprogramación.
Convención sobre configuración
La mayoría de los marcos de desarrollo web para .NET o Java te obligan a escribir páginas de código de configuración. Si sigue las convenciones de nomenclatura sugeridas, Rails no necesita mucha configuración.
Andamio
A menudo crea código temporal en las primeras etapas de desarrollo para ayudar a poner en marcha una aplicación rápidamente y ver cómo los componentes principales funcionan juntos. Rails crea automáticamente gran parte de los andamios que necesitará.
Pruebas integradas
Rails crea pruebas automáticas simples que luego puede extender. Rails también proporciona código de soporte llamado arneses y accesorios que hacen que los casos de prueba sean más fáciles de escribir y ejecutar. Ruby puede ejecutar todas sus pruebas automatizadas con la utilidad rake.
Tres ambientes
Rails le ofrece tres entornos predeterminados: desarrollo, pruebas y producción. Cada uno se comporta de manera ligeramente diferente, lo que facilita el ciclo completo de desarrollo de software. Por ejemplo, Rails crea una copia nueva de la base de datos de prueba para cada ejecución de prueba.
Ruby: un lenguaje de scripting dinámico, reflexivo y de alto nivel para una programación orientada a objetos (OOP) rápida y fácil.
Ruby on Rails : un marco completo de varios niveles para crear aplicaciones web utilizando la base de datos, que se basa en la arquitectura del Modelo-Vista-Controlador (MVC).
La principal ventaja del lenguaje de programación Ruby y el marco Ruby on Rails se considera la velocidad de desarrollo. La práctica muestra que la velocidad del desarrollo del proyecto en RoR aumenta entre un 30 y un 40 por ciento en relación con cualquier otro lenguaje o marco de programación. Principalmente, el aumento de la velocidad está determinado por un extenso conjunto de herramientas RoR listas para trabajar, un colosal conjunto de soluciones preparadas en la comunidad, el lenguaje Ruby y la facilidad de programación en él.
Una de las partes más importantes de la cultura es un RoR social. ¿Has resuelto un problema? Ayuda a otros a resolverlo. Realizó su módulo: comparta con la comunidad. Por lo tanto, actualmente hay miles de soluciones de problemas complejos disponibles en el dominio público. Existen soluciones AAA, comentarios, sistemas de pago, listas de correo y más (todo lo que generalmente se desarrolla “desde cero”) se dio cuenta de que alguien más, probó y recomendó una gran comunidad. Ruby on Rails es un marco. A menudo, el marco no te permite ser aficionado. Por supuesto, en Ruby on Rails puede “inventar la rueda” y programar en cualquier dirección sin depender de los estándares; pero esto a menudo no es obligatorio. Los estándares organizan archivos en un proyecto, los estándares de codificación en el proyecto, las reglas generales de programación en Ruby on Rails estructuran altamente cualquier proyecto. Debido a esto, el proyecto se vuelve legible. Los nuevos programadores pueden ingresar al proyecto muy rápidamente. La experiencia muestra que cualquier principiante en el proyecto en el primer día de trabajo está haciendo sus primeras ediciones útiles. Debido a esto, no se considera un gran problema si el proyecto de desarrollo inicialmente dirigió un equipo de programadores, y el soporte o modificación del proyecto es completamente diferente. El proyecto RoR es fácilmente entendible por cualquier programador RoR
Pruebas:
Al desarrollar cualquier proyecto grande, surge una pregunta muy razonable. ¿Quién y cómo probará el proyecto? ¿Permitiría que su empresa contrate siempre un departamento de control de calidad completo para ello, además de que desea automatizar este proceso? A diferencia de otros marcos, el RoR tiene un gran sistema de prueba incorporado. En otros lenguajes, existen herramientas de desarrollo de terceros que le permiten probar proyectos automáticamente en PHP, pero no se ponen “fuera de la caja” y su uso, los programadores a menudo no reflejan. En Ruby on Rails, idealmente, el código no existe sin que las pruebas se escriban primero. La ideología RoR implica el uso de métodos originales de BDD (Behavior Driven Development) o TDD (Test Driven Development).
Almacenamiento en caché:
Proyectos de almacenamiento en caché: uno de los pasos más importantes para desarrollar un importante proyecto de Internet. En PHP, hay varias opciones para el almacenamiento en caché de datos. Estas opciones y herramientas se atornillan, se unen, se sujetan, se fijan a los lados. Hasta ahora, la comunidad PHP no es un consenso: es mejor usar, la mejor forma de almacenar en caché los datos, qué herramientas usar.
Ruby on Rails en su configuración básica tiene un medio regular de almacenamiento en caché de datos. Al comienzo de las herramientas disponibles para implementar el almacenamiento en caché de datos en el proyecto. Puede almacenar en caché páginas enteras, bloques de código, resultados de consultas y el modelo ActiveRecord. Además, puede almacenarlo en caché utilizando herramientas de terceros como memcached o redis. Para implementar el almacenamiento en caché en el proyecto Ruby on Rails, en el 95 por ciento de los casos no necesitará nada más que soluciones estándar y listas para usar.
Localización:
A menudo sucede cuando alguien hizo un proyecto, y de repente se da cuenta de que para continuar con el desarrollo del proyecto se requiere la versión en inglés. Los desarrolladores de PHP con el viento comenzando a hablar sobre el hecho de que no se proporcionó por adelantado que es extremadamente largo y laborioso. Digamos, abra un proyecto paralelo, que es una copia del mismo y traduzca.
Ruby on Rails en la base tiene proyecto de contención. Es posible que deba proporcionar soporte para diferentes idiomas en el sitio como originalmente, en el futuro. RoR puede distribuir diferentes plantillas para diferentes idiomas, contiene los archivos de configuración con la traducción del término y muchos otros miembros del personal las herramientas para implementar el proyecto de localización.
Enrutamiento (URL agradables):
A menudo, en muchos proyectos PHP podemos ver la imagen, cuando la página de la dirección especificada es enorme e incomprensible. En Ruby on Rails tiene una flexibilidad de tiempo completo para configurar su enrutamiento, escribir direcciones, nombres de las secciones principales. Es posible cambiar rápidamente las direcciones en un lugar sin tener que cambiar esta dirección a todo el proyecto. En la Comunidad RoR, los desarrolladores consideran activamente REST como una buena manera. Los URI de aplicaciones en RoR son siempre simples, hermosos y perfectamente entendidos por los motores de búsqueda.
Validación:
Ruby on rails implementa perfectamente toda la validación de datos de entrada. Los usuarios una vez necesitan completar los formularios y verificar su dirección de correo electrónico de entrada, contraseña o la presencia de la longitud mínima requerida del inicio de sesión: las herramientas estándar Rails lo ayudan con esto.
Migración y trabajo con la base de datos:
Los problemas comunes de PHP son imposibles para cualquier tipo de kit de herramientas cómodo para controlar fácilmente su capa de base de datos. Los cambios en la estructura a menudo se realizan de forma manual y directa en la base de datos. Debido a este proyecto, existen numerosos campos y tablas oscuras, de los cuales nadie recuerda nada. En Ruby on Rails, existen herramientas establecidas para trabajar con bases de datos: “migración”. La estructura de la base de datos se almacena en el código de la aplicación y se configura desde el proyecto. Su estructura siempre estará en el repositorio, cualquier cambio en la estructura se documentará y se vinculará a una confirmación específica del repositorio.
La seguridad:
El valor predeterminado de Ruby on Rails está fuertemente afilado por el proyecto de seguridad. Cuando se utilizan herramientas RoR, se excluyen la inyección SQL y los ataques XSS. Todos los parámetros de entrada se seleccionan de forma predeterminada. Las variables de salida en las plantillas también se seleccionan, solo si no especifica una opción de comentarios. Como desarrollador, no hay posibilidad de cometer un error de seguridad (no sin excepciones, por supuesto).
Implementaciones:
En el entorno de Ruby on Rails, hay muchas herramientas convenientes y agradables. Incluyendo las herramientas que se utilizan en el proceso de implementación. Por ejemplo, cuando usa Capistrano, solo necesita un comando en la consola: “cap deploy”, después de eso, toda la aplicación se implementará de manera segura en el servidor único o en el cluster en una nube.
Sistema de control de versiones:
El desarrollo de cualquier proyecto Ruby on Rails implica el uso de sistemas conocidos. Usando GIT, como dicen, “voluntario-obligatorio”, ya que muchos de los despliegues automáticos del proyecto en servidores de “combate” no funcionan sin ellos. Los programadores de RoR inicialmente, la plataforma de estudio, se vieron obligados a aprender git, ya que numerosos ejemplos de código en la documentación implican el uso de estos sistemas de control de versiones. Muchos de los desarrolladores sin experiencia prefieren aprender PHP omitiendo VCS hasta que tengan una mejor comprensión.
Sistema de gestión de proyectos / Gerentes de tareas:
Ruby on Rails se desarrolló originalmente para implementar el sistema de gestión de proyectos: campamento base. También la mina roja (una popular y gratuita
sistema de gestión de proyectos) fue creado en RoR. Por lo tanto, cuando trabaje en proyectos Rails debe tener estos sistemas. Todos los sistemas están integrados con sistemas de control de versiones, lo que permite un control más preciso de los procesos de desarrollo de proyectos.