To understand how we came to this point in 2017, where it's a good idea to use the tsmean stack, we first need to unfold a bit of history.
Or imagine having written a routine for your Java server, but now you think you'd rather run it on the client. You'll have to rewrite the entire code. It would be much easier to migrate code between client and server if they both would speak the same language.
The problems don't end with the code itself. Everything around the code is different as well with different languages. From code editors, to build tools, to dependency management, to community resources, to frameworks.
All of those points together can make it quite frustrating for developers to work full stack. Is there an alternative?
First steps towards compatibility
A new star on the horizon
At first, TypeScript was full of bugs and you needed to be a compiler yourself to spot all the places where TypeScript would fail. Since then a lot has changed and nowadays you can trust TypeScript to do good work. This has led to a strong TypeScript-trend in the frontend world. Here's the Google-Trends chart for TypeScript from mid 2012 to mid 2017:
The journey ahead
The bad news is, that we are still at the very beginning of this journey. The developments are still very recent and there are only few good resources on server-side TypeScript development. While it could make sense to write full stack TypeScript, you would be an early adopter with this. This makes it really tough to get started. Which frameworks and libraries should you use? What are best practices? How could you build something that's modular with TypeScript?
This is where tsmean tries to alleviate some of the pain. Basically tsmean provides two things:
- Written resources on full stack TypeScript development. Tutorials, comparisons, experiences. They are all listed in the "Articles" section.
- A starter kit for a full stack TypeScript webapp. Developing the core of a wepapp requires a lot of work. Either you "hack it" and manoeuvre yourself into big trouble for later on, or you do it right, and you'll spend weeks. tsmean provides the common core of every full stack webapp. It is not a framework, you can change all the code. It is rather a fully functional, well-engineered, scalable and modular template for you to get started faster. Here's what you get when you download the starter kit: fir-tsmean.firebaseapp.com. The code is hosted here: https://github.com/tsmean/tsmean.