How does iQiyi practice low code in the activity?
The author | Tian Xiaoxu
According to haibi research data, the market size of China’s low/no code market is 1.9 billion yuan in 2020, and is expected to maintain rapid growth in the next five years, and will reach 10 billion in 2024. Why is the low code market suddenly getting so much attention? How is low code practiced within the enterprise? . To answer these questions, InfoQ spoke with IQiyi technology expert Mu You, who is currently working on user growth, user interaction and H5 development, as well as building the event center.
What is the sudden popularity of low code in 01?
In 2014, Forrester Research formally proposed the definition of low code, which is a technology and tool that uses little or no code to develop applications quickly and can be quickly configured and deployed. In 2017, Gartner created a new category with the concept aPaaS(Application Platform as a service), and low-code development platforms have gained a lot of attention in the market.
That’s what researchers like Forrester Research and Gartner think of low code, but what does low code look like to developers? In Muyou’s opinion, low code is a new development mode. Based on business logic, it can be directly reused in a more convenient form through precipitation of certain technical components in similar business scenarios, so as to maximize the efficiency of business development on the basis of low cost without writing code or less code. This development pattern usually relies on a graphical development platform, which can be understood as a low-code development platform (LCDP).
Low-level, low-code development can be traced back to the early days of graphical development, by adding images to the visual area, setting up hyperlinks, formatting text, and so on, and eventually generating a web page. With the development of the Internet, the product form of business system is developing rapidly. Simple picture display is no longer enough to support business development. There are more and more complex interaction forms in the page, which poses greater challenges to the development work. As a result, low-code development becomes more complex, involving the deeper logic of the business, such as complex considerations related to server-side data and logical processes.
According to Gartner research, low-code platforms will be used for 65% of application development by 2024. Why the sudden popularity of low code? MuYou believes that the current Internet developing rapidly, all kinds of products on the market competition is intense, the market changes quickly, the business requirements of emergency cases, the business requirements and the deepening contradiction between development resources, limited development resources and huge workload guide developers hard to respond to demand, easy to miss the market opportunity. Therefore, developers are eager to find effective ways to improve the development efficiency to solve this dilemma, and low code is just such a new mode of development efficiency, naturally attracted more attention.
Muyou said that low code products on the market can be divided into the following categories:
1) Configuration class: the business logic or page template is abstracted into JSON syntax, and the page with new content can be generated as long as the JSON content is developed, maintained and edited.
2) Component drag and drop classes: This category can be further subdivided into two branches: the first branch abstracts the underlying components based on business and integrates them into a low-code platform where developers, even non-technical students, can drag and drop components directly to generate pages. This method is flexible, convenient and low cost. The second branch is a deeper approach by encapsulating more atomized components of logic functionality and then rearranging the logic by drag and drop to accommodate more variable requirements.
3) Generate classes automatically: a tool like imgCook can turn a design draft directly into front-end page structure code that can be logically encapsulated.
Of course, the industry also has some low-code platform classification, for example, can be divided into four types: scenario application type, product development type, platform ecological type, technology enabling type.
In summary, low code development is suitable for businesses where more highly reusable components can be abstracted from past cases and scenarios can be abstracted into basic models. The basic model can be encapsulated components or apis, such as relatively fixed product forms: product introductions, active pages, and so on.
02 IQiyi activities in Taiwan low code practice
According to a KPMG survey, the fragmentation of the organization has accelerated the development of low code over the past year. Since the COVID-19 outbreak, the number of executives who list low code development platforms as their most important investment has tripled from 10% to 26%.
So how can low-code development be practiced within an enterprise? According to Muyou, a common low-code practice can be divided into five stages:
1) Initial business survey: to see whether the current problems are suitable for low-code platform to solve;
2) Reusable component units based on existing business abstractions;
3) Integrate accumulated components and tools into a low-code platform;
4) The low code platform is responsible for better editing experience and has the ability to combine rendering of various components;
5) Output business results: generate usable pages, logical arrangement and apply them to specific businesses to achieve rapid iteration and experience optimization, so as to improve the overall production and research efficiency.
Muyou’s team started to practice low code from the third quarter of 2019. At that time, iQiyi had a lot of repetitive work on the development of activity business. As long as it received a demand, no matter the size, it was all customized development, which was not only inefficient but also a waste of resources. Long-term repetitive work made developers lose patience and passion, so from then on, the technical team consciously accumulated common components and developed page templates so that operations could directly configure and generate active pages. Over time, the common components accumulated more and more and became a platform.
Many technical teams within IQiyi have carried out low-code practices based on their respective business areas, with different implementation methods. The technical team of Muyou built the activity center based on the React framework. The low code drag and drop part used the plug-ins such as React-DND and React-Rnd to carry out drag-and-zoom operations.
One of the most important functions of the activity center is to get through the completion link of the activity life cycle: activity construction — intelligent delivery — data analysis. In the activity building process, the technical team integrated and encapsulated the most frequently reused components in the activity business, including dozens of components such as text and text mixing, various forms of lottery, voting, comments, and playback. The operation students could directly drag and drop components in the activity platform to generate various activity pages. It is understood that this platform has been used by more than 40 business lines of IQiyi, and over 4000 active pages have been generated in one year, greatly improving the operation efficiency.
Three key issues with low code practices
Although the developers in the practice of low code process will be different because of the business system, the original technology stack, and lead to inconsistent implementation schemes. However, in the process of practice, we will face some common problems, this paper we list three common key problems.
The first question is how do low-code platforms integrate with existing systems? Muyou said: The main functions of the “low code platform should be based on the existing development mode abstract accumulation of component integration, so the basic ability is derived from the existing development system, developers should reasonably based on the existing development system, the output of the component code synchronization to low platform more conveniently, low code platform at the same time the effect of the final output need to get through, with the company’s other system directly to launch. That’s how you connect the whole link.”
The second question is how do you determine which features are suitable to integrate into a module on a low-code platform? “We often choose to abstract a functional module with complete logic into a minimal component to integrate into a low-code platform,” says Muyou. Specifically, the function of this smallest unit can be basically closed loop without relying on other functions. Sometimes there are components in the business that can be combined to land on the platform.”
The third question is what is the most critical in the practice of low code platform, what is the perfect low code platform? “The key thing to do with a low-code platform is to start with the business,” Says Muyou. Because realizing business requirements is the end goal and development is just the process of realizing it, the key is to have a deep understanding of business characteristics and be able to determine if low code is appropriate. “The perfect low-code platform is one that allows users (developers and operators) to implement more scenarios in a more convenient and comfortable way, but this is a process that needs to be optimized over time.”
Maybe you’d like to see more
Low code, Medium Taiwan: iQiyi micro service workflow practice
How does GraphQL land on a low-code platform?