No-code and low-code development
Tags: programming, wordpress, webdev
Published: 2022-02-01 11:48:14

The no-code and low-code development market is booming. Some people, including specialists, believe that no-code and low-code are the future of the development industry. Others insist that when it comes to customization, coding is needed.

The truth is in the middle, as usual. While no-code and low-code allow simplifying the [development process](https://maddevs.io/approach/development-process/?utm_source=devto), they aren’t a panacea. Here, we delve into the matter to check whether no-code and low-code can replace the actual development and if yes, to what extent it can be done.

## No-code/low-code development as a way to speed up time-to-market and simplify the development process
Low code and no code techniques are a great way to simplify the development process. They have been available for around a decade. Now though, they are growing in popularity. The reason behind the popularity growth is evident: businesses want to reduce costs on the development of, say a new feature or new functionality. Demand creates its own supply. Therefore, no-code and low-code platforms such as [QuickBase](https://www.quickbase.com/) and [Jotform Apps](https://www.jotform.com/products/apps/) are booming. 

Both low-code and no-code platforms provide the means to build a website or an app without or with minimum coding. They take a visual approach to app development. It makes the website and app development accessible to tech-savvy individuals who might not know any programming language.

### No-Code
No-code platforms, such as [Tilda](https://tilda.cc/), offer the simplest way to build a website or an app.

![Tilda](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2l779fe7spe8t2bxcocs.png)

As you can guess, such development options are pretty limited:

* If you use a no-code platform with its drag and drop functionality, you can build a basic app only. It will not scale properly. The integration opportunities will also be very limited. And the customization possibility is limited to non-existent. It, in turn, leaves gaps for security and compliance issues. 
* Architectural considerations also arise commonly. No-code platforms are mostly used by those who don’t know how to code. So, we guess these people have no experience in the application of architectural patterns. And it, in turn, means that the app architecture will be monolithic. 
* The majority of no-code platforms require deployment to their public clouds. It means that if you use their no-code solutions, you won’t be able to deploy them in your cloud.
* Such solutions do not support third-party integrations and cannot connect to legacy systems.

This approach is suitable for non-programmers if they want to visualize their ideas before moving the app or website into the proper development. Or it can be fine for somebody who doesn’t want to wait until their IT department develops a proper solution. 

What if somebody approaches us with a request to build a no-code solution? What if a client wants us to develop an app by using a no-code platform because the solution isn’t complex, and the budget is too limited?

The entire approach doesn’t comply with our internal requirements. We do not work with:

* Landing pages;
* Online business cards;
* Checkout pages;
* Personal pages;
* Project portfolio or a resume, and similar cases. 

We can give the client some tips on how to do it and even send links to the platforms that, in our opinion, might be the best for their specific case.

But we use no-code platforms to, say, create a website design. So, we do not exclude no-code.

[![what you need to know to make a good markup](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3n9b80dlekmpdcivlldu.png)](https://maddevs.io/insights/blog/what-do-you-need-to-know-to-make-a-good-markup/?utm_source=devto)

### Low-code 
We would say that low-code platforms (such as [WordPress](https://wordpress.com/)) take an intermediary position between no-code solutions and fully-fledged development. They abstract low-level development and automate manual processes.

![Wordpress](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9glz2827pzp1p5spiaeb.png)

Low-code platforms can also be visual-based. They also can use drag and drop functionality. But they give developers more flexibility by also allowing manual coding and scripting. 

Low-code solutions are distinguished by a higher level of scalability and flexibility. Developers can exercise control over the solution quality by [testing it and running QA procedures](https://maddevs.io/services/qa-software-testing/?utm_source=devto). Such solutions have the potential of being developed into more sophisticated products. 

Many low-code platforms come with comprehensive component libraries and support third-parties smart services offered in a cloud. Low-code platforms allow the development of many products, including complex ones. While we use low-code, we do not work with:

* Authorization pages and pages/websites with similar functionality;
* Training platforms;
* E-commerce (online shops, sales of services);
* Small forums;
* Mini-blogs, and similar.


[![PWA](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wm4jixx9hyhbebuvl43x.png)](https://maddevs.io/insights/blog/progressive-web-apps-practical-usage-guide/?utm_source=devto)

## No-code and low-code can do a lot but not everything

While low-code seems to be an optimal solution, do not hurry to switch to it and apply low-code platforms for every product you are working on. Low-code comes with some limitations. We have developed a quick guide that helps to determine whether low-code can be used to the full extent or manual coding is needed.

## Customization

You can use a low-code solution if you don’t need a highly customized solution. You are fine with just filling in a database and adjusted styles, colours, etc. In such a case, a low-code platform will provide you with all that you need.

However, if you count on a high customization level, a website, or an app that looks like it came from your company, be ready to pay. The more precise your requirements are, the higher is the customization level. 

Say, you need to build a mobile app for tracking public transportation movement. But to synchronize the geolocation in a database, you would need to create a custom mini-service which shall be developed manually. Or you can construct a taxi service but for unique custom solutions, you will need to code manually. So, no-code and low-code approaches work in some cases and only then, when no high customization level is needed. While they definitely help to reduce time-to-market but they aren’t suitable for the development of entire complex enterprise solutions.

Consider it in advance and plan the budget accordingly.

[![Waterfall development model](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2gdwnc1h8ea6vg3ggh7r.png)](https://maddevs.io/insights/blog/waterfall-development-model/?utm_source=devto)

### Digital accessibility

Digital accessibility requirements are another challenge to those who prefer low-code. Digital accessibility requirements are difficult to implement in a website based on a template. To use a low-code platform for developing a website with digital accessibility requirements, you need to:

* Create a prototype (with low-code)
* Run the accessibility tests
* Bring the low-code prototype to the company’s standards.

It might be difficult if not impossible. And making your content available to as many people as possible might be the foundation of your business. 

If a company has digital accessibility requirements, using a low-code solution might be not the best option.

### The depth of code

Now, think about what you want your solution to do. Say, you need to develop a page flow that is based on inputs. The inputs are calculated, and depending on the result, a user is moved to a respective page. For example, a user fills in an electronic form to get a loan. If the user’s income is too low, the app shall redirect the user to a rejection page. You can hardly implement this functionality with no-code or low-code resources only. It will need some coding.

### Security

While no-code and low-code platforms offer already available components, these components still contain code. And this code was not developed by your team. Moreover, you might have no idea by whom the components were developed. They were developed by somebody who delivers the code via pre-configured modules. It means that you rely on outsourced solutions. Additionally, when you need to update your workflow, you also outsource it.

No-code and low-code platforms are developed to enable faster development. It doesn’t necessarily mean that the components might fail to undergo proper testing and security checks. But you shall agree that such a possibility is higher than if the app is developed properly.

Data validation might also be an issue. The majority of no-code and low-code platforms allow the manipulation of data easily but they mostly do not have proper means to secure data. If a website or an app manipulates sensitive business data, it might be a significant issue. 

While all the security risks cannot be eliminated completely, they can be mitigated. However, it means additional measures. And it, in turn, slows down the development process. In the very end, it is safer to hire a team of developers.


[![Lessons learned from a project with a fixed price contract](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0jpbbxdwfqd8dwmbumxp.png)](https://maddevs.io/insights/blog/lessons-learned-from-a-project-with-a-fixed-price-contract/?utm_source=devto)

## What can you develop with no-code and low-code?

If you approach no-code and low-code in a smart way, you can use them to optimize the development of many solutions. The most typical examples are the following.

### Business processes automation

Here, the simplest example is the customer journey and the automation of this process. For example, when a customer writes a message on Facebook, what does the solution have to do? It has to send the message to the CRM system and send a Slack notification to the staff. In a similar way, you can build agent and broker portals, self-service policy administration apps, customer portals, and similar. While there are many options to choose from, we recommend using Zapier because it handles all these solutions perfectly.

### Websites and mobile apps

The opportunities are extensive here. For example, Bravo allows you to construct a mobile app directly from Figma. If you have an app already, you can add databases, authorization functionality, push notifications, etc. So, with Bravo, you can shorten the gap between a prototype and an actual application.


![Low code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5os74qqirc2x459bk577.png)

[Editor X](https://www.editorx.com/) helps us to create data-driven sites and complex web apps. We use integrated business solutions and add custom code and use a powerful CMS.

![No code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klw69rbkm8y9g46xzgpq.png)

With [Play](https://www.createwithplay.com/), we can prototype mobile products. Further, developers polish the code, and an app can be pushed to production. 

The list of the most popular no-code and low-code platforms
The following no-code and low-code platforms are among the most popular ones:

* [Webflow](https://webflow.com/)
* [EditorX](https://www.editorx.com/)
* [Bravo](https://www.bravostudio.app/)
* [Supernova](https://supernova.io/)
* [Play](https://www.createwithplay.com/)
* [Anima](https://www.animaapp.com/)

## Bottom Line

We admit that no-code and low-code can reduce the time to production and cut development costs significantly. However, both approaches have to be used smartly. And of course, they cannot completely replace development in its traditional sense.

[![CTA](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f4fp7m9t3d9ma0zltdz0.png)](https://maddevs.io/services/?utm_source=devto)

_Previously published at [maddevs.io/blog](https://maddevs.io/blog/nocode-lowcode-development/?utm_source=devto)._