or updates a model object. 3. Server generates a JavaScript response that includes the rendered HTML template for the model. 4. Client evaluates the JavaScript returned by the server, which then updates the DOM.
HTML template for the model. *you also might not need jQuery btw ;) # app/views/messages/create.js.erb document.getElementById("message") .insertAdjacentHTML("afterbegin", "<%= j render @message %>")
Server-generated JavaScript Responses https://signalvnoise.com/posts/3697-server-generated-javascript-responses Working with JavaScript in Rails https://guides.rubyonrails.org/working_with_javascript_in_rails.html
the performance benefits of a single-page application without the added complexity of a client-side JavaScript framework. Use HTML to render your views on the server side and link to pages as usual. When you follow a link, Turbolinks automatically fetches the page, swaps in its <body>, and merges its <head>, all without incurring the cost of a full page load. README.md
THE fastest way to get a working product shipped (especially small teams) • simple requirements = simple solutions • less JS skills needed • supports any device that can show html
really great to extend and modernise "legacy" apps • component based design • easy integration that enables clean solutions for complex interactions • the strength of both eco systems • THE fastest way to get a working product shipped (especially small teams) • simple requirements = simple solutions • less JS skills needed • supports any device that can show html
JSON Layer to handle errors Security and Authentication Duplicate logic, validations Dev setup and development Integration testing Deployment Slow devices and network
THE fastest way to get a working product shipped (especially small teams) • simple requirements = simple solutions • less JS skills needed • supports any device that can show html • really great to extend and modernise "legacy" apps • component based design • easy integration that enables clean solutions for complex interactions • the strength of both eco systems • strategy for very big teams with separate departments and parallel projects • most versatile to support different clients and platforms • native look and feel • requires skilled developers /architects
API Cross Platform Support Complexity (testability + maintainability) UI/UX Requirements small - mid mid big basic mid advanced low - manageable mid - high very high simple flexibel flexibel, native