2011-11-07 5 views
16

È facile creare una nuova applicazione Rails utilizzando "rails new myapp" (o iniziare con un modello da Rails Wizard o dal progetto RailsApps).Elenco di controllo di riferimento per l'avvio di una nuova applicazione Rails?

Ma dopo, cosa fai? Quali gemme aggiungi sempre? Quali decisioni prendi prima di iniziare lo sviluppo? Quali elementi importanti vengono spesso trascurati prima di implementare un'app?

Mi piacerebbe mettere insieme un elenco di controllo di riferimento da condividere. Eventuali suggerimenti?

Ad esempio:

  • Creare un nuovo RVM GemSET
  • Modificare il file .gitignore
  • Passare dalla TestUnit a RSpec
  • Impostare Guardia di eseguire test in background durante lo sviluppo
  • Aggiungi metatag viewport al layout dell'applicazione predefinito
  • Non dimenticare di creare un file sitemap.xml
  • Aggiungi un Google Analytics snippet

Che altro?

+1

Questo dipende molto dalle vostre esigenze specifiche. In molti casi non farei la metà delle cose che menzioni. –

+3

Aggiungi un human.txt lungo il lato robots.txt – Sairam

+0

Penso che Sitemap e Google Analytics non siano componenti specifici di Rails. È facoltativo e probabilmente rilevante solo per il lancio di un sito in produzione, pertanto è necessario solo nella fase finale dello sviluppo dell'applicazione. –

risposta

1

Il primo che penso di fare è andare su http://railswizard.org/ e creare un modello, prima di "rails new app".

+0

Mi piace creare un modello generico utilizzando Rails Wizard, quindi inserirlo su Github e aggiungere le mie cose (guardia, ecc.) Che Rails Wizard non aggiunge per impostazione predefinita. – jakeonrails

9
+0

Sono l'OP. Ho creato i modelli di applicazione RailsApps (derivati ​​dalle ricette di Rails Wizard). Sto chiedendo suggerimenti per una lista di controllo perché i modelli non sono completi. Aggiungo spesso le mie cose e mi chiedo cosa aggiungano le altre persone. –

+0

Sono d'accordo, aggiungo sempre le mie cose sull'applicazione modello di binari esistente, quindi ho iniziato a lavorare sui miei modelli di binari (con login, openid, password dimenticata, permessi di ruolo, html5, requirejs, jquery, test ..). – jeremymarc

1
  • ho sempre voglia di istituire Factory Girl sotto/fixtures, e setup Cetriolo lungo Rspec. A volte uso anche shoulda.
  • Inizializzare il progetto come repository git e collegarlo a github. Configurare l'app per utilizzare PostgreSQL anziché SQLite.
  • E l'ultima cosa che posso pensare è che spesso faccio una voce, dal all'inizio, per caricare automaticamente file .rb form/lib.
6

Per me processo di solito comporta:

  • Add quadro CSS (griglie, testo, forme)
  • aggiungere celle
  • Aggiungere Slim (www.slim-lang.com)
  • Rimuovi Test :: Unit per RSpec
  • Aggiungi le impostazioni di configurazione dell'applicazione (config.yml)
  • Aggiungi cetriolo
  • Aggiungi factorygirl
  • Aggiungi Spork
  • Aggiungere guardia (guard-RSpec, guard-cetriolo, guard-sass, guard-livereload, guard-Spork)
  • Aggiungere Git, Github spazio, + modificare .gitignore
  • Aggiungi Heroku spazi (fase + produzione)

io di solito copiare i miei google_analytics aiutanti e sitemap_controller da altri progetti durante il developme nt process invece di essere organizzato abbastanza per farlo dall'inizio. Mi piace il test e l'installazione delle opzioni di installazione dal get get così posso iniziare a sviluppare e rilasciare presto e spesso.

Dave

+0

È slim-lang.com –

1

Non aggiungere nulla. Le cose vengono aggiunte se il progetto le richiede.

  • Non caricare il framework CSS solo perché c'è bisogno di due colonne e un pulsante arrotondato da qualche parte.
  • Non carico FactoryGirl perché i dispositivi di prova delle rotaie fanno effettivamente un buon lavoro purché sappiate come usarli. (Suggerimento: non hai bisogno di 100 istanze di Utente nei tuoi dispositivi)
  • Non carico RSpec/Cucumber/etc perché UnitTest è altrettanto buono e preferisco mantenere le cose semplici.

Non c'è assolutamente alcuna ragione per gonfiare progetto con le cose solo perché "potrebbe averne bisogno"

3

creare rvm GemSET, creare .rvmrc, modificare .gitignore

Quindi aggiungere gemme

  • gem 'pg'
  • gem 'sottile'
  • gem 'ruby-debug19',: require => 'ruby-debug'
  • gioiello 'RSpec-rails'
  • gioiello 'factory_girl_rails'
  • gioiello 'capibara'

poi a seconda del progetto, io spesso uso aws3, graffetta, resque, will_paginate e Haml (anche se io cercare di non usarlo su nuovi progetti di più)

+0

Perché non usi più Haml? –

+1

+1 su ruby-debug, anche se in alcune app uso invece la pry. –

+0

@DanielKehoe per me Haml è Html che cos'è CoffeeScript per JavaScript e Sass per CSS, quindi non vederlo incluso con Rails 3.1 ha influenzato in qualche modo la mia scelta di non usarlo più (scommetto che avevano i loro motivi). Inoltre ho avuto qualche problema perché Haml sovrascrive alcuni metodi del buffer di output, quindi ti occupi ancora di un altro livello di complesso. In breve, cerco di attenermi alle migliori pratiche. – jassa

3

maggior parte del tempo:

  1. configurazione
    • aggiungere .rvmrc
    • amberbit-config gemma (avaible a GH)
    • modificare.gitignore
  2. Vista
    • Haml Sass/caffè pila
    • rdiscount
  3. Prove
    • rspec invece di test unitari
    • capibara, factory_gril, Spork, Timecop
  4. Sviluppo
    • guard-livereload, con custode, ecc libnotify
    • active_reload per uno sviluppo più rapido con un patrimonio gasdotto
    • annotare se db relazionali
    • leva

Ho quasi dimenticato di menzionare: mix di html5 boilerplate per rail con bootstrap twitter è una buona combinazione.

+0

La gemma amberbit-config sembra un po 'eccessiva per qualcosa che potrebbe essere fatto usando solo 2 linee di codice per caricare un file yaml. – sprysoft

1

mi sono stancato di dover ricordare e ripetere i compiti banali richieste per ogni nuova applicazione.

Se stai cercando indicazioni per iniziare, recentemente (ieri!) Abbiamo rilasciato uno strumento per accelerare il processo, con tutte le specie di librerie testate e provate per i vari aspetti di un'app web Rails, così come gli script di pulizia per ottenere l'app fresca proprio come dovrebbe essere.

Partenza http://drone.bz per costruire un app nello stesso modo che facciamo. Sotto il cofano, utilizza la gemma app_drone per risolvere le dipendenze e creare il modello effettivo, ma l'interfaccia utente è probabilmente tutto ciò che serve per iniziare.

Ci sono diversi strumenti simili là fuori, ma ho deciso di essere altamente supponente nelle mie scelte di ricetta, e il risultato finale è una solida base su cui iniziare a sviluppare :)

P.S. Anche se non si utilizzano i droni, è possibile dare un'occhiata ai passaggi che sono abbastanza comuni in Rails dev per essere automatizzati.

Problemi correlati