Full-Stack Development

Should you use a no-code tool to build a web app?

I am a no-code tool user. In fact, I really like using these tools. I love it when something speeds up the amount of time I have to spend on something and I am an early adopter of no-code products.

But, there is something I must tell you.

I don't recommend building a full-stack web app with a no-code tool.

At least, not now and not yet.

In this article, I will share my reasoning for why I don't recommend building a web application entirely with a no-code product, and instead, recommend using a web framework that can make coding your full-stack projects faster.

Reason one: Security

The number one reason I would personally not build a web application on a no-code platform entirely is in order to protect my potential product's users and to keep their data secure.

Using no-code products today for web apps is all about connecting data that users input into web forms, and inserting or updating that data somewhere else.

From a lot of the no-code tutorials I have seen shared around the Webflow community and other places, this normally involves using products like Zapier, to submit data to Airtable, and back into a website on a platform like Webflow.

This is all primarily done by users who have zero experience or knowledge in how data is transferred securely over the internet. And, as soon as you do a little research into Software development, you will find out that a huge industry today is in the intercepting and collecting of data in transit.

When data is exchanging hands so many times, I automatically start to wonder what is happening in between transfers. How are these programs ensuring this data is absolutely safe as it moves from one place to another?

I am sure that these startups are working hard to make sure data is as secure as possible, but what about the users themselves that are hacking this stuff together? What is keeping someone from writing a tutorial that shows users how to submit data to their servers and people don't even realize it?

I understand that there are a lot of "what ifs" in my security argument, but as a developer of a software product, you have to be concerned with these questions and you have to be sure that your choice in a no-code software to build your product is not putting your users at risk.

Reason two: Privacy

Airtable is an incredibly useful tool for internal business uses. Especially if a business has a lot of data that needs to be visualized and grouped in a user-friendly manner. I love it.

But, that being said, I don't think that Airtable envisions their product to be used as the database for a web application.

Users' data can be easily viewed by company employees, even accidentally, and personally, I will not sign up, at least not intentionally, for a website that is submitting my information to Airtable automatically.

I signed up for your product, not for Airtable. If you are using my data for analytics purposes, I understand, but this needs to be clearly written in your privacy policy, and I need to know that you are using third-party tools in order to transfer my data to other places.

Airtable encrypts data at rest in their facilities and in transit, which is very good, but I am mostly talking about the ease of one of your employees to see customers' data. Do you have policies in place to protect your customers?

If you are building your project with a web framework, you can limit access to your database only to authorized individuals, as well as connect Airtable (as necessary) to dissect data you want to visually work with.

Reason 3: Scalability

The reality is that most people are deciding to build with no-code tools because they think it will make it faster to launch their product.

Here is the question I want them to consider though:

Once your product is launched, how are you going to scale?

The reality, is that ideas are extremely cheap, and I have found out that it doesn't hurt to spend more time on the initial product, collecting user input as well as building a strong foundation, versus rushing to launch a hacked together idea that is in your head.

If you build your software product with no-code and your product is a success, you are going to have to are rebuild everything from scratch. Other than maybe the design?

At that point, you are going to need to move fast.

If you choose a strong web framework as a foundation for your project, you will have a foundation to build on, and your developers will thank you in the future.

No to the tools?

No!

This doesn't mean you can't use no-code tools.

All of the above tools can help you as you are building your product. In fact, Webflow is an amazing prototype tool that many great products use, and Airtable can be a great way to dissect user feedback. Zapier can be used to automate your tasks.

You can also use Webflow to design and develop incredible company websites, blogs and even stores. At this point, I just wouldn't recommend it for a custom web app, other than for templating or design purposes.

What Framework?

By a strong framework for your software product foundation, I am not talking about Nodejs with Express. You will most likely use node, and npm in your project, but there is no reason why you need to reinvent the wheel while you are building your project, which, in my opinion, going with Javascript for your back end will probably force you to do.

There is no reason why you should do that, unless your app requires completely custom features that a web framework won't address. In that case, go with whatever you want.

In most circumstances, I am suggesting something like Laravel, Ruby on Rails, Spring, or DotNet. Something that has migrations included and something that can help you make smart architectural decisions. You are not a senior software engineer, and I'm not either. Better for us to let them make the architectural decisions for us.

The reason why I am so strongly encouraging one of those frameworks, and to not use Node, is because when I was starting to try to build my web apps with code the first time, I thought I would use Node in order to utilize my small amount of JS experience.

It was a mistake because there was way more I needed to think about when I was trying to build my apps that way. If you are a javascript ninja, you may be alright to go with node, but you will need to make more architectural decisions.

For my projects, I eventually started looking at Ruby on Rails, and then Laravel.

My Success Story

This year I was able to launch two fully functional web applications! One is a website for landscapers to find plants and another is a place where people can share journeys.

Both apps have many of the features you are wanting to build with no-code and the nursery website was completely designed in Webflow. I used the code exported from Webflow to build the page templates.

If I can do it, you can too. The best place to start learning Ruby on Rails is right on the Rails website. To learn Laravel, I recommend reading the entire docs, even if you don't understand it, and then going through some Laracasts tutorials.

These frameworks will help you secure your user's data properly, set up your database so it is scalable, and provide you a foundation that other developers will be thrilled to help you build on one day!

Maybe no-code will be ready someday, but for now. I strongly recommend this approach.

Caveats

After getting Nelson Abalos' input on this article, who is a Webflow Support guru and a big proponent of no-code web apps, I decided to add a couple of caveats to my arguments.

There may be cases where you want to build parts or all of your app no-code. These caveats are listed below.

  • A small app. (You might only need to be updating data in Airtable. In that case, it would be pretty pointless to build this out with a web framework)
  • For fun. If you don't ever see your project getting very big or having a lot of users, using the no-code approach might be perfect, as long as data is secure.
  • Where users won't submit private information or care too much if it is seen by company employees.
  • Integrating no-code tools in a web app. (I would never purposely build out a Calendly for my app, or a Webflow for that matter. Best to just focus on the things that differentiate in my opinion.)

Thanks for reading!

Chris Wray website logo

Trying to do my part in making the world a better place.

This site is hosted for free, so I am thanking the services I am using by adding a link to their websites here in the footer.

© 2020 Chris Wray. All rights reserved.