yes it's a rabbit hole, I know it well! When PC became fast enough to be used as DSP engines with the soundcard I spent years playing with the creation of "digital modes" as HAM radio hobbyist.
I've written a large .NET SPA application and I feel very comfortable with the following technologies:
On the client:
- TypeScript as language (v2.1 for ES5 async/await), strict null checks enabled
- VS2015CE or VSCODE as IDE
- React for rendering the UI
- React-Templates for compiling HTML templates into pure React
- React-router for routing
- Webpack as module bundler, compiles in background (-w switch)
On the server:
- IIS/.NET, limited only to serving the main .html page and to reply REST api (C#).
- SQL Server as database engine
Everything is fine and debugging is smooth from Visual Studio. The only impedance mismatch is between server language (C#) and client (TypeScript). I once tried to switch to node.js but the SQL Server support was poor.
before typescript@next I had exactlt that setup, but sourcemaps were broken despite all my attempts to make them work. Now I'm using ts 2.1 and have completely removed babel out of my build.
fine, thanks. TypeScript makes it even more interesting. I am going to make some tests to see if Inferno can replace React when working with react-templates.