Written by 09:49 Uncategorized

Introduction to ABP Framework – a Complete Web Platform for Software Development

software development platform

ABP Framework is a complete infrastructure that helps developers build modern web applications according to the best practices of software development pre-applied. This product is an open-source project driven by the community.

A high-level framework and a full ecosystem let you implement the Don’t Repeat Yourself (DRY) principle and focus on your business code.

But let us dive deeper and tell you about ABP Framework and what good it brings to the software developers.

How ABP Framework Solves Challenges

ABP Framework offers an architecture to build enterprise software solutions on top of the .NET and the ASP.NET Core platforms. You receive the fundamental infrastructure, production-ready startup templates, modules, themes, tooling, guides, and documentation to implement that architecture properly and automate repetitive works as much as possible

When you start a new solution, you have to answer lots of questions before you write the first line of the code.

First, decide on the architecture. Then, create the fundamental structure to start development with that architecture. Also, decide which language, framework, tools, and libraries you will use.

All these decisions require significant experience. Ideally, experienced software architects and developers should make decisions. However, not all team members may have the same high expertise. They have to train and determine the correct coding standards.

Here, ABP provides a well-architected, layered, and production-ready startup solution based on Domain Driven Design principles and Clean Architecture. A pre-configured unit and integration test projects for each layer are also in this package. ABP is the biggest time-saver.

Creating an application with ABP Framework comes at once with high-quality architecture and all default settings configured on your behalf. It’s also pretty helpful for rapid software application development.

Pre-built modules allow you to update software versions easily and use integrated and customizable bootstrap professional themes. Also, developers get much more motivation because they don’t waste time on repetitive infrastructural jobs.

Features of the ABP Platform

ABP Framework provides a set of features to make the software development processes much easier. Developers can start immediately with core product features on day 1 using the ready code and design patterns. Even without the in-depth knowledge of the best practices or DDD (Domain Driven Design), you can work according to their highest standards.

Let us review the most essential and helpful features of the APB platform.

Startup Templates

Startup templates let you start a new solution easily. They are pre-built and configured solution templates you can use to create your solutions based on them. For more details on the specific templates, refer to the dedicated documentation:

•        Application Template

•        Application (Single Layer) Template

•        Microservice Solution Template

•        Module / Service Template

The basic templates are free of charge. More is available in ABP Commercial – a set of professional modules, tools, themes, and services built on top of the open source ABP Framework. The ABP Commercial templates provide more features, such as a public website and separate tenant database schema support.

ABP Suite

ABP Suite is a complementary tool to the ABP Commercial Platform, the .NET Core Global tool that can be installed from the command line. The purpose is to streamline development processes drastically. It can create a new ABP solution, generate CRUD pages from the database to the front-end, and allows you to build web pages in a couple of minutes.

Source Code

Generating the source code is a feature provided by ABP Suite. It generates the source code for Entity, Repository, Application Service, Code First Migration, JavaScript/TypeScript, and CSHTML/HTML along with all necessary Interfaces. The feature matches the standards of the software development Best Practices, so you don’t have to worry about the quality of the code.

The generated CRUD page includes the source code of the building blocks in the correct application layers. Therefore, you can modify that source code easily and inject your custom/business logic into it.

Cross Platform

ABP Suite runs as a web application on your local computer. It is built with .NET Core, and it is cross-platform compatible with Windows, Mac, and Linux.

Pre-built Application Modules

As a rule, we all have similar, but slightly different business requirements. But we have to reinvent the wheel since no one else’s code works directly in our solution. They are all embedded as part of a larger solution. ABP Commercial provides us with plenty of re-usable application modules:

  • Account: Login, register, forgot password, email activation, social logins, and other account-related functionalities.
  • Audit Logging: Reporting the user audit logs and entity histories in detail.
  • Identity: User, role, claims, and permission management.
  • Identity Server UI: Managing the identity server objects like clients, API resources, identity resources, secrets, application URLs, claims, and more.
  • Language Management: Add or remove languages and localize the application UI on the fly.
  • SaaS: Manage tenants, editions, and features to create your multi-tenant / SaaS application.
  • Lepton Themes: Official theme of ABP Commercial.
  • Payment: Provides integration for different payment gateways.
  • Text Template Management: Edit text/email templates on the user interface.
  • Chat: Real-time messaging between users.
  • File Management: Upload, download and organize files in a hierarchical folder structure.
  • CMS Kit: Building blocks to create your own Content Management System.
  • Forms: Create forms and surveys.
  • GDPR: This module allows users to download and delete personal data collected by the application.
  • Twilio SMS: Send SMS over the Twilio Cloud service.
  • Blogging (FREE): Create and manage blogs.
  • Docs (FREE): Publish your technical documentation with a professional UI.

