App web orientata alle API per i consumi pubblici e privati in Ruby

1

Nell'app tradizionale Rail, dobbiamo occuparci di controller/model/action e abbiamo un view che genera output HTML. Ora

  1. Ci sono molti framework JS come backbone / react che ci permettono di codificare lato client che consumano API molto facilmente.

  2. E la nostra webapp potrebbe anche fornire API per il pubblico da utilizzare.

Sto pensando, invece di codificare molti action / view che generano l'output HTML, perché non ci considerano semplicemente un consumatore di API e costruiamo un'app completamente orientata all'API per noi stessi e per il pubblico.

C'è qualche avvertenza usando questo approccio? o qualche strumento / libreria / tutorial esistente che valga la pena dare un'occhiata?

    
posta Yoga 22.08.2016 - 06:13
fonte

1 risposta

2

Ci sono alcuni avvertimenti.

  1. Sicurezza dei dati. Tendi ad esporre molti più dati con un'API che con una pagina HTML standard.
  2. Prestazioni. Le applicazioni di tipo SPA tendono a colpire il tuo server con molte piccole richieste piuttosto che singolari richieste di grandi dimensioni. Questo non è un problema se costruisci il tuo back-end giusto.
  3. Otterrai sempre la tua API da front-end JavaScript sul tuo dominio? Potrebbe essere necessario pensare a CORS per consentire JavaScript interdominio.
  4. Il SEO è importante? Se il tuo ranking di ricerca su Google è importante, dovrai cercare le migliori pratiche per assicurarti che Google possa comprendere correttamente il tuo sito JavaScript.
  5. Sicurezza dell'utente. Se hai bisogno di autenticazione, probabilmente avresti bisogno di implementare un meccanismo di autenticazione più complicato come oauth. In un normale sito HTML, i token CSRF possono essere utilizzati per prevenire attacchi di contraffazione di richieste cross site. Se sulla tua API viene utilizzato un cookie di sessione o un'autenticazione di base, la tua API sarà potenzialmente vulnerabile agli attacchi CSRF.
risposta data 27.08.2016 - 16:08
fonte

Leggi altre domande sui tag