This chapter is about collaboration between different personas. It focuses on when you build your first larger project, how your team looks, and who you can use in your team for building the application. We’ll also talk about how developers can utilize a no-code platform and gain an advantage by using it. Then we’ll talk about how developers can help out citizen developers during the development of their applications, and we’ll touch on how you can extend the Betty Blocks platform by adding some code to it.
In this chapter, we will cover the following topics:
By the end of this chapter, you’ll have a better understanding of what the ideal team would look like to build a larger application and how developers can support citizen developers while they develop their applications.
Collaboration is the key to building a successful application. So, who do you need to collaborate with then?
Of course, this also depends on the kind of application you want to build. If you want to build a small application for storing some data that you need from time to time, you can most likely do everything yourself very easily. But let’s say that you’re going to be very ambitious and want to build a bigger application that you want your whole department or maybe even your customers to use, which supports different types of roles. You also want to have a big process built into the application, which will help the application users to speed up their work. So, what should a successful team look like to build your first application?
First of all, you won’t need all of the following people to be able to actually build your application, but they will help you to be more successful, especially if you are doing it for the first time.
So, let’s talk about the ideal situation first in which you can achieve the most success when building your first application. We’ll assume this is a medium-sized application where you will need some time to build it due to it containing a few workflows. The following are the roles a team could comprise:
Once the building of the application starts, the citizen developer will work with a no-coder developer to build the application. While the citizen developer is usually becoming familiar with the platform during their first application development, the no-coder does the heavy lifting. The citizen developer is basically participating on all fronts of the development so that they fully understand the process and can transform into a no-code developer.
The pro-coder in this project won’t be involved all the time, but they can help out at specific times, for example, when there might be a need to access specific external systems for which something needs to be set up. They can do some testing for security issues, for example, so that there are no leaks of sensitive information.
The pro-coder is also involved in enabling the citizen developers and no-coders. This means they can create new no-code blocks in the platform using code. These blocks can then be used by the no-coders in a no-code way. So essentially they can extend the functionalities of the platform. This could be a new component in the page builder, for example, or a new action step that allows the user to communicate with an external system or any other backend-related option.
Now that we know which types of personas are useful during the development of an application, let’s have a look at how pro-coders can utilize a no-code platform and what advantages they can take from this compared to normal coding.
Is a no-code platform also useful to a pro-coder (developer)? The short answer is yes, of course. So, what advantages can a no-code platform such as Betty Blocks have for a pro-coder?
The most important advantage of a no-code platform is the speed for developers. Let’s say they have to develop a portal for their company. Usually, a portal is something pretty straightforward. It usually allows the company’s customers to log in to their portal and access all kinds of information. For example, they might be able to see the orders that they have placed with the company and also the invoices that accompany them. They can view these and even download the invoices for their own use, and they can also see the status of their orders. All this information can come straight from the company’s ERP system. Betty Blocks integrations allow you to quickly connect to these systems and receive and send data to them. This way, Betty Blocks can utilize this information to show it to the users of the portal.
Building this portal is something that can be done very quickly with a no-code platform because, as discussed, it not only integrates easily with any external system through APIs but also allows the developers to set up a data model (database) quickly and easily within minutes that will hold the information specific to the customer who is logging in to the portal. The Page Builder’s drag-and-drop functionality allows them to easily set up the portal. Security is already taken care of with the login flow built into Betty Blocks, and even if they need to use single sign-on (SSO) because their customers are already using that for other applications, this can be integrated quite easily by grabbing one of the templates that already has SSO pre-configured.
Since the developers don’t need to set up a specific development environment and configure the libraries that they might need for the project, there’s no need to set up a database or do any coding. They win back up to 50-75% of the time it would take to build a portal. And as mentioned before, if there is anything that might be very specific and not supported out of the box by the platform, they can add some code to still be able to finish the portal to their liking, but we’ll talk more about that in the last two sections of this chapter.
Since the backlog of development teams is pretty big in most companies, utilizing a platform such as Betty Blocks could be very advantageous to reduce this backlog. It might not suit every use case for developers, but it can speed up their development by up to 75% and also make certain development tasks a lot more fun because it’s much easier and faster (and therefore enables faster results) to do with essentially the same control as you have with code.
Pro-coders can gain a lot by using a no-code platform when the use case fits. But one of the most important jobs a pro-coder has is helping out the citizen developer and no-coder. Let’s explore this in the next section.
Citizen developers are new to building their own applications and need some help from time to time. We’ve already mentioned in the Collaboration for building applications section the other roles that can help them out, but let’s zoom in more on what coders can do for them specifically and why it will also save the coders time in the long run by helping out citizen developers.
Of course, it will not only be the citizen developers who will need help sometimes, but also the no-coders. Basically, what goes in this section for the citizen developer also goes for the no-coder since those two will work together on their project usually, or either one of them will work alone on a project, but on some projects, they might need some help from a pro-coder, which is what this section is about.
So, let’s talk about where experienced developers (pro-coders) can help out the citizen developers. Betty Blocks has many templates for making more complex things a lot easier, but even then, some of the details might still be a bit intimidating for citizen developers the first time they encounter them. For example, they start a new application that needs to integrate with the company’s SSO. For the most common SSO, there is a template available, but you still need to enter some details that allow you to connect to the company’s SSO; otherwise, everyone can use this. A pro-coder can help the citizen developer to set this up. It will only take a few minutes, but it will make it a lot easier for the citizen developer. It also allows the pro-coder to do a few security checks at this point.
Another use case might be that the developer wants to retrieve data from an existing application or database. Pro-coders usually need to set up the credentials for the citizen developer because the citizen developer won’t have access to the backend of the existing application or database. Betty Blocks already has a whole library of APIs for this that can be downloaded, integrated, and used straight out of the box. Even here, the pro-coder can help to enter the login details of the API to set up the API together with the citizen developer. And maybe in some cases, if the system they want to connect to is not a very common one, but the pro-coder has the documentation on how to set up an API connection, they can create a web service in Betty Blocks for the citizen developer. Once this is set up and functional, they can push it to the block store so that the citizen developer API can be used by anyone in the organization in their next application without any effort.
A pro-coder can also help when the citizen developer is building a page in the page builder and wants to do something that might not be supported out of the box. The page builder allows the pro-coder to create a ReactJS-based drag-and-drop component in code by adding external libraries to new components for even more functionality, which can then be used by the citizen developer. Betty Blocks has a command-line interface (CLI) that can help with supporting this. We’ll talk more about this in the next section. But it enables the pro-coder to add almost any code functionality to the platform in a no-code way.
The same goes for logic in Betty Blocks, which is called actions. Actions are usually backend functionality, but in Betty Blocks, you can design these in a no-code way by dragging and dropping them. These actions are like a visual workflow and have steps and conditional logic. Each of these steps is written in Node.js, which is a backend JavaScript language used in Betty Blocks. Here the pro-coder also has the option to add code to the actions by using the CLI, just like with the page builder. So almost anything the pro-coder can think of, they can do by adding code and enabling the no-coder to do more.
Betty Blocks is a no-code platform, but does this mean you can’t add any code to it? No, you can add code to Betty Blocks. So, what can you do with code in Betty Blocks?
There are three places where you can add code to Betty Blocks:
For actions and the Page Builder, pro-coders and experienced developers can use the Betty Blocks CLI to add their code to the platform. The CLI allows pro-coders to use their favorite code editor and create any code to add to the platform. For actions, this is done with Node.js, and for the page builder, this is done with ReactJS. Betty Blocks also has what we call prefabs, which allows pro-coders to create an interface on their code so that the code becomes a no-code component. This allows citizen developers and no-coders to be able to utilize these new components without having to understand the underlying code. And once this piece of code has been written and uploaded to Betty Blocks, the pro-coders can share this new no-code block with their whole organization so that they don’t have to rebuild it for each new application.
If you want to have a look at the Betty Blocks CLI, you can visit https://github.com/bettyblocks/cli. Here you can read about the CLI and install it. We’ll be talking about the CLI in the chapter Pro-Coder Features of this book.
Just remember this part of the platform is only for experienced developers and allows them to extend the platform without being constrained by it if they have specific wishes. But it’s not a mandatory part of the platform that you need to understand if you want to be able to build applications. You can build so many applications without having to add custom code to the platform, but it is important that you at least know that the possibilities are there.
In this chapter, we learned about the collaboration between different personas to develop an application. We assumed that it was going to be a somewhat larger application, so you needed a small team to make this successful. The personas in this team were a project manager, business users, citizen developers, no-coders, pro-coders, and IT.
The added value of a no-code platform such as Betty Blocks for a pro-coder is another topic we talked about. Pro-coders can win a lot of time back by utilizing the platform for specific use cases, such as portals and internal CRUD applications. This could increase their development speed by up to 75%.
We also learned that pro-coders can help citizen developers and no-coders. They can add extra no-code functionality to the platform by using code so that other developers can do more with the platform. They can also help by performing security checks during development.
Lastly, we spoke about adding code to the platform to create new no-code functionalities. This should help developers to do more with the platform or to perform specific tasks that otherwise might not have been possible.
In the next chapter, we’ll have a look at governance. Betty Blocks has its own governance section called My Betty Blocks. This allows you to govern all your applications and users.