Which application development platforms do you know? In 2020, several of our colleagues at FPT Slovakia participated in the Outsystems Low Code training, the aim of which was to gain experience in a new field and expand our company's portfolio. The end of the intensive training was an exam, the result of which was obtaining the “Outsystems Associate Web Developer” certification. Such an expansion of the company's horizons enables the company to constantly improve and also the opportunity to offer new and better solutions for regular as well as new customers.
What Is Low-Code?
Low-code is a software development approach based on visually creating an application, mostly through a GUI with minimal need for manual code writing. This approach has been very popular in recent years because it allows relatively fast application development and allows people with different levels of experience and knowledge to work on developing the same application. Thus, the term Low-code platform refers to any platform that allows us to develop such applications. One of these platforms is the already mentioned Outsystems Low-code platform.
Low-Code vs. No-Code
Maybe you've met also with the term No-Code. No-code works on a very similar principle, except with one fundamental difference. With this approach, absolutely no coding knowledge or experience is required. Everything is solved on the principle of visual development, either by creating certain sequences / flowcharts, or by interfacing different tools using APIs and the like. You can learn more about the no-code approach and the tools that support this approach at NoCodeDev and Nocode.tech.
Something About The Outsystems Platform
Initially, the user creates an account to which he is assigned a personal Cloud in the Outsystems platform, on which the applications are stored and ready for deployment. The actual creation of the application takes place in the Outsystems Service Studio. Here the user can choose from pre-prepared sample applications (1 - 2) or create his own application from scratch (3).
Figure 1 – Welcome screen when creating a new project
Figure 2 – Pre-prepared application templates
Figure 3 – Selecting type of application that the user wants to create
The user can then define the data model (2.1), business logic (2.2), processes and graphical environment (2.3) of the application. All of this can be created with simple functions or for the more talented programmers with the help of code - for example, SQL when working with a database or HTML and CSS when creating a web application. This is a great advantage and allows cooperation of e.g. designers and programmers who, in other, more traditional cases of development, might not fully understand the appearance and functionality of the application.
Figure 4– Example of a data model of a sample web application
Figure 5 – Example of one of the logical functions of a sample web application
Figure 6– Example of a graphical environment of a sample web application
Outsystems Low-code platform is an excellent choice for creating websites for all types of devices, whether it is e-commerce applications, movie databases or any internal tool needed for a more efficient operation of the company. It allows you to quickly and efficiently create an application with minimal or no need for traditional code writing and simplifies the administration process, as many of these things are taken care of by the provider. You can learn more about the platform and how it works on the Outsystems website..
Good and Bad
It might seem that this approach to development has minimal or even no disadvantages, which is to some extent true, but as with everything, there are a few to be found here. One of them is e.g. that while this form of development is more accessible to novices or people with minimal experience, long-term developers accustomed to looking at lines and lines of traditional code may have a problem with the graphical environment, which can be limiting for many. Some people simply prefer to do everything from scratch.
It is also worth mentioning the fact that thanks to similar technologies, the number of people needed to create and maintain such an application is significantly reduced. What a small team would be needed for with a traditional approach can be done by two people without any problems. There are, of course, arguments on both sides. For a company, this represents a cost reduction, but for some positions this fact may be an existential issue. What do you think about the use of low-code platforms?