Starting from the basics, this course covers low-code/no-code application development. Here, we already have three distinct terms "low-code", "no-code" and "application development". Let’s first define "application development". I’m sure you know what applications or "apps" are. They are on your phone, in your browser, possibly on your television, and conducting your work or hobbies most likely involves the use of one or more applications. Application development refers to the building of these applications, which is the topic of this unit.
Low-Code and No-Code
Low-code and no-code (LCNC) are terms that have been covered in previous units of this learning journey, but we will briefly review them here. These descriptions both refer to a new style of application development. Traditionally, building applications has largely required the use of programming languages and related development environments.
With a new generation of LCNC tools and platforms, it has become possible to develop applications without the use of programming languages, which greatly reduces the barrier of entry for anyone looking to take up application development.
While there are no strict requirements to categorize LCNC platforms, in general, a "no-code" platform replaces traditional programming language-based tooling with a suite of visual development tools that streamline the application development process. Comparatively, "low-code" uses a both traditional programming language-based environments and no-code platforms.
Characteristics of LCNC Application Development Platforms
As mentioned, LCNC application platforms favor visual development tools over traditional programming language-based ones. Some examples include:
- Visual drag-and-drop based editing for the user interface, also called "what you see is what you get" or WYSIWYG
- Visual drag-and-drop editing for workflows and logic
- Rich preview capabilities to easily see the app you're developing as it runs on a browser or a device
- Visual tools for working with data
- A library of pre-built components and assets to speed up development
- An integrated developer experience, where the majority of the tools can be found within a single environment
A low-code/no-code platform will typically also cover, in some way, debugging, deployment, and security aspects of application development.
A Simpler Way to Build, But Just as Powerful
What is important to understand is that LCNC environments offer a simplified building experience, but they leverage exactly the same kind of code and tooling as traditional development environments, and are, therefore, capable of delivering the same end results.
Once any application has been built, there is no immediate way to tell how it was built. Applications built with LCNC have no inherent compromises or disadvantages compared to apps built with traditional development environments. It all depends on the use case and feature set required to create the application.
A question often asked is if low-code/no-code platforms would be appropriate for some scenario, XYZ. This is always going to be case-by-case and depends entirely on the specifics of the use case and the development platform.
In summary, LCNC technology is relatively new to the enterprise, and it can be recapped as follows:
- A no-code platform replaces traditional programming languages with a suite of visual development tools.
- A low-code platform mixes aspects of traditional development environments and no-code environments.
- In principle, low-code/no-code tools are capable of exactly the same end results as traditional development tools.
How suitable a LCNC platform is for a given project depends on the specifics of that project, just as it does with traditional development tools.
That means that it is not just the citizen developer who stands to benefit from LCNC platforms. The professional developer can also use these tools to simplify their work while still achieving a sophisticated result.