2010-09-13 26 views
20

¿Alguien ha usado tanto Boson como Thor?Boson vs Thor para aplicaciones de consola

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

En Boson que:

  • puede agregar métodos que se utilizan tanto en la consola y el medio ambiente rubí. Así que no es necesario que ambos tengan Thorfiles para consola y gemas para ruby.
  • pueden tener alias.
  • no tiene que instalar los archivos de script, simplemente los coloca en ~/.boson/commands. Siempre tuve que luchar para desinstalar e instalar Thorfiles después de cada actualización (lo que podría ser cada minuto al editar el código fuente, muy frustrante).
  • tienen una salida de comandos mucho mejor que thor.
  • no tiene que escribir las descripciones de los argumentos a mano como en Thor.
  • trabajan con módulos, que son mejores que con las clases porque pueden incluir módulos dentro de otros módulos.
  • envuelve los fragmentos de código abierto (por ejemplo, de Gist) dentro de un módulo de forma automática y funciona inmediatamente con Boson.
  • tienen diferentes vistas para los resultados de su método.
  • no tiene que recodificar nada en los fragmentos para que quepa Thor, ya que solo usa código de rubí nativo (módulos). Eso significa que si algún día no quieres usar Boson, no tienes que volver a codificar todo, lo cual debes hacer si estás usando Thor.
  • El API está documentado mejor, como los tutoriales dentro de cada clase.
  • Puedes incluir los módulos "boson" dentro de tu script ruby ​​y usarlos directamente, algo que no puedo hacer con Thor, porque es solo para Thor. No puede compartir los métodos de Thor con otras clases de Thor (no como mixins)

Me di cuenta de todos estos beneficios solo al leer la documentación y jugar con Boson durante unos minutos.

¿Debo usar Thor solo porque es más popular (porque no puedo encontrar nada más cuando brilla sobre el bosón) o debería correr el riesgo de que Boson no se mantenga después de un tiempo, ya que el autor es el único colaborador ?

Aunque es solo un hombre, se 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 contribuyeron a esa biblioteca. Realmente espero que más rubyistas vayan a usarlo porque tiene un gran potencial para ser el marco de scripting para la automatización de todo el sistema. Como un Rails para el back-end. Y el autor realmente te ayuda muy rápido cuando presentas un problema.

Thor solo funciona para el shell (que supongo que es su propósito) mientras que boson como veo tiene 3 funcionalidades principales. Le permite tener código trabajando en el shell, en ruby ​​(irb y scripts) y puede tener buenas colecciones de todos sus códigos Ruby, sin modificaciones.

Siempre he querido que un framework sea mi framework de scripts de back-end, y ahora no tengo que reinventar la rueda. Parece que el bosón podría ser eso.

¿Alguien ha utilizado estas dos bibliotecas y podría compartir algunas ideas?

Respuesta

26

Descargo de responsabilidad: soy el autor de boson.

He usado ambos y thor fue lo que me inspiró a escribir boson. Si bien los dos tienen una funcionalidad superpuesta, veo que tienen objetivos diferentes.

Thor es un marco de scripting que rápidamente y bellamente da a las aplicaciones una interfaz de línea de comandos. The 116 gems (including rails) que dependen de ello son una buena evidencia de eso. Inicialmente traté de usar thor para administrar y usar fragmentos, 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 dar cuenta de que thor no estaba optimizado para administrar fragmentos de código.

Así que escribí boson para administrar la interminable cantidad de fragmentos de rubí que solía poner ~/bin with this philosophy in mind. At 400+ commands, puedo encontrar y usar instantáneamente cualquier fragmento de rubí como un ejecutable completo. Hay muchas funciones para visitar aquí, aunque parece que conoce algunas de las fortalezas de 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, diría que thor se centra en crear ejecutables para proyectos y aplicaciones, mientras que boson se centra en crearlos para los usuarios.

+0

Good compariosn. Espero contribuir a este proyecto a tiempo completo ya que se centra en el usuario. Tengo muchos fragmentos que quiero usar directamente en el shell/consola en lugar de copiar y pegar. –

+0

respuesta sorprendentemente sin conflictos de intereses de un autor. –

+1

Actualización: boson> = 1.0 también tiene soporte tipo Thor para ejecutables de aplicaciones. Ejemplo en [el archivo léame] (https://github.com/cldwalker/boson#example-executable). Una comparación de características con thor es [también en el archivo léame] (https://github.com/cldwalker/boson#comparison-to-thor) – cldwalker

Cuestiones relacionadas