# Frontend JS da abbinare a rails

**URL:** <https://www.ruby-forum.com/t/frontend-js-da-abbinare-a-rails/244575>\
**Category:** IT\
**Created:** [May 4, 2016, 3:13pm UTC](https://www.ruby-forum.com/t/frontend-js-da-abbinare-a-rails/244575 "2016-05-04T15:13:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sadaf\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/858c86/32.png) [@Sadaf\_N](https://www.ruby-forum.com/u/Sadaf_N)\
**Post date:** [May 4, 2016, 3:13pm UTC](https://www.ruby-forum.com/t/frontend-js-da-abbinare-a-rails/244575/1 "2016-05-04T15:13:01Z")

</div>

Ciao a tutti,

ho provato ember appena uscito poi angular1, react e ora sto osservando  
le novità di angular2. Preferisco react per la semplicità e  
l’integrazione in rails tramite l’ottima gemma react-rails ma solo  
l’utilizzo potrà darmi qualche feedback più preciso.  
Sto creando un generatore per creare un file per ogni risorsa con  
all’interno tutti i componenti per gestire il CRUD, in pratica tante  
single page app che sfruttano il routing di rails e le novità di rails  
5.  
Anche così facendo mi piace poco spostare le view sotto javascript.  
Qualche eperienza?

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [May 6, 2016, 1:10pm UTC](https://www.ruby-forum.com/t/frontend-js-da-abbinare-a-rails/244575/2 "2016-05-06T13:10:01Z")

</div>

Ciao,

mi sembra che stai cercando di muoverti su un JS MVC ma senza voler  
lasciare server-side generated pages. Se non vuoi spostare le views  
sotto JS rimani ai tempi the Rails + JQuery. Da Rails userei solamente  
una pagina index e caricare da li la vera view, in poche parole, invece  
di una single-page app avresti varie single-page app.

Un framework tipo React ma minimale (in stile LISP) e` Riot, poche linee  
di codice, molto semplice, ha il routing integrato. Mi ero creato anche  
una piccola libreria per AJAX per prendere i dati dalla API.

Uno dei migliori framework per il frontend, IMHO, e` Om. Usa React ma ha  
una sistema transazionale per aggiornare lo stato del front end ed usa  
ClojureScript invece di InpureScript (JavaScript) 🙂

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [May 13, 2016, 10:27am UTC](https://www.ruby-forum.com/t/frontend-js-da-abbinare-a-rails/244575/3 "2016-05-13T10:27:25Z")

</div>

Ciao Riccardo,

devo premettere che non amo scrivere codice javascript, soprattutto se è  
codice “core” ma sto comunque approfondendo questi nuovi scenari.  
Spostare le view sotto js non mi convince ma è diventato il male minore,  
ha la sua motivazione e l’accetto.

Usare rails solo per una index e come api, può andare bene per creare  
demo di forte impatto ma con logica inesistente.

Prendiamo il caso più complesso: angular. E’ un framework completo con  
tanti pregi: ordinato, view separate, conciso, direttive …ma tutta la  
logica che solitamente hanno le applicazioni rails non so dove metterla.  
La risorsa viene caricata sul frontend come dato ma tutta la logica  
rimane sul modello (o mi sono perso qualcosa). E che senso ha duplicarla  
in qualche servizio, secondo me deve stare sul server. Se rimane sul  
server non ha senso utilizzare angular ma mi sposto su una libreria view  
come react.

Inoltre, Rails 5 + turbolinks 5 ha un rendering più rapido di angular.

Sto cercando di capire l’entusiasmo intorno angular2, secondo me è un  
passo indietro. E’ necessario studiare un nuovo framework, un nuovo  
linguaggio, uno script tipizzato che è un controsenso. Uno script deve  
essere semplice perchè deve fare cose semplici, coffeescript: è un  
capolavoro e lo stanno dando tutti per morto.

Ogni tre mesi esce qualcosa di nuovo ma per studiare a fondo una  
soluzione serve tempo.

Mi accontento di trovare una soluzione convincente, applicabile su  
progetti grossi per migliorare la UI passando a un 2way binding.
