SAM is inspired by React.js. In React, the view is a function of the model V = f(M). Developers don't reason in terms of pages, they focus on rendering the view given a model structure. The rest of the app focuses on changing the model. When the model changes, the view renders (it's a bit more complex than that, but at a high level, that's what happens). The problem with React is that their programming model doesn't translate to the server. The kinds of stuff I build has a strong server component, so this is where I'll focus most of the discussion. If you want to use SAM in combination with React.js, in the browser, that works too. Nothing wrong with that.