Top 10 time savers for developing SaaS and Enterprise products
I. ASP.NET ZERO provides multiple development templates for building your SaaS application
These templates majorly save time as they have the basic plumbing already done. There are various technology options that are available and that you can choose depending on your skill set.
- NET Core 2.x and Angular 8.x based SPA solution for your web application.
- NET Core 2.x and jQuery based MVC solution
- NET MVC 5.x, ASP.NET Web API and AngularJS 1.x based SPA
- NET MVC 5.x, ASP.NET Web API and jQuery
- Xamarin mobile application integrated with the back-end solution (only for ASP.NET Core (MVC or Angular UI) versions, supports iOS & Android)
Whatever option you choose , you also get a ASP.NET Core and MVC based Public Website that you can easily setup as your products public landing pages. You can also use Metronic front-end theme and build all possible features and components of a richer website.
In most cases, SaaS applications need multi-tenant shared databases to logically isolate the data of different tenants on the same server. The big challenge of building multi-tenancy from scratch is already taken care of in ASP.Net Zero
It provides built-in multi-tenancy support. Out of the box , as a host admin , you can create multiple tenants. The tenant admin can add organization users. With some configuration , “tenancy name detection” can be made possible from URL . For example using Sub-domains and Domains as Tenancy names.
There is a Default tenant that is available with the application which can be readily used as first tenant. Host and Tenant settings are separate and allow complete isolation of features and data. Payment integration(Both Stripe and PayPal) and subscriptions management is also a major feature that is already built into the ASP.NET Zero framework. The application also enables generating invoices.
III. Database Support
Depending upon clients requirements , the tenant can have a shared database, or a separate database or even a hybrid database.
Also possible is providing a shared database during free trial period and then transferring to a dedicated database on subscribing.
IV. Rich login and Authentication providers
For SaaS applications you need a flexible solution that can provision multiple authentication methods that allow you to configure based on organization and role to best meet the needs of your clients.
Building your own user authentication and authorization model takes plenty of time . You also require multi-factor authentication using OTP and SMS. ASP.NET Zero provides a default authentication system with its own User login, register, password-reset and email validation pages.
There are several social logins like Facebook, Twitter, Google+ and Microsoft Account and that can be easily configured to be set up for use. ASP.Net Zero also provides built-in integration with SAML, OpenID , Active Directory and Identity Server as well.
This is a big time and effort saver in any application development.
V. A Rapid Application Development tool for generating customized code templates
ASP.NET Zero provides a Visual Studio extension (and command line tool) to create any entity from the database to the UI layer by just defining its properties . It creates CRUD forms to set up the entity.
This template support to generate customized code is a big time saver indeed.
VI. Ready to code Integrated Cross Platform Xamarin application
There is a ready to code mobile Cross Platform Xamarin based solution in the ASP.NET Zero Template. The application source code is fully integrated to the web back-end and uses same APIs, permissions, localizations, and settings.
Provides an Android and iOS app. Because the built-in mobile app has default features ready, you can focus on building the business functionality that you need easily and much faster.
VII. Dynamic UI and Language Support
The framework has user interface that is completely localized.
ASP.NET Zero uses dynamic, database based, per-tenant localization which is implemented from XML files that are used as base translation for you preferred language.
VIII. Separate configurable settings for host and tenants
Host settings has some system level settings that can be configured, some of them are Time zone, Email, SMTP, and security. All the tenant settings are available for the multi-tenant application, like User management, security and Invoicing.
Since these are already built-in it is easy to focus on building business features and likewise saves precious time.
IX. Addresses many cross-cutting concerns that automate repeating tasks
Many cross-cutting concerns like logging, security aspects and localization are not that easy to implement properly, even more so , if done from scratch. In many cases, this kind of concerns leads to duplication of code or tight coupled code.
Important utility modules like Validation, Logging, Exception handling, Caching, auditing, security logging and Automatic database connection management are already built -in to the framework.
All these concerns certainly respect principles such as DRY (don’t repeat yourself) or SRP (singe responsibility principle) in the ASP.Net Zero framework.
X. Automated Testing
ASP.Net Zero provides automation testing by way of writing unit and integration tests in an integrated solution. This certainly saves lot of time