Two things are true of business software systems. The first is that they need to be customized in order to work with a given company’s existing processes and infrastructure. The second is that they need 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 a third truth – cheap. High performance, scalability, user-friendliness are all important. 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. In order to meet the aforementioned criteria, system development is moving away from hand-coding, toward constructing customized solutions out of ready-made blocks and toolkits.
In its 2014 report, “New Development Platforms Emerge For Customer-Facing Applications,” Forrester Research first introduced the term low-code to describe the category of “new app-delivery thinking.” This term was also used by Gartner in its 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 modern name for rapid application development (RAD) tools first introduced in the 1980s. These tools were introduced as alternatives to traditional text-based development platforms. Early 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, early RAD tools implemented visual drag-and-drop mechanics, graphical data and behavior 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 their own tools, such as large integration libraries, connectors, or customizable templates, so they allow developers to integrate many third-party tools into their low-code platforms.
In order 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 very easy to build a solution from the scratch because the basic functionality of accounting systems is 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, as basic accounting patterns. These patterns are 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:
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:
Create tables in the database to store information about the document.
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 in order to read and write the document's data.
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 simply 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 to function 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 is enabled by a predetermined data structure oriented toward performing business tasks. All code-based development in the 1C:Enterprise platform is done 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 of integrated types in order 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 obvious: developing accounting systems in 1C is quick and easy.
How real is this?
Find out for yourself: our rapid development demonstration 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.