Excellent Framework, But With a Learning Curve
Use Cases and Deployment Scope
We have been using ABP Commercial for the past 2 years as the foundation for a new SAAS product we have been developing to replace our 40-year-old on-prem solution. ABP Commercial has been invaluable in allowing our small team to focus on requirements that are specific to our business and our solution, rather than building out all of the necessary "plumbing" from scratch. Just the authentication piece alone has already paid for itself, as we would have based our solution on IdentityServer4 when we started, and would have been forced to switch to something else when that product license changed (ID4 commercial would not have been cost-effective for us).
Pros
- Creates a fully functional web application without code
- Allows for single-tier, multi-tier, or microservice architecture (again, without any coding required to get the minimum functional product)
- Provides pre-built modules for common functionality (chat, payments, etc.) which can be extended and customized for your use case
- ABP Commercial keeps the tooling up to date with the latest versions of all dependencies
Cons
- Initial learning curve - There is a lot of training and help material available, but one of the hardest things to grasp (and also to explain) are all of the reasons why the 'ABP way' is better. Many times, it seems to be more complicated or more difficult than the 'simple' way of doing things. Over time, as you expand on functionality and add more and more layers of complexity, you realize WHY they build the software the way they do, and it goes from appearing complex to appearing elegant.
- Support - Some support techs are excellent, but others seem to be missing to just supply ANY answer to a question (which is often something along the lines of 'read the help').
Likelihood to Recommend
If you are building a simple web application and want to bypass all of the basic building blocks (authentication & authorization, multi-tenant, etc, etc.), then ABP Commercial will allow you to do this very quickly with their tooling. It is also an excellent tool if you are building a large complicated SAAS product, as long as you are willing to invest the time required to understand the 'why' behind their architectural decisions and follow their methods throughout your development.