You can easily install all the above modules into your solution and work with them directly. They are designed as customizable for your business requirements. If you need to have complete control, you can download the full source code of any module and adjust it based on your specific business requirements completely.

ABP Framework Themes

ABP provides professional, modern UI themes (Default Theme PRO, Material Theme Pro, Dark Theme PRO, Dark Blue Theme PRO, Light Theme PRO, and Default 2 Theme PRO).

ABP Platform Support

Community Support

Before the ABP Core Team took action for it, there were GitHub users, Udemy instructors, Medium writers, YouTubers, etc. Now, APB has an official ABP Community Discord Server with more than 1K members – you can join it with the invite to get in touch with other specialists and enthusiasts, showcase your solutions, share practical tips, and catch up with the latest news. ABP Core Team representatives are also on this Discord server.

The official ABP support page lists the most recent and frequently asked questions and answers. However, only the ABP Commercial users or those who get solutions from the ABP Core Team can ask their own questions. On the other hand, you can find help in the Github and Stackoverflow support channels – the links are available at the bottom of the ABP webpage.

Finally, the ABP’s documentation is available to explain the project in-depth with guides, samples, and best practices.

Premium Support

ABP Commercial users get priority help from the support team. The Enterprise License includes the option (Private Ticket) to get private support through email and the ticket system. Besides, Commercial users can access the Premium Forum Support where they communicate with the ABP Framework experts.

ABP Platform Version Frequency

The following milestone conventions serve four different purposes:

 *-preview indicates what to do for the next major release or next minor (feature) version. RC.1 version is released once this milestone ends. The next preview milestone starts immediately. A preview milestone’s lifetime is 8 weeks by default.

*-final issued to finalize and stabilize the shipped RC version. It covers bugs, small but important enhancements, and documentation for the RC version. The stable version is released once this milestone ends. This milestone’s lifetime is 4 weeks by default.

*-patch deals with bugs/problems for the last shipped stable version. This milestone continues until the next preview milestone. This milestone’s lifetime is 4 weeks by default.

*-patch-final issued when the new preview version starts and tracks the bugs/problems of the last shipped stable version. This milestone’s lifetime is 4 weeks by default.

In summary, it is 8 weeks for the preview milestone and 4 weeks for the final milestone.

The latest version is v6.0, and it provides the following new functionality:

  • LeptonX Lite is now the default theme for startup templates.
  • Optional PWA support is added to the Get Started page.
  • Introducing the OpenIddict Module and switching to OpenIddict for the startup templates.
  • New .NET MAUI Startup Template.
  • Introducing the ITransientCachedServiceProvider interface.
  • Introducing the dynamic components for Blazor UI.
  • Improvements in ABP CLI.
  • Introducing the Volo.Abp.RemoteServices package.
  • Create/Update user accounts for external logins.
  • Sending test email in the settings page for MVC and Blazor user interfaces.
  • Improvements on the eShopOnAbp project.

And some other enhancement

Additional Services

Consultancy

ABP Framework together with its partners can provide additional services on demand. Normally, after a consultancy meeting, ABP Core Team developer(s) may get connected to the user’s PC remotely, handle in a limited day(s), and get involved in the project if required.

This service is available when the user works on an ABP Framework/Commercial project and wants to accomplish additional specific project development deployment.

Custom Project Development

Dedicated developers for your custom projects.

Porting Existing Projects

Migrating your legacy projects to the ABP platform.

Training

Dedicated training for your developers. For more information, click here.

Onboarding

Help to set up your development, CI & CD environments.

Live Support

Live remote support option when you need it.

Conclusion

ABP Framework is an opinionated framework. It views some ways as better suitable for software development. Thus, it leads the developers to explore those ways and achieve faster and more quality results.

It provides the tools, guidelines, and personalized support. And though this platform is flexible to use various architectural decisions, tools, and libraries, it is usually the best option to follow its system recommendations.

Last modified: August 17, 2022
Close