In a typical application, much of the required functionality is not directly related to the core business use case but is instead functionality common to most applications.
This can include code related to
- database connectivity and persistence
- security and authorization
- error handling, reporting, and logging
- automated testing
- front-end components
- input validation
- user management, and signup
Software libraries (packages)
Most of this common functionality is already available in the form of third party prebuilt packages (software libraries) which can be imported and used in your application saving many hours of software development.
A typical .NET web application (other development environments are available) can require several thousand third party software libraries,
Using software libraries offers many advantages
- code reuse
- reliability as code has already been tested by other developers
- code maintained by the publisher
- versioning of code changes
- parameter documentation etc.
- availability of source code in many cases
- compatibility issues and conflicts with other software libraries can occur
- breaking changes can be introduced between versions
- the library can become obsolete if not maintained in future
An application framework provides most of the functionality above. You just need to implement your core business requirements.
Apps By Design often develop using .NET Core with various front ends. The application frameworks we use include
Radzen is a Rapid application development environment that can generate CRUD frontends for Blazor or Angular quickly. It has a wide range of data sources, allows code customization and several deployment options. See our review here.
ASP.NET Boilerplate is a popular open-source web application framework.
- Front end options for Angular, Vue.js, React and JQuery
- JQuery version recently upgraded to use AdminLte.IO theme 3 based on bootstrap 4
- Signup and login forms
- Management of users, tenants, and roles
- Good documentation
- MIT license
- JSON API documentation via Swagger
- Create your application by selecting options via web form then follow the comprehensive instructions to extract, and run
- Several tutorials and sample applications
additional functionality to the ASP.NET Boilerplate template includes
- Popular Metronic admin front-end with multiple layouts/themes
- Forgot password, user lockout, change password
- LDAP (Active Directory) / ADFS login
- Two-factor authentication
- Tenant signup
- User and Role-based permission management
- Feature and edition management
- Online chat
- Xamarin mobile application
- Rapid Application Development Code generation tool
- full access to the majority of project source files
- generated project count limited by subscription level paid
- unlimited deployments
ABP Framework is the successor to the popular ASP.NET Boilerplate framework.
It is designed to be more modular and easier to upgrade than the ASP.NET Boilerplate framework but it more suited to new projects than porting over existing complex projects.
Functionality in the ABP Framework includes
- front-end based on MVC JQuery with Razor pages or Angular SPA
- Support for NoSql databases
- Command line Interface tool
- create custom application modules
- bootstrap tag helpers
- dynamic forms based on model classes
- virtual file system
- automated package upgrade vis ABP CLI
- modular and designed for microservice use-cases
- open source license based on LGPLv3.0
- react-native mobile application
Note: The functionality and documentation of the ABP Framework was only partly complete at the time of review during June 2020.
ABP Commercial is based on the latest ABP Framework. The modules included and access to source files is dependent upon the subscription level paid.
- pre-built modules and front-end themes (Lepton)
- CRUD page generator
- unlimited projects and deployments