2013-02-13 13 views
12

Avevo chiesto un question previously per quanto riguarda l'uso di Javascript o Ruby su Rails per lo sviluppo di applicazioni web e ho ottenuto alcuni ottimi consigli da maerics che sostanzialmente si riducevano Javascript per Frontend/App più piccole, RoR per applicazioni lato servizio/più grandi (ambito Groupon).Node.js/Express.j o Ruby on Rails per un principiante ASSOLUTO

Dopo un po 'di scavo però, ho scoperto che Node.js e Express.js Quindi la mia decisione è fondamentalmente nuovo al punto.

Sto cercando una lingua che possa essere utilizzata per dare un'idea a uno stadio funzionale (di nuovo, lo scope è qualcosa come Groupon o Twitter). Sono assoluti principianti. Conosco HTML/CSS e un po 'di jQuery, ma questo è l'estensione delle mie conoscenze sulle tecnologie web.

Ho sentito parlare di RoR essere molto facile da imparare, o almeno raccogliere, e ha un sacco di comunità/supporto. Ma Javascript è ovunque e può essere utile per qualcosa di più delle app web su larga scala (e lo userei comunque se io uso RoR), sebbene sia molto più complesso. Visto che non ho alcuna esperienza in entrambi, ho pensato che dovrei sceglierne uno ora e seguirlo per i prossimi ~ 6 mesi e vedere come vado.

Ma qualcuno può consigliare quale scegliere?

+0

Javascript può essere utilizzato sul lato client e sul lato server. Se conosci un po 'di javascript, node.js è sicuramente facile da imparare. – Licson

+0

in questo momento scegli per l'applicazione a livello aziendale. Dopo 2 o 3 anni, il nodo sarà il migliore –

risposta

16

Quando hai chiesto informazioni su Javascript e RoR nella domanda precedente, hai effettivamente chiesto informazioni su Node.js e RoR.

Se si sta creando un'applicazione commerciale/aziendale, attenersi a RoR. Ci sono molte più risorse, comunità più grandi, versioni relativamente stabili e puoi facilmente trovare buoni sviluppatori con esperienza RoR.

Express.js è come Sinatra per Ruby. Nessuno dei due è avanzato come Rails, preferendo essere più "di base" e fornire un set di funzionalità minimo piuttosto che cercare di essere un framework "tutto in una volta" di Rails.

In questo momento, Node.js sta cambiando rapidamente la sua API, non ha ancora colpito la versione 1 e non trova gli sviluppatori (spesso le persone sostengono di conoscere il nodo e hanno 1 anno di exp con esso, quando in realtà significano avere 1 anno di exp con il lato client javascript). Inoltre, per il 99% degli scopi del web, RoR sarà sufficiente. La maggior parte delle persone usa solo Node per i propri progetti di animali domestici, per testare la prossima generazione di interfacce super-dinamiche o l'integrazione websocket con Socket.io. Se vuoi semplicemente creare un'applicazione per scopi commerciali, usa RoR.

Per quanto riguarda la difficoltà, quando inizi, Rails sarà un po 'magico, fa così tante cose sotto il cofano, avrai un po' di difficoltà a fare qualcosa che non ha già un tutorial. Ma guarda attraverso il codice sorgente di alcune gemme popolari o addirittura le rotaie stesse, e sarai in grado di accelerare in pochissimo tempo. Ruby è un linguaggio incredibilmente semplice e bello, e lo troverai più semplice e probabilmente più divertente di javascript.

+2

Grazie per le informazioni! Non sono mai stato su StackOverflow molto a lungo, ma dannazione, le persone sono straordinariamente utili. Avevo sentito parlare della maturità di Node/Express come un problema, e una grave mancanza di documentazione avrebbe probabilmente causato problemi a un principiante come me. Penso che quello che ho avuto a guardarlo come la mia soluzione ideale era che avrei dovuto imparare Javascript (ovviamente) che avrei solo bisogno dell'unica lingua per il front e il back-end.Con RoR, dovrò imparare javascript/jQuery separatamente per interagire con lo scripting lato server di RoR giusto? – Cptobvious

+2

Pensa in questo modo: Alla fine della giornata, la cosa più importante è sapere come costruire/progettare/progettare applicazioni, non codificarle. Rails ti mostra un design eccellente. Ora Node ha i vantaggi di dover padroneggiare solo una lingua, ma dovrai lottare un po 'con la lingua. Scrivere grandi quantità di logica in javascript significa trattare con "callback hell", e imparare sia la natura del linguaggio sia costruire un'applicazione attorno ad esso allo stesso tempo è difficile. –

+6

Con Rails, puoi costruire la tua applicazione nel normale stile imperativo (che è il modo in cui il tuo cervello elabora la logica: il nodo è uno stile asincrono/funzionale, non intuitivo per gli inesperti). Sul lato, puoi integrare Backbone.js e Underscore.js se hai bisogno di più interattività e usarli per far progredire la tua conoscenza del Nodo. Certo, Node è il futuro del Web, ma quel futuro è piuttosto lontano, e sicuramente non dovrebbe essere il primo passo per lo sviluppo di app web strutturate. –