Using JavaScript for SaaS Application Development
Tags: javascript, saas, webdev, cloud
Published: 2020-11-26 09:06:42

With the growing popularity of cloud-based technologies, Software-as-a-service (or simply SaaS) has become a new powerful trend in the field of software development. It can be defined as a form of providing centrally hosted apps via the internet as a service on a subscription basis.
 
The SaaS approach to creating apps is especially popular in various areas of business such as project management. Development stacks for building SaaS-based business apps frequently include JavaScript-based technologies (frameworks, libraries, etc.). In this article, we will delve deeper into SaaS’s formula for success, explore its pros and cons, and convey the advantages of using JavaScript for building SaaS software with the help of a real case example.

## Curious Statistics

The rapid growth and spread of SaaS and other cloud computing models (PaaS, IaaS, etc.) as one of the most requested IT services in different industries is supported by numerous surveys and statistical reports. According to IDG’s [2020 Cloud Computing Survey](https://cdn2.hubspot.net/hubfs/1624046/2020%20Cloud%20Computing%20executive%20summary_v2.pdf), the rate of cloud adoption this year has reached two-thirds in every industry. 

Speaking specifically of SaaS, approximately 700 specialists from different industries interviewed by [BetterCloud](https://stateofsaasops.bettercloud.com/#form) claimed that 70% of business apps currently utilized by them are SaaS-based, and by 2025 this number will rise to 85%.

![SaaS spendings](https://dev-to-uploads.s3.amazonaws.com/i/71ungntf8tyhedd2ocyi.JPG)
*COVID-19 impact on global organizations' SaaS spending in 2020. Source: [Statista](https://www.statista.com/)*

The outbreak of the COVID-19 pandemic is another important factor that currently should be taken into account when talking about the prospects of cloud computing. The disease still negatively affects many industries all over the world and forces thousands of companies to introduce remote working regimes. It can be said for sure that cloud-based collaboration tools have become absolutely indispensable for doing business during these turbulent times. 

SaaS apps can play a key role in providing sufficient remote worker services and ensure the required level of agility in adapting to fast-changing market conditions. That is why despite the possibility of negative financial repercussions of Covid-19, Statista says that global organizations’ spendings on SaaS in 2020 are predicted to be minimally decreased (less than 10%) or not affected at all.

## Pros and Cons of SaaS Approach to Software Development 

There are many reasons why the SaaS method of software delivery gains more and more supporters among both developers and users. But despite its strengths, SaaS is not free from shortcomings. Let us highlight the main pros and possible cons of opting for SaaS from the perspective of development processes and end-use.

### Pros for Software Development Companies

* Getting a regular and sustainable income and reaching a larger number of potential customers thanks to a lower initial cost
* Minimizing the possibility that the software can be counterfeited
* Utilizing numerous tools offered by cloud service providers that can be useful during coding and testing stages of the software development
* Cutting costs on the development due to the widespread use of constantly evolving web application frameworks and JavaScript libraries
* Reducing labor efforts and costs associated with customer support as all installation, configuration, and update operations are performed automatically

### Pros for End-Users

* Paying upfront less than for traditional software solutions
* Taking advantage of quick setup and deployment
* Employing SaaS apps from any device and any location
* Allowing multiple end-users to use the app simultaneously and synchronizing all data changes
* Easily adding new functionalities as the business grows i.e. choosing a more advanced subscription option with the features that are really needed for a given project
* Always using the latest available version of the software

### Possible Cons

Alternatively to a conventional way of installing apps on a PC, SaaS apps run on the SaaS provider’s (such as [AWS](https://aws.amazon.com/), [Google Cloud](https://cloud.google.com/), [MS Azure](https://azure.microsoft.com/en-us/)) servers. The provider is responsible for such important aspects of SaaS apps as data storage, security, availability, and performance. That’s where concerns related to SaaS usually arise and they are the following:

* Lack of full control over a SaaS app and limited customization can be a discouraging factor for some businesses
* Potential issues with security of data placed on third-party servers
* A slow internet connection can lead to low performance or connection failures
* Integrating a large amount of customer's data or sensitive data may be problematic because of high costs, risks, or any regulations
* SaaS approach does not suit well for all applications (for instance, SaaS is not good for apps that require response times in milliseconds)

However, it should be mentioned that top cloud service providers make significant efforts to tackle these issues and have already achieved encouraging results.

## Building SaaS Applications in JavaScript

JavaScript remains to be the most popular programming language, as its rich ecosystem provides developers with a wide range of tools for implementing functionalities that are required for a specific project. Therefore, it is not surprising that SaaS applications are frequently based on JavaScript-related technologies.

When utilizing JavaScript for building SaaS apps, web developers can gain the following advantages:
* Wide range of free JavaScript frameworks ([Angular](https://angular.io/), [React](https://reactjs.org/), [Vue.js](https://vuejs.org/), [Bootstrap](https://getbootstrap.com/), etc.) for building modern user interfaces 
* Availability of JavaScript libraries ([DHTMLX](https://dhtmlx.com/), [Highcharts](https://www.highcharts.com/), [Kendo UI](https://www.telerik.com/kendo-ui), etc.) including out-of-the-box components for implementing advanced functionalities
* JavaScript is supported by a huge community of web developers providing technical assistance on any coding issues
* JavaScript is compatible with popular back-end technologies ([Node.js](https://nodejs.org/en/), [PHP](https://www.php.net/), [ASP.Net](https://dotnet.microsoft.com/apps/aspnet), etc.)
* Regular JavaScript updates promoted by ECMA International

More detailed information on the recent trends in SaaS development can be found in this informative [article](https://scotch.io/bar-talk/coding-a-saas-in-2020).

Now we will consider a real-life case of how the use of JavaScript facilitated the building of a successful SaaS software solution for project management.

## GanttPRO – a SaaS Solution based on JavaScript Gantt 

GanttPRO [online Gantt chart software](https://ganttpro.com/) is a comprehensive SaaS software designed for planning and managing projects of any complexity via a feature-packed Gantt chart and several other views, for example, a Kanban board. More than 500k users from diverse companies including startups and industry giants such as Sony, Amazon, Nasa, etc. already apply this online service in their projects. 

Thanks to a short learning curve, end-users can quickly start benefiting from GanttPRO’s intuitive drag-and-drop UI. This software solution offers rich capabilities for handling project tasks and resources more transparently, enhancing team collaboration, providing precise project cost estimations, and ensuring efficient time tracking. GanttPRO utilizes the MS Azure cloud platform for reliable and fully secure storage of users’ data.

![GanttPRO online Gantt chart software](https://dev-to-uploads.s3.amazonaws.com/i/tec9rgypzcb69u75n0jt.png)
*Gantt chart complemented with the resource load diagram. Source: [GanttPRO](https://ganttpro.com/)*

Gantt functionality, a centerpiece of GanttPRO, was implemented with the help of the DHTMLX [JavaScript Gantt chart](https://dhtmlx.com/docs/products/dhtmlxGantt/). This fully customizable JS library allows building interactive Gantt charts for effective project management that are rendered well in all browsers and look native on any device. It has been smoothly integrated with other JavaScript technologies employed in the GanttPRO architecture including Vue.js, Node.js, and Webix Jet micro-framework.

![DHTMLX JavaScript Gantt in GanttPRO](https://dev-to-uploads.s3.amazonaws.com/i/qihzgkc7t8vzjrv4li3p.png)
*Gantt chart with the critical path highlighted in red. Source: [GanttPRO](https://ganttpro.com/)*

An extensive API of DHTMLX Gantt enabled the GanttPRO development team to add a lot of advanced Gantt features boosting user’s productivity in project management activities such as auto-scheduling, resource management, critical path, task grouping, dynamic loading, and various time scales. GanttPRO can be used for working with complex projects containing thousands of tasks due to the high-performance rates of the DHTMLX component.

As a result, members of project teams using GanttPRO can stay up to date on all business processes without regular personal meetings and successfully work on various project tasks in real-time from any location. Project managers can make use of different handy tools that help to optimize workflow, analyze the efficiency of all employees, and make sure that the project will be completed without any delays.

## Final Words

All in all, we can say that SaaS gains more and more popularity in the software development world.
 
Choosing a SaaS application can be a viable option for businesses searching for accessible, highly scalable, and versatile solutions that should not be deployed on personal computer systems and data centers. Moreover, SaaS products give users more mobility and flexibility, as cloud apps can be accessed from any location and it is always possible to change or cancel a service subscription.

The growing demand for cloud-based products motivates software development companies to adopt SaaS methodology. This modern approach to the development process can be easily combined with a great variety of JavaScript technologies for creating feature-packed SaaS apps in a shorter time. As a result, development companies come up with a more cost-efficient and more demanded alternative to on-premise software solutions.

### About DHTMLX

DHTMLX team specializes in the development of [JavaScript components](https://dhtmlx.com/docs/products/) for enterprise web apps with a strong focus on project management and DHTMLX Gantt chart as the leading PM solution. In 2019 DHTMLX also launched the Suite [UI widgets library](https://dhtmlx.com/docs/products/dhtmlxSuite/) with data processing and visualization widgets compatible with React, Angular, and Vue.js.