13

Ho iniziato nel mondo dello sviluppo web con PHP, e poi Rails negli ultimi anni. Da allora ho fatto tutti i miei progetti web su Rails.Backbone.js frontend con RESTful Rails backend?

Recentemente sembra esserci un movimento verso Rails come puro servizio di backend RESTful e utilizzo di framework di frontend come Backbone.js per tutte le interazioni frontend. Mi chiedo cosa ne pensate voi ragazzi? Sarà questo il futuro futuro?

Oltre a Backbone.js, quali sono altre alternative per il frontend framework per questo scopo?

Supponendo anche che io voglia supportare sia una versione desktop sia una versione mobile della mia app, sarebbe questa una strada da seguire? Quindi avrò un unico servizio di backend con diversi servizi di frontend? In questo modo non ho bisogno di gestire tutte le viste sul lato di Rails?

Grazie!

+0

Verificare questi se non l'hai già, http://railscasts.com/episodes/323-backbone-on-rails-part-1 e http://railscasts.com/episodes/325-backbone-on -rails-part-2 mi ha aiutato a capire molto meglio il bootstrap. Def inizia a vedere l'utilità di un simile framework. Ryan ha messo tutti i suoi percorsi di rotaie in uno spazio dei nomi API per separarlo dalla parte webapp, che mi sembra anche intuitivo. –

+0

uuummmm, backbone, non bootstrap ... :) –

risposta

19

Per framework lato client, questo articolo ha una lista di 20 di loro con la pro ei contro: http://net.tutsplus.com/articles/web-roundups/20-javascript-frameworks-worth-checking-out/

ecco l'elenco:

  1. Backbone.js
  2. Knockout.js
  3. Asana luna
  4. Cappucino
  5. Sproutcore
  6. BatmanJS
  7. corMVC
  8. TrimJunction
  9. pureMVC
  10. jamal
  11. choco
  12. sammyjs
  13. extJS
  14. agilityJS
  15. eyeballs
  16. activejs
  17. spinejs
  18. qooxdoo

Questi sono, basata su AJAX o meno tutto sulla creazione di client-side, javascript framework MVC.

Se stai cercando di iniziare da qualche parte, allora ti consiglio di pensare a modelli lato client (... ates ... ates ... ates) (solo la "V") per supportare un servizio- architettura orientata (molti client sono supportati dai service-endpoint creati).

È una nuova tecnica che prevede la modularizzazione del codice lato client, l'avvicinamento di MVC al client e l'attivazione della logica di business nella piattaforma.Un sacco di applicazioni Software-as-a-Service stanno sfruttando tali strumenti e, con la crescente complessità delle librerie e dei framework javascript, nonché le funzionalità del browser con HTML5, CSS3, ecc. Ci sarà sempre più sofisticazione nella presentazione lato client .

Quindi impara.

Quali sono i vantaggi?

Per parafrasare Linked In: per sfruttare il caching del browser, disaccoppiamento della presentazione lato client front-end, caricamento asincrono, rendering progressivo (per alcuni framework), prestazioni, interazione ajax e altro.

Diversi grandi quadri includono:

  1. mustache
  2. dust.js
  3. handlebars
  4. Google Closure Templates
  5. Nun
  6. Mu
  7. kite

consiglio vivamente guardando Linked In's move away from JSP towards Client-Side Templates e perché scelgono dust.js in Linked In's front-end client-side templates throwdown per un confronto. Entrano molto più in dettaglio, e la ricerca, sul motivo per cui hanno cambiato il loro stack per supportare questo (ha coinvolto l'utilizzo di 3 tecnologie lato server), così come i loro confronti di tutti i quadri che potevano trovare.

+0

Grazie per la risposta. Ho appena letto i due articoli di linkedin che hai fornito. Penso che sto iniziando a capire meglio la scena dei template lato client.Tuttavia, una domanda ancora una volta indugia, quindi quali sono davvero le differenze tra questo e alcuni framework MVC come backbone.js? Sembra che mi piacerebbe avere, ma quando ho sentito parlare di backbone.js con Rails, sembrava anche quello di cui stavo parlando. Quali sono le differenze tra loro? Grazie! – gtr32x

+0

Cosa intendi con "questo" e "qualche framework MVC" come backbone.js? Ognuna di queste strutture è fondamentalmente ARE quadri MVC che sfruttano ajax (e altre tecnologie) per interagire con i servizi/applicazioni lato server. Hanno solo i loro pro e contro. la spina dorsale è molto popolare e segue fortemente i modelli ajax +. –

+0

Oh ok, pensavo che backjone.js fosse qualcosa di diverso da quelli che hai elencato. Dal momento che non era nella tua lista di quadri e di linkedin. Immagino di aver erroneamente presunto che voi ragazzi pensaste che backbone.js fosse stato un'opzione troppo haha. Grazie! – gtr32x

2

Ho fatto qualcosa del genere qualche anno fa in .net. Non era tramite .NET MVC e non utilizzava i nuovi framework JS, ma il principio era lo stesso; il codice server restituisce JSON a javascript che crea la pagina e le interazioni, ecc.

Il risultato è stato un sito web sensibile e reattivo, ma la manutenzione è stata un incubo. Fai molta attenzione a mantenere il tuo codice JS ben organizzato.

Personalmente, trovo più semplice mantenere il codice del server (in qualsiasi lingua) rispetto a javascript, così non andrei di nuovo in quella direzione.

(IMHO)

Fran