Nowadays web applications play increasingly important role in our daily lives. As a user, we would like to access to hese application many different ways: in browser, on our phones or as a service. The technology needs to satisfy these claims to make the developers’ life easier, but it is now always trivial which technology stack fits the most to our needs and how will we use these through the developing of the app.
As our applications grow the transparency, testability and maintainability of the app will be more and more important. There are many new technology, software development methods and software architecture that can solve the problems together. Our goal is to maximize the flexibility of the software, write reusable components, but keep the performance counters.
To satisfy these needs there are many popular frameworks with different architecture (for example MVC or middleware structure). These frameworks are offering different methods to organize our code base.
During my thesis I will examine some of these technology stacks: how they work, what type of architecture they use, what is their main design principles and how these priciples help the developers. It is important to see the pros and cons of the technology stacks: althought we can not declare a true winner, when we start a new project, we would like to decide objectively which techology fits the best for us. I will test and compare these technology stacks to each other through developing a simple application.