Business application development: Low-code approach
Tags: programming, 1centerprise, lowcode, developers
Published: 2020-03-02 12:27:01

Two things are true of business software systems. The first is that they need to be customized to work with a given company's existing processes and infrastructure. The second is that they needed to be ready yesterday. Or, depending on how long the seemingly disruptive process of upgrading and switching over has been put off, last year.
The takeaway is that business application development tools need to be fast, flexible, and, if we're willing to admit the third truth – cheap. High performance, scalability, user-friendliness are all critical. Modern corporate systems need to be able to work in different environments, support companies of any size, and be able to change on the fly. However, the best business software in the world is no good if you fail to deliver as per contract.
Thus, the best application development tools are those that can build robust software, tweak it to match the client's structure and workflow, and, most importantly for the developers, get it finished/integrated/deployed on time and under budget. Which brings us to low-code development tools? To meet the above criteria, the development of the system moves away from manual coding in the direction of building individual solutions from ready-made blocks and toolsets.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/o2nh9ddzmqp7ff0of48s.png)

In the report of  ["New Development Platforms Emerge For Customer-Facing Applications"](https://www.forrester.com/report/New+Development+Platforms+Emerge+For+CustomerFacing+Applications/-/E-RES113411), Forrester Research first introduced the term low-code to describe the category of "new app-delivery thinking." Gartner also used this term for reports and forecasts regarding the evolution of business application development.

>###"By 2020, 75% of all IT business solutions will be custom-built.
>###By 2024, low-code application development will be responsible for more than 65% of application development activity."
#####Gartner, Forecast Analysis: Enterprise Application Software, Worldwide

Low-code development is not new. The term is, in many ways, a new name for rapid application development (RAD) tools first introduced in the 1980s. These tools were introduced as alternatives to traditional text-based development platforms. Previous RAD tools focused on quick, iterative development methods over traditional waterfall techniques, thus reducing overall developer skill requirements in exchange for constrained functionality, user experience, and efficiency. RAD tools evolved quickly and concurrently with other innovations of the times, e.g. integrated development environments (IDEs), graphical user interfaces (GUIs), networks, and client/server architectures. In particular, previous RAD tools implemented visual drag-and-drop mechanics, graphical data and behaviour models, prescriptive architectural frameworks, and templated components. RAD features spread quickly among virtually all distributed development platforms.

The best low-code development platforms incorporate vital low-code development tools right into the platform. Form templates, tool creation wizards, automatic database integration and table generation, allow developers to focus on business logic instead of code. Using a domain-driven design approach, drag-and-drop interfaces, and the ability to use familiar IDEs, developers have everything they need, literally right at their fingertips. Conversely, the wiser low-code platform vendors recognize that developers often have own tools, such as large integration libraries, connectors, or customizable templates. It allows developers to integrate many third-party tools into their low-code platforms. 

###To create business applications and enterprise solutions, 1C has created the 1C:Enterprise platform. 

1C:Enterprise isn't just a framework for quickly creating code and databases. Its capabilities are much broader.
It is effortless to build a solution from scratch because of the basic functionality of accounting systems implemented using integrated objects. A well-thought-out system of integrated objects makes 1C:Enterprise a powerful business application development tool. Developers do not have to create a data access layer, a basic UI, etc. Instead, they can get straight to solving business tasks. Many tools for dealing with these business tasks have been implemented in integrated objects (basic libraries), including support for hierarchical registers, accounting machines for basic and stock accounting, mechanisms for complex regular payrolls, and much more.

Developers receive integrated objects (registers, documents, ledgers, etc.) out of the box, implemented by the platform, like basic accounting patterns. These patterns implemented in the application (known as a "configuration" in 1C parlance) by populating them with specific business logic.

We asked our community why they chose the 1C:Enterprise platform for developing business applications, and the most popular answers were fast development speed and a low learning curve:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/34omls72ftsp4ezft62c.png)

The low barrier of entry for new developers is provided by 1C's low-code development environment, which uses straightforward visual editing for a wide range of development cases.

Let's consider a typical business task: we need for our system to support and process a new type of document in the system – a work order, for instance. A system written in a "standard" code-heavy development environment would require the developer to do the following:

1. Create tables in the database to store information about the document.

2. Create a class (or classes) to implement the business logic for working with the document. Besides business logic, these classes must also enable communication with the database to read and write the document's data.

3. Create a user interface for editing the new document type. Frequently, this also means having to create a form to display the document list, with enabled field search, etc.

In 1С, you describe the fields of the new document in a visual designer and write code to implement the business logic specific to the document (for instance, what accounts to debit/credit with the money tracked in the document). The platform takes care of everything else that's needed for the new document type of functioning in the system.

Software development platforms need to enable developers to move away from low-level details (OS peculiarities, database management systems, etc.) and instead focus on pure business logic. Development platforms can take that one step further by including automated system administration tools and web/mobile porting mechanisms.

###Why is application development using the 1C platform faster?

High-speed development for enterprise enabled by a predetermined data structure-oriented toward performing business tasks. All code-based development in the 1C:Enterprise platform using a high-level domain-specific language in a conceptual model that closely approximates business processes.

This approach deliberately limits application developers by having them select the needed object type from a reasonably limited range for integrated kinds to solve their tasks. As a trade-off, the developer receives rich functionality implemented by the platform and genuinely rapid development. The advantages of this approach are apparent: developing accounting systems in 1C is quick and easy.

###How real is this?

Find out for yourself: [here is our rapid development demonstration](https://1c-dn.com/1c_enterprise/getting_started/) which shows you how to develop, in 30 minutes, a simple accounting solution that will function identically on all major desktop operating systems and mobile devices.