Backbone.js, Rails e duplicazione del codice

2

Sto costruendo un'app Web e ho bisogno di un framework JS come Backbone.js per funzionare con il mio back-end fornito da Rails che restituisce principalmente oggetti JSON dopo query DB.

Cercando sul web ho scoperto Backbone che sembra essere completo, abbastanza popolare e attivamente utilizzato nello sviluppo, ma ho notato che molte cose fatte da Backbone sono semplicemente un duplicato del lavoro svolto da Rails: for esempio, validazione e modelli.

La mia idea di "perfetto" (per i miei bisogni effettivi) JS mvc (non può essere chiamato mvc ma non ho un nome migliore) è qualcosa di veramente semplice che ha una funzione per ogni azione nel mio controller Rails attivato da un evento specifico (modifiche utente / hash, clic su un pulsante ...) e invia richieste al server che risponde con un oggetto JSON, quindi caricherò un modello o eseguirò del codice JS.

Hai qualche dubbio su / suggerimenti per la mia idea?

Conosci qualche framework "micro" js come quello che ho descritto?

Se hai lavorato con backone.js + rails, cosa mi puoi suggerire?

    
posta Matteo Pagliazzi 26.03.2012 - 16:12
fonte

3 risposte

1
Do you have any concerns about/suggestions for my idea?

Il problema con la tua idea è che accoppia il tuo back-end (Rails) con il tuo font end (JavaScript). Inoltre dici che la validazione su front-end e back-end è la duplicazione del codice, è in una certa misura, ma è necessario farlo in entrambe le estremità per rendere il sito utilizzabile e sicuro. La convalida del front end aiuta l'usabilità laddove il lato server di validazione è essenziale per fermare gli hack e rendere il sito utilizzabile per quelli che disattivano JavaScript.

Do you know of some "micro" js framework like what I have described?

Ci sono molti framework Javascript MVC / MVVC là fuori come backbone e knockout ma sono disaccoppiati. Ciò significa che sono più portabili, più utili e più probabilità di essere lavorati e migliorati.

    
risposta data 21.08.2012 - 11:53
fonte
0

Non ho alcuna preoccupazione per la tua idea, a parte ciò che prashanth già menzionato. Mi assicurerei che ci fosse qualche convalida sul lato server, nel caso in cui qualcuno salti il front-end JS e inizi a pompare dati non validi direttamente nella tua API JSON.

Come suggerimento, darei un'occhiata a TodoMVC . Hanno scritto un'applicazione TODO utilizzando un numero di framworks JavaScript per implementare MVC lato client (incluso Backbone.js). Hanno fatto un sacco di duro lavoro per evidenziare le differenze per te.

microjs è un altro sito che vorrei controllare. Ho trovato entrambi soma.js e Stapes .js (veramente piccolo a 1.7Kb) lì.

Non ho lavorato personalmente con nessuno di questi framework, ma conosco gli sviluppatori che utilizzano backbone ed ember. Brace sembra guadagnare popolarità man mano che matura. Sembra essere un po 'più supponente di quello di backbone, che sospetto risuoni con molti sviluppatori di rotaie.

    
risposta data 21.08.2012 - 09:55
fonte
-2

Dovresti sempre fare la convalida sul server. Le convalida backbone sono facoltative. sono lì per migliorare l'usabilità dell'app.

    
risposta data 20.06.2012 - 15:50
fonte

Leggi altre domande sui tag