I have an existing solution which is a desktop app, and now need to build a E-Commerce WebShop site. I’m pretty sure that a lot of the existing .NET back-end code could be reused.
But I’m struggling to work out what the tech stack for the front-end should be. Currently I’m considering following options, and can’t decide:
- ASP.NET MVC Core – normal “non-SPA” app with views and separate pages, with vanilla JS for some front-end dynamic behavior.
- Pros: everything will be mostly C#, very SEO friendly, easy deployment
- Cons: when the “front-end dynamic behavior” will grow, maintaining the vanilla-js logic will become a nightmare
- ASP.NET MVC Core + React simple components – as above, but with React components here and there for the more dynamic part.
- Pros: still mostly C#, SEO friendly, dynamic parts in components easier to maintain and reason about
- Cons: Loosely coupled react components on a server generated view interacting with each other and with the DOM from the server can be confusing, and also not easy to maintain as it grows
- React+Redux with server side rendering (maybe TypeScript), ASP.NET for AJAX calls.
- Pros: all front-end written in one language, SEO friendly, consistent and maintainable front-end code
- Cons: so far as I read, server side rendering of React isn’t straightforward to do properly
- React+Redus SPA app
- Pros: as above
- Cons: SEO not optimal
Any tips?