Immersive web applications involve sophisticated interactivity within the browser, connected to models and data persistence on the server. The structure of the application is clearly delimited between client-side and server-side, but the available tools for building web applications have often blurred this distinction. The result is applications that are difficult to design and maintain.
39. What are we looking for?
in general
• documentation & community
• testability
• ability to organize code
• opinionated
40. What are we looking for?
in general
• documentation & community
• testability
• ability to organize code
• opinionated
41. What are we looking for?
in general in particular
• documentation & community • decouple GUI from
implementation logic
• testability
• persisting data abstracts XHR
• ability to organize code
• sensible routing (for deep
• opinionated linking)
• compatible with other tools
(such as jQuery)
44. Testability
AngularJS comes with testing built in
• Jasmine & “e2e”
• every step of the angularjs.org tutorial shows how to test
Fits naturally into the Rails testing ecosystem
• Jasmine for unit specs
• RSpec (or Cucumber) + Capybara for integration specs
• easier in Rails than Angular alone
In a traditional model-view-controller web app, business logic is defined in the Model layer. The Controller responds to incoming requests by talking to the model layer and passing model objects to the View, which renders the objects for presentation in a browser.\n\nThe implementation of such a system is pure MVC. It is very easy to illustrate where the application executes in the client/server relationship: it all executes on the server.\n
In a traditional model-view-controller web app, business logic is defined in the Model layer. The Controller responds to incoming requests by talking to the model layer and passing model objects to the View, which renders the objects for presentation in a browser.\n\nThe implementation of such a system is pure MVC. It is very easy to illustrate where the application executes in the client/server relationship: it all executes on the server.\n
In a traditional model-view-controller web app, business logic is defined in the Model layer. The Controller responds to incoming requests by talking to the model layer and passing model objects to the View, which renders the objects for presentation in a browser.\n\nThe implementation of such a system is pure MVC. It is very easy to illustrate where the application executes in the client/server relationship: it all executes on the server.\n