Why you should prefer front-end focussed web apps
As Node.js gained recognition and substance over the next few years (albeit in specific niches), it:
Web Browsers & Mobile Apps
Standardization of the languages, data formats and storage mechanisms of web browsers, together with increased horsepower (even in mobile devices), makes it feasible to write a web-app that lives more in the browser (and less on the server).
Front-end versus Back-end Dominant Apps
On the other hand, back-end heavy web-apps are quite unlike native apps, are are not easily converted into native apps, and/or do not look and feel like them. When converted into a hybrid native app (generally by embedding them in a native web view) these apps feel clunky and suffer a performance penalty. Typical, backend driven web apps employ many anti-patterns of native apps such as page loads during app navigation (instead of being everything loaded up-front).
The client-server Divide
1. are distanced (over the internet) from the UI that the end-user is interacting with and therefore
2. are not well-suited to tracking user context and flow though an app.
3. Represent an unnatural split in service delivery across 2 independent software systems, separated by a network, and united only by a well crafted interface specification.
4. Must be carefully designed to scale well as user volume increases.
1. Develop web-apps in the newer SPA style with the business logic in the front-end alongside the UI. With some care it may be feasible to maintain one code-base for both the web and all native apps.
2. The back-end servers will primarily as authorization, data backup, synchronization, and messaging engines.
This approach could pave the way to greatly reduced native-app development costs in the case where an SPA web-app is launched first and native apps are developed later.