Quali sono le migliori alternative ad AJAX?
Tutte le risposte qui sono per lo più corrette e non c'è molto da dire su questa domanda in primo luogo, ma solo per chiarire: ajax sta per Asynchronous JavaScript e XML. Il termine proviene da un periodo in cui si pensava che XML fosse superiore e succedesse all'HTML, quindi in realtà quest'ultimo termine è un po' fuorviante. È solo inteso come riferimento al fatto che l'HTML potrebbe essere cambiato e reso attraverso il solo trasferimento di dati, che ora è fatto per lo più in JSON. Asincrono significa che è interlacciato nel tempo. Aspetterà di elaborare la richiesta man mano che riceve abbastanza dati e continuerà a lavorare rispondendo all'interazione dell'utente nel frattempo. Inoltre non ricaricherà l'intera pagina. Questo era davvero importante quando non avevamo la possibilità di spedire l'intera applicazione al client e di eseguirla da quel lato.
Usiamo ancora AJAX, ma sono diversi livelli rimossi da ciò di cui ci si deve effettivamente preoccupare nell'implementazione di un'applicazione oggi. AngularJS e altre librerie disponibili rendono facile evitare di scrivere l'effettiva chiamata AJAX e strutturare bene entrambi i lati dell'applicazione per riceverla e invece incapsulare quella funzionalità nel paradigma comune di route e view model delle moderne applicazioni web. In queste applicazioni, le API RESTful sono utilizzate per transazioni di dati, spesso in JSON e talvolta in XML. Le API RESTful forniscono un'implementazione più concettuale che si adatta bene a HTTP. Alex Deva ha menzionato Web Sockets, che è certamente un'opzione migliore e ben supportata, ma è leggermente più impegnativo. A causa di questo, le API esposte pubblicamente sono spesso lasciate come servizi RESTful, ma le API interne destinate solo all'applicazione e al server sono spesso fatte con WebSockets. DDP è un metodo più recente di utilizzare WebSockets persistenti per ospitare sessioni di trasferimento dati per molto meno overhead. Quindi, non è che usiamo qualcosa di diverso da AJAX in realtà, è che ci siamo spostati dal richiedere che sia XML o anche fare la chiamata AJAX manualmente per astrarla completamente ad un servizio di sottoscrizione e pubblicazione di dati distribuiti ad alto throughput di basso livello. Dovreste avere familiarità con implementazioni di servizi RESTful e websockets, e con il concetto di ajax.