2010-09-13 23 views
20

Qualcuno ha utilizzato sia Boson e Thor?Boson vs Thor per applicazioni console

Thor è molto popolare e ha più seguaci e collaboratori di Boson, ma Boson sembra molto più potente di Thor e l'architettura è molto ben pensata.

In bosone si:

  • può aggiungere metodi che vengono utilizzati sia nella console e l'ambiente rubino. Quindi non devi avere entrambi Thorfiles per console e gemme per rubino.
  • può avere alias.
  • non è necessario installare i file di script, è sufficiente inserirli in ~/.boson/commands. Devo sempre lottare con la disinstallazione e l'installazione di Thorfiles dopo ogni aggiornamento (che potrebbe essere ogni minuto durante la modifica del codice sorgente, molto frustrante).
  • hanno comandi molto più belli di thor.
  • non è necessario scrivere le descrizioni degli argomenti a mano come in Thor.
  • funziona con i moduli, che sono migliori rispetto alle classi, in quanto è possibile includere moduli all'interno di altri moduli.
  • avvolge frammenti di codice open source (ad esempio da Gist) all'interno di un modulo automaticamente e funziona immediatamente con Boson.
  • hanno visualizzazioni diverse per i risultati del metodo.
  • non è necessario ricodificare nulla nei frammenti per adattarlo a Thor, poiché utilizza solo codice nativo di ruby ​​(moduli). Ciò significa che se un giorno non vuoi usare Boson, non devi ricodificare tutto, cosa che devi fare se usi Thor.
  • Il API è documentato meglio - come tutorial all'interno di ogni classe.
  • Puoi semplicemente includere i moduli "boson" all'interno del tuo script ruby ​​e usarli direttamente, qualcosa che non posso con Thor, perché è solo per Thor. Non è possibile condividere i metodi di Thor con le altre classi di Thor (non come mixins)

ho notato tutti questi benefici proprio dalla lettura della documentazione e suonato con Boson per un paio di minuti.

Dovrei usare Thor solo perché è più popolare (perché non posso trovare niente altro perché faccia luce su di Higgs) o dovrei correre il rischio che il bosone potrebbe essere non mantenuto dopo un po ', dal momento che l'autore è l'unico contributore ?

Sebbene sia solo un ragazzo, si vede come è riuscito a programmare in modo rapido e con una qualità eccezionale. Sarebbe bello se altri contributori come lui contribuissero a quella libreria. Spero davvero che altri rubyisti lo usino perché ha un grande potenziale per essere IL framework di scripting per tutta l'automazione del sistema. Come un binario per il back-end. E l'autore ti aiuta davvero molto velocemente quando inserisci un problema.

Thor funziona solo per la shell (che credo sia il suo scopo) mentre il bosone come vedo ha 3 funzionalità principali. Ti permette di avere codice funzionante nella shell, in ruby ​​(irb e scripts) e puoi avere belle collezioni di tutti i tuoi codici Ruby, senza modifiche.

Ho sempre desiderato che un framework fosse il mio framework di script back-end e ora non devo reinventare la ruota. Sembra che il bosone potrebbe esserlo.

Qualcuno ha usato entrambe queste librerie e potrebbe condividere alcuni pensieri?

risposta

26

Disclaimer: Sono l'autore del bosone.

Ho usato entrambi e Thor è stato quello che mi ha ispirato a scrivere il bosone. Mentre i due hanno funzionalità sovrapposte, li vedo come aventi obiettivi diversi.

Thor è un framework di scripting che fornisce rapidamente e meravigliosamente alle applicazioni un'interfaccia a riga di comando. The 116 gems (including rails) che dipendono da esso sono una buona prova di ciò. Inizialmente ho provato ad usare thor per gestire e usare gli snippet ma dopo un po ', il namespacing forzato, la mancanza di aliasing, la scrittura di linee d'uso ridondanti e la ricerca scarsa, mi hanno fatto capire che Thor non era ottimizzato per gestire i frammenti.

Così ho scritto bosone per gestire il numero infinito di frammenti di rubino che ho usato per mettere in ~/bin with this philosophy in mind. At 400+ commands, sono in grado di trovare e utilizzare immediatamente qualsiasi frammento di rubino come eseguibile completo. Ci sono troppe funzioni per andare qui, anche se sembri conoscere alcuni dei punti di forza del bosone. Per quanto riguarda l'unico contributore, accolgo con favore chiunque a contribuire con le loro idee.

Se ci fosse un semplice confronto da fare tra i due, direi Thor è incentrato sulla creazione di eseguibili per progetti e app mentre il bosone è incentrato sulla creazione per gli utenti.

+0

Buona compariosn. Non vedo l'ora di contribuire a questo progetto a tempo pieno poiché è centrato sull'utente. Ho un sacco di frammenti che voglio usare direttamente nella shell/console invece di copiare e incollare. –

+0

sorprendentemente non conflitto di interessi di risposta di un autore. Aggiornamento –

+1

: boson> = 1.0 ha anche il supporto thor-like per gli eseguibili delle app. Esempio in [readme] (https://github.com/cldwalker/boson#example-executable). Un confronto tra funzionalità con thor è [anche nel readme] (https://github.com/cldwalker/boson#comparison-to-thor) – cldwalker

Problemi correlati