Vantaggi dell'utilizzo di un framework JS

4

Sto iniziando un nuovo progetto e sto cercando di decidere se utilizzare un framework Javascript (come vue.js o react) e creare un'API Ruby on Rails, o usare Ruby on Rails nelle pagine di rendering lato server e cospargere javascript sulle pagine (potenzialmente sfruttando Stimulus.js).

Attualmente mi trovo molto a mio agio nell'usare RoR per generare un'applicazione web e solo di recente ho iniziato a considerare l'uso di un framework JS.

La mia domanda è: quali vantaggi si ottengono dall'utilizzo di un framework JS, rispetto al rendering lato server? Ho difficoltà a definire una linea per quando il lato client deve essere usato rispetto al rendering lato server.

Ad esempio, in ambienti con connessione Internet scadente, il lato client ha prestazioni migliori rispetto al rendering lato server? La mia ipotesi è che, poiché tutti i dati vengono richiamati sul caricamento iniziale della pagina, consente all'applicazione di eseguire il lato client con un accesso Internet scarso o nullo finché non è richiesta la necessità di mantenere qualcosa nel DB.

Credo di capire come funzionano l'implementazione e il flusso di base per il rendering lato client, ma non sono sicuro del motivo per cui ne abbiamo bisogno e quali sono i vantaggi offerti dal rendering lato server con javascript.

Grazie,

    
posta SegFaultDev 26.04.2018 - 17:53
fonte

2 risposte

5

Come qualsiasi altra domanda per adottare una tecnologia, dipende dalla tecnologia. Dipende dalle tue esigenze Dipende da eventuali esigenze future / dalla roadmap del prodotto. Dipende in qualche modo dalle varie abilità della tua squadra.

In termini generali (in senso molto ampio), i framework JS faranno il massimo quando si tratta di legare i dati al mark-up. In genere, hai un modello di dati e hai un margine di profitto a cui desideri associarlo. Puoi farlo in JS da solo, se lo desideri, ma un framework lo soddisferà per la maggior parte del tempo.

Alcuni framework JS si occupano anche del routing per aiutare con la nozione di 'app a singola pagina'.

Ci sono molti altri vantaggi, specifici per il framework.

Detto questo, sono molto cosciente dell'impatto che un framework JS può avere quando è eccessivo. Non solo c'è un periodo di tempo in cui i tuoi sviluppatori potrebbero aver bisogno di abilità e acquisire esperienza per ottenere il massimo dal framework, ma un framework può spesso far rispettare, o almeno incoraggiare, a lavorare all'interno del suo paradigma e convenzioni - qualunque esse siano. Non necessariamente uno svantaggio, se richiedi quella struttura nella tua soluzione (motivo per cui la menziono in risposta ai "vantaggi").

I'm having trouble defining a line for when client side should be used compared to the server-side rendering. : analizza i tuoi requisiti e, forse, come parte del processo di stima, pensa in modo un po 'più dettagliato a quale sarebbe il tuo approccio per affrontarli. Se ti ritrovi a reinventare la ruota in base a ciò che un framework JS può offrire, allora vai per un framework JS. Se non sei sicuro di ciò che un framework JS può offrire, esaminali di più. Sembra che tu abbia scelto alcune buone strutture come punto di partenza per la ricerca.

    
risposta data 24.07.2018 - 14:33
fonte
2

Ci sono molti vantaggi nell'usare il lato client JS sul lato server. Uno è scalabile più facilmente del lato server, un altro è la sua capacità di eseguire il rendering più veloce poiché non è necessario inviare dati tra client e server che spesso richiedono una soluzione lato server.

D'altra parte, un client più pesante impiega più tempo a caricarsi all'inizio, soprattutto su una rete povera. Dipende molto dal pubblico previsto e dalla rete di solito.

    
risposta data 24.07.2018 - 14:07
fonte