usos tutorial sintaxis rails programas guia español ejemplos con caracteristicas aplicacion ruby-on-rails ruby console thor

ruby-on-rails - tutorial - ruby on rails usos



Boson vs Thor para aplicaciones de consola (1)

Descargo de responsabilidad: Soy el autor de bosón.

He usado ambos y Thor fue lo que me inspiró a escribir bosón. Mientras que los dos tienen una funcionalidad superpuesta, los veo con diferentes objetivos.

Thor es un marco de scripting que proporciona a las aplicaciones una interfaz de línea de comandos de forma rápida y elegante. Las 116 gemas (incluidos los rieles) que dependen de él son una buena evidencia de ello. Inicialmente intenté usar thor para administrar y usar fragmentos de código, pero después de un tiempo, el espacio de nombres forzado, la falta de alias, la escritura de líneas de uso redundantes y la búsqueda deficiente me hicieron darme cuenta de que Thor no estaba optimizado para administrar fragmentos de código.

Así que escribí bosón para manejar el número infinito de fragmentos de rubí que solía poner en ~ / bin con esta filosofía en mente . Con más de 400 comandos , puedo encontrar y usar instantáneamente cualquier fragmento de Ruby como un ejecutable en toda regla. Hay demasiadas características para revisar aquí, aunque parece que conoces algunas de las fortalezas del bosón. En cuanto a ser el único contribuyente, doy la bienvenida a cualquiera que contribuya con sus ideas.

Si hubiera una comparación simple entre los dos, yo diría que el tor está centrado en crear ejecutables para proyectos y aplicaciones, mientras que el bosón está centrado en crearlos para los usuarios.

¿Alguien ha usado tanto Boson como Thor ?

Thor es muy popular y tiene más seguidores y colaboradores que Boson, pero Boson se ve mucho más poderoso que Thor y la arquitectura está muy bien pensada.

En Boson tu:

  • Puede agregar métodos que se utilizan tanto en la consola como en el entorno ruby. Así que no tienes que tener ambos Thorfiles para la consola y gemas para el rubí.
  • puede tener alias.
  • no tiene que instalar sus archivos de script, solo póngalos en ~ / .boson / command. Siempre tengo que esforzarme para desinstalar e instalar Thorfiles después de cada actualización (lo que puede ser cada minuto al editar el código fuente, es muy frustrante).
  • tienen una salida de comandos mucho más agradable que la de thor.
  • No tienes que escribir las descripciones de los argumentos a mano como en Thor.
  • trabaje con módulos, que son mejores que con clases porque puede incluir módulos dentro de otros módulos.
  • Envuelva los fragmentos de código abierto (por ejemplo, de Gist) dentro de un módulo automáticamente y funciona con Boson de inmediato.
  • Tiene diferentes vistas para los resultados de su método.
  • no tiene que recodificar nada en sus fragmentos para ajustarse a Thor, ya que solo usa código Ruby nativo (módulos). Eso significa que si un día no quieres usar Boson, no tienes que recodificar todo, lo cual tienes que hacerlo si estás usando Thor.
  • La API se documenta mejor, como tutoriales dentro de cada clase.
  • Solo puedes incluir los módulos "boson" dentro de tu script de ruby ​​y usarlos directamente, algo que no puedo hacer con Thor, porque es solo para Thor. No puedes compartir los métodos de Thor con otras clases de Thor (no como mixins)

Noté todos estos beneficios con solo leer la documentación y jugué con Boson durante un par de minutos.

¿Debo usar Thor solo porque es más popular (porque no puedo encontrar otra cosa que brille sobre el bosón) o debo correr el riesgo de que el bosón no se mantenga después de un tiempo, ya que el autor es el único colaborador?

A pesar de que es solo un tipo, usted ve cómo ha logrado codificar a una velocidad rápida y con una calidad excepcional. Sería genial si más contribuyentes como él contribuyeran a esa biblioteca. Realmente espero que más rubyists lo usen porque tiene un gran potencial para ser el marco de scripting para toda la automatización del sistema. Como rieles para el backend. Y el autor realmente te ayuda muy rápido cuando presentas un problema.

Thor solo trabaja para la cáscara (que creo que es su propósito), mientras que el bosón, como veo, tiene 3 funciones principales. Te permite tener código trabajando en el shell, en ruby ​​(irb y scripts) y puedes tener bonitas colecciones de todos tus códigos de Ruby, sin modificaciones.

Siempre quise que un framework fuera mi framework de scripts backend, y ahora no tengo que reinventar la rueda. Parece que el bosón podría serlo.

¿Alguien ha usado estas dos bibliotecas y podría compartir algunos pensamientos?