2011-01-07 12 views
7

Sto lavorando a una presentazione su RoR. Sembra buono tranne che non riesco a trovare nulla per una sezione "Problemi". Non sembra esserci nessuno. :)Ruby on Rails è buono per progetti su larga scala?

Particolarmente Sono interessato a:

  1. Quali problemi sono lì con la manutenibilità/gestione quando più sviluppatori sono coinvolti nel progetto di RoR su larga scala?
  2. Quali considerazioni specifiche ci sono per gli sviluppatori su progetti di grandi dimensioni che utilizzano linguaggi tipizzati dinamicamente rispetto a lingue tipizzate in modo statico?
  3. Perché il RoR potrebbe non essere adatto per progetti su larga scala?

Non ho trovato nulla su questo google su Internet. Mi piacerebbe sentire le tue opinioni su questi punti?

Grazie, Arkadiy

+0

Sono sicuro che la qualità del codice e l'applicabilità del framework dipendono più dalla gestione del team e da altri strumenti che dalla lingua e dal framework. non posso citare nulla dalla mia testa al momento –

+1

http://stackoverflow.com/questions/14823/is-ruby-on-rails-ready-for-the-enterprise e http: //www.infoq. it/articles/changing-the-present-case-stud – Zabba

+1

http://www.canrailsscale.com/. Adoro Rails davvero! –

risposta

8

Sono certo che si può trovare un sacco di questo sulla rete, ma sono felice di accontentarlo.

  1. Manutenibilità: Ruby e Rails si basano sulla creazione di un codice più gestibile a scapito di una piccola prestazione. Ecco perché Ruby è un linguaggio dinamico in primo luogo. Per quanto riguarda gli sviluppatori/i team, Rails è ottimo per creare e mantenere un codice che sia facile da capire e da mantenere.
  2. Dinamico o statico: dal punto di vista di un team di sviluppo, i linguaggi statici hanno il vantaggio esclusivo di essere molto espliciti. Non c'è magia per confondere i nuovi sviluppatori, e ci dovrebbe essere poco lavoro in termini di inseguire i fantasmi (in teoria, comunque). Questo vantaggio è rapidamente superato dalla capacità di un linguaggio dinamico di sfruttare appieno OOP e di iniziare a sviluppare rapidamente.
  3. Idoneità: non riesco a pensare a nessuna buona ragione. È testato, collaudato ed estremamente ben progettato. È stato fatto per fare il lavoro, quindi non mi sorprende che sia così. :)
+1

Ci sono due lati della moneta Rails. Da un lato, hai potenti strumenti a tua disposizione, che ti permettono di sviluppare velocemente in modo appropriato. Dall'altra parte, ci sono le cosiddette best practice della community mainstream di rails, che in realtà sono una ricetta per il disastro, come i modelli di grasso ecc. Alla fine, tutto dipende dalla tua cultura e dai metodi che porteranno a un progetto sostenibile . –

+0

Si parla di manutenibilità. E per anni la community di Rails sta per "skinny controller, fat models", un mantra per metà destra. Ci sono altri esempi come questo. Non sto criticando nulla, solo menzionando le insidie ​​più comuni che ho incontrato nel mio viaggio con Rails. Ci sono un sacco di app di livello enterprise scritte con Rails, e alla fine tutti gli sviluppatori creano un codice gestibile. –

1

Per la scalabilità, se Twitter può doit quindi penso che si può fare troppo.

E Compatibilità, come in qualsiasi altro linguaggio di programmazione, è necessario utilizzare un tipo di controllo di versioni, svn o git.

+3

Il backend di Twitter non è più su Rails. Stanno correndo su Scala. Ecco come possono farlo. – picardo

+1

Twitter usa Scala e RoR;) http://www.artima.com/scalazine/articles/twitter_on_scala.html – Sinetris

2

La maggior parte degli sviluppatori di RoR lavora su MAC nella mia esperienza. Utilizzo di git o svn per controllo versione. La maggior parte utilizza TextMate o Komodo. Speciale con Komodo Pro puoi usarlo bene in team. un buon cliente svn c'è Versioni

Non ho lavorato in squadre più grandi poi 5 sviluppatori, che non è su larga scala Penso :) Ma il framework stesso è molto più facile da gestire come la maggior parte degli altri che ho visto. Utilizzato principalmente in Scrum-Teams, ma se hai una buona organizzazione non vedo alcun svantaggio usando RoR in team di grandi dimensioni.

Gli strumenti di documentazione del codice sono utili, suddividere i modelli, i controller e le viste in diverse sezioni per i membri del team non dovrebbe essere un grosso problema e la creazione di server di prova con edifici notturni è molto semplice.

Utilizziamo RoR in ambienti Linux e Windows e abbiamo un'ottima esperienza produttiva con esso. Tecnico è scalabile come altri framework di grandi dimensioni, con sql_sessions e mem_cache è possibile impostare facilmente una server farm per eseguirlo per migliaia o milioni di utenti.

Quindi imho: è adatto a qualsiasi dimensione della squadra.