Hi guys, the year in developers world for now is great and i’ts time to considering some new starting points for big applications.
After a lot of reading about cloud technologies and why is so important to start big if you want to create a big project, there is no other way to consider different starting point then Microservices and Docker.
After the big release of VisualStudio 2017, we see that Microsoft is going straightforward with the promise to give us the best possible environment to develop extremely configurable solutions for cross platform devices. Not only that, bud one of their teams started working on new eShopOnContainers sample apps with all of the features that you can imagine!
I am really not joking, from apps develop on Xamarin, to microservice architecture, on docker, with lower level event driven design using RabbitMQ, on top of that is sample APIs that use even Redis memory DB for basketAPI. This guys even had time to add IdentityServer4 for authentication across different apps and now we just have to wait a few days to see Health Reports for every microsevice!
I know, i know… If they work so much, probably there is no documentation! 🙁
Yeaaa , i will only say, that they are GOOD. The Documentation is actually a one little big book with explanation for every decision in developing and architecture process. In the Github repo you can find examples for older monolithic apps, single page application on TypeScript with Angular2 and of course MVC application. In next release the features will be so much more, that someone have to write smaller docs for their docs.
But, if you want to start high, just go to the repo, choose one of the projects that is best suitable for your idea and copy the approach. Its sounds like the good life is just around the corner… And it really is!
So much cool stuff but is there a any framework that can do all of this things by itself?
Introduction taken from the documentation:
We are creating different applications based on different needs. But implementing common and similar structures over and over again, at least in some level. Authorization, Validation, Exception Handling, Logging, Localization, Database Connection Management, Setting Management, Audit Logging are some of these common structures. Also, we are building architectural structures and best practices like Layered and Modular Architecture, Domain Driven Design, Dependency Injection and so on. And trying to develop applications based on some conventions.
Since all of these are very time-consuming and hard to build seperately for every project, many companies create private frameworks. They’re developing new applications faster with less bugs using these frameworks. Surely, not all companies that lucky. Most of them have no time, budget and team to develop such frameworks. Even they have possibility to create a framework, it’s hard to document, train developers and maintain it.
ASP.NET Boilerplate (ABP) is an open source and well documented application framework started idea of “developing a common framework for all companies and all developers!” It’s not just a framework but also provides a strong architectural model based on Domain Driven Design and best practices in mind.
And what is coming after that:
Next release will include full support for .NET CORE as well as .NET Standart, i hope they will be finished with integration of IdentityServer4 and after that, there is nothing to stop us to develop very big applications with the best approaches that exist, and not only that, we can have it with just a few clicks and one good idea!
In the next few months i will keep collecting different ideas from new and good frameworks, and soon i will start creating a project template for starting point with the best and new technologies that can be combined to achieve easiest approach for developers to conquer the world.
Thank you for reading and may the force be with you!