Low-code and no-code development
Table of Contents
Definition
From wikipedia:
A?low-code development platform?(LCDP) provides a development environment used to create application software through a graphical user interface instead of traditional hand-coded computer programming.
In short, low-code is a software development approach that requires little to no coding to build applications and processes. Instead of using complex programming languages, you can employ visual interfaces with basic logic and drag-and-drop capabilities in a low code development platform.
Motivation
For several decades, organizations have had two alternatives when they needed new information systems. They could build a new system using their own developers, or they could buy a system from an external vendor.
Today, however, there is a third alternative that is becoming increasingly popular. Low code/no code (LC/NC) applications can provide a close fit to business requirements, can be implemented quickly, and typically cost much less than systems developed in-house. These applications don’t accomplish these benefits by magic, they turn over development to users instead of professional system developers.
Users with no advanced knowledge of coding or software creation may use these intuitive techniques to build software for several purposes, such as creating mobile and business applications.
As they are a quick and simple alternative to conventional software development, these platforms have grown in popularity. A low-code framework can be used by technical and “citizen developers” (non-professional development) to build applications of a wide variety to fulfill market demands for growth, simplify processes, and facilitate digital transformation.
Instead of conventional hand-coded computer programming, a low-code development framework offers a programming environment for creating software applications via graphical user interfaces and configuration. Low-code creation frameworks provide IT customers the ability to incorporate building blocks into workflows and apps. These basic elements abstract away the code behind actions and orders, allowing IT to create interfaces and business applications without having to code them by hand.
Features
Model-Based Development
It’s always faster to?create apps?using visual methods and models. This makes it even easier for business users, as they know and understand the logic of what they want to create. Good low-code tools will enable them, not hinder them.
Drag-and-Drop Interfaces
Drag-and-drop should be at the top of your list when it comes to requirements in low-code platform. This isn’t just a convenience, it’s a necessity. Citizen developers need this to create their applications, and it makes the life experienced developers easy as well.
Re-usability
Most major functionalities are already pre-built into modules that can just be dragged and dropped wherever required. That’s a big part of re-usability.
Out-of-the-box functionality
out of the box software is provided by leading low-code platforms, which removes the need to create key components for applications from the start. Some low code systems, for example, provide data storage or customer-facing app components, such as service management or sales process management.
Scalability
Scalability is essential for low-code systems. It should create applications that can accommodate a rise in users as your company will expand. It should be able to accommodate twenty as well as twenty thousand employees.
Types of platforms
Depending on what your requirement is, there are different categories of low-code platforms which are for example:
Low-code vs. no-code
Low-code and no-code systems offer the same fundamental benefits, but their names indicate the key difference between these two methods of application development.
Low-code development requires users to do some level of coding, even much less than is required with traditional application development. Professional developers and programmers use low-code to quickly deliver applications, and to shift their efforts away from commodity programming tasks to more complex and unique work that has bigger impact and more value to the organization. Non-IT professionals with some programming knowledge also use low-code tools to develop simple apps or expanded functions within an app.
领英推荐
No-code development targets nontechnical users in various business functions who understand business needs and rules, but possess little or no coding experience and programming language skills. These citizen developers can use no-code to easily and quickly build, test and deploy their business apps, as long as the chosen tools align with these commodity functions and capabilities.
The line between no-code and low-code isn't always clear and this carries over into the low-code and no-code platforms themselves.No-code platforms are a specialized type of low-code cloud platform in which the required visual components address industry-specific functions.
Use cases
Low-code and no-code development platforms can be used to create apps for various business or technical purposes provided that the apps have no complex programming requirements and require little or no customization.
LC/NC software development approaches support a variety of application types. Small business transactional systems are perhaps the most common. These are applications that process business transactions tools such as human resource management (e.g., performance appraisal), reservation management for restaurants or other experiences, order quote creation, field service management, and so forth. Large firms might have expensive packages or custom-developed programs to perform them, but small businesses can generate their own easily.
Another common one is small-scale automation capabilities. Automation of large-scale enterprise processes and workflows should generally be done by professional developers, but many firms also have smaller workflows to automate. Like more sophisticated robotic process automation, the LC/NC versions can reach into databases, email, and transactional systems, and perform tasks as if they were a human user working on a computer. This means that it can be easily applied to small tasks that an individual would typically have to attend to including interactions with office productivity software such as spreadsheets, word processing, and electronic file folders.
Vendors
An incomplete list of some of the most common low-code platform vendors and tools includes:
Challenges
Although many organizations embrace these platforms to rapidly develop new business apps, they also contend with the problems and?challenges?generated by these platforms.
Because these tools are low-cost and easy to use, organizational leaders can, and often do, lose track of what their employees are building. This could mean there's no visibility or oversight to the data being generated, used or even inappropriately exposed in apps. It also could contribute to more shadow IT.
Another potential challenge is how to manage, maintain and scale these apps, as well as the potentially escalated infrastructure and storage costs associated with the proliferation of development activity enabled by these platforms.
Additionally, organizations may find that some tasks for which citizen developers or professional development teams have used these tools weren't well-suited to low-code and no-code methods or platforms, and this could represent a significant waste of resources.
Future
Industry experts predict the?future of low-code?will see continued enterprise adoption, especially for fast development and specific business needs.
According to?Gartner, Inc.’s latest estimate, the global low-code development technologies industry will be worth $13.8 billion in 2022, up 22.6 percent from 2021. Despite continuing cost management campaigns, the boom in remote production during the COVID-19 pandemic will continue to fuel low code adoption.
Is low-code able to replace custom development ?
Low-code exists thanks to developers. Before there were low-code platforms, there were developers with a strong set of coding skills. They are responsible for its genesis because as you might have guessed, low-code platforms?actually?run on code.
As a result low-code won't entirely replace traditional application development.
In fact, low(er) code has always been happening. First there was machine code, then assembly language, and do so on. Since the beginning of our relationship with machines,?we have been moving into higher levels of abstraction.?Low-code platforms, where graphical tools are used to generate code,?is just a new level of abstraction.
As more tools and abstraction get introduced, the more complex software and systems will become?so the industry needs?more?skilled developers who can handle these high levels of abstraction.
Conclusion
Low-code did not come to threaten the old ways of coding, but to make it more efficient, faster and exciting to create products, both for developers and companies.
Developers still need to have a thorough understanding of software, and this knowledge is irreplaceable. But now, it is possible to?create a culture of democratized development, where everyone in a company, regardless of their coding expertise, can collaborate and take part in the product development process.
The future of coding is bright, for everyone.
SDET | RPA Developer
3 年Finally, the client will have to know what he want :D. Thank you Hossam Mohammed for time and effort to write such an interesting article.
Software Technical Advisor
3 年more resources: https://en.wikipedia.org/wiki/Low-code_development_platform https://www.zdnet.com/article/special-report-what-is-low-code-no-code-a-guide-to-development-platforms/ https://www.outsystems.com/blog/posts/low-code-vs-no-code/