When it comes to being competitive, speed is the watchword. Companies want their products out on the market faster than their competitors’; they want to enhance their internal operations quickly to improve their efficiency and their employees’ experience.
But how can a developer deliver new and innovative solutions that the business demands while maintaining the existing technology that continues to grow as they get more complex? Not to mention, in the midst of a widely recognized talent drought. This is where a reusable, component-based architecture can come in handy.
In a nutshell, a reusable architecture is the art of using already-existing assets in different applications and not only for the one they were originally designed. It’s almost like playing with building blocks, where you can pull the bricks and glue them together to build the Millennium Falcon. This means a few things:
- You don’t have to code things twice because you can use already-built modules to build your apps.
- You don’t have to edit, fix, or debug code in multiple places, because the code is centralized in one place—in the modules that will be consumed by the apps.
- It simplifies multiple developers working on the same application.
As a consequence, you’re able to accelerate application development exponentially and with less effort while keeping the existent apps simple to maintain. But how do you do this? Simple: with low-code platforms like OutSystems.
Designing for Reusability
I want to start by saying that not all applications should be designed for reusability. That’s up to you to decide: will you want to reuse the data, or workflows, or business logic, or screens in other apps? If you answer yes to any of these questions, then it’s time for reusability.
Using OutSystems, you can either create an app from scratch, or you can pull modules that you had already created in the past to reuse. And one of the big advantages of doing it this way is that, depending on whether you’re using Service actions or Server actions, if you make a change to the original module—the one you’re consuming—that will immediately refresh all the dependencies.
So, not only do you not have to repeat code, but when a REST API changes for the 50th time or your company logo changes from blue to red, you only have to make the change in the original module, and all the others consuming it will automatically be updated.
Plus, you can also use open-source component libraries, like the OutSystems Forge, to take your apps up a notch. This is really cool because if there is something that you don’t know how to create, let’s say adding a Google Maps widget to your app, you can simply grab it from the OutSystems Forge and use it.
But this is just a quick overview. To get the full lesson and learn how to build reusable apps with low-code quickly, I invite you to take a look at my latest webinar How to Architect for Reuse in OutSystems.