Author: Zhen Zi

concept

What is low code/no code development? Is there a different understanding of low code/no code development in the industry?

The prevailing view in the industry is that low code is easier to build systems, and no code is graphical and visual programming. This view places low-code and no-code development in the UI and logic, respectively, defining the problems to be solved by tool attributes and visualizing programming. The other view is to regard low code/no code as two stages of a method, just as there are six different stages for the autonomous driving L0 ~ L5. The concept of human-machine co-programming, which I proposed in the article “Human-machine Co-programming Approach”, is divided into two stages of low code/no code. I agree with the second view more than the first one, not only because it is put forward by me, but also because the second view defines, analyzes and solves problems from a unified perspective of software engineering, while the first view is only partial and process optimization rather than disruptive innovation.

As Jack Ma said when he taught young people entrepreneurship in Hong Kong, the steam engine and electricity have liberated human physical strength, while artificial intelligence and machine learning have liberated human brain. When evaluating the unemployment caused by steam engine and electricity, Mr. Ma said that with the progress of science and technology, human beings have been liberated from heavy manual labor and gradually transferred to mental labor, which is the progress of human society. Today’s “human-computer collaborative programming” liberates software engineering from assembling UI and writing business logic, and gradually transitions to high-technology work such as business ability, basic ability and low-level ability. See more: Front End Intelligence: The Road to Thinking Change

What is the difference between low code development and no code development?

Following the above answer, since low code and no code belong to the two stages of “human-machine collaborative programming”, low code is stage 1, and no code is stage 2, corresponding to “human-machine collaboration” and “human-machine collaboration” respectively. The biggest difference between collaboration and collaboration is that the mind is on the same page. Low code or no code, there is the object of service: the user. Users, programmers and non-programmers alike, have a common goal: to generate code. Whether it’s source development, low code, or no code, you’re describing your program in different ways: code, graphics, DSLS… And so on. In the phase of “human-machine collaboration”, these descriptions have various limitations, constraints and narrow business scenarios. In the stage of “human-machine collaboration”, restrictions and constraints are reduced, and the business scenarios of application are also broad. “Mind to mind” refers to the learning and understanding of descriptions through AI to reduce restrictions and constraints and adapt to more business scenarios. Therefore, the biggest difference between traditional low code/no code and “human-machine co-programming” generated code is intentional and unintentional, the machine is intentional and the platform is unintentional.

background

What is the relationship between low code/no code development and some of the classic ideas, methods, and techniques in software engineering, such as software reuse and component assembly, software product lines, DSL (Domain Specific Language), visual rapid development tools, customizable workflows, and the previously popular mid-platform concepts?

From libraries, frameworks and scaffolding, software engineering has embarked on the pursuit of efficiency. On this path, low code, no code development is the hope. Reuse, componentization and modularization, DSL, visualization, process choreography… Both are trying to achieve something big, either at different stages or in different ways, but both are still thinking within the realm of software engineering. The mid-stage concept is more proposed from a business perspective, and the similar concept in software engineering and technology is more called platform. It is not only an attempt in the process, but also an overall and systematic attempt to innovate. I proposed that the front-end intelligent “human-computer co-programming” should belong to the software engineering and technology field, and the new business RESEARCH and development mode of “demand-and-production” I proposed in the business field similar to Zhongtai belongs to the business field. The concepts are nothing more than left and right, up and down, old and new.

Also, what is the relationship between low code/no code development and DevOps, cloud computing and cloud native architecture?

DevOps, cloud computing… All belong to the basic technology, the change of the basic technology is bound to bring the change of the upper application layer technology. Without the containerization and elastic scaling of cloud computing, it is very difficult to be a distributed system, especially in CI/CD, deployment, operation and maintenance, monitoring, tuning… And so on link even more, what north and south distribution, remote live, parallel expansion, high availability… They all need attention. However, the development of basic technologies, such as cloud computing and DevOps, has internalized and automated the above problems, greatly reducing the cost of attention and use, which is the heart of mind, based on such basic technologies to build application layer technology, with few restrictions, constraints and can adapt to a variety of complex scenarios.

Thinking method

What are the core technologies that support low-code/no-code development?

I think the core technology of low code/no code development, which used to be “reuse”, is now AI-driven “human-machine co-programming”. Whereas low-code/no-code development in the past was all about improving r&d efficiency, today’s AI-driven “human-machine co-programming” is all about improving delivery efficiency. Therefore, low code/no code development with “human-machine co-programming” as the main means of implementation, AI is the core technology.

Is the popularity of low code/no code development an important change and breakthrough in software development technology, or is it the new vitality of classical software engineering ideas, methods and techniques with the continuous development of technology and business accumulation?

At first, computers were in the hands of only a few people. Today, almost everyone has a tiny computer in their hands: a smartphone. Originally the preserve of programmers and so-called “technicians,” today almost everyone can operate and use a computer. However, people’s operation of the computer is indirect, the need for professional people and enterprises to write software in advance, people through the software to use the various functions of the computer. With the continuous development of computer computing power and functions, as well as the digitization and informatization of society, it is increasingly difficult for people today to be satisfied by pre-customized software. Low code/no code development gives people the ability to create software that they can directly produce for their needs at low cost, in real time, and efficiently to operate many complex electronic devices and connect with the digital world. In my opinion, this is an irreversible trend and the general direction of low code/no code development.

Present situation of progress

How far has low-code/no-code development come?

imgcook

  • 2W multi-users, 6W multi-modules, 0 front-end participated in the research and development of the Double 11 promotion marketing activities, 70% of ali front-end is in use
  • 79.26% online code availability without manual participation, 90.9% restore degree, 83% Icon recognition accuracy, 85% component recognition accuracy, 92.1% layout restore degree, 75% layout manual modification probability
  • R&d efficiency increased by 68%

uicook

– UI intelligent generation ratio of marketing activities and promoting scenes exceeds 90% – UI intelligent generation of daily channel shopping guide business covers core business

  • Pure UI intelligence and personalization increased business value by more than 8%

bizcook

Preliminary completion of nLP-based requirements annotation and understanding system preliminary completion of NLP-based service registration and understanding system preliminary completion of NLP-based glue layer business logic code generation ability

reviewcook

  • Automatic scanning for capital loss prevention and control, CV and AI automatic identification of capital loss risk and public opinion issues
  • UI automated testing, data rendering and Mock driven business automated verification co-built with testing classmates
  • The AI Codereview, co-built with the engineering team, is based on the analysis and understanding of the code, combined with the identification and analysis of the online Runtime, to automatically find and locate problems, improving the efficiency and quality of Codereview

datacook

  • Community operation open source project, combined with denfo. js and its author to establish Datacook project, solve data collection, storage and processing problems in AI field by full link and end to end. HDF5 is dedicated to deep learning and machine learning, especially in the fields of large data, data set organization, and data quality evaluation. Wait for Python professional LIbrary
  • The Google Tensorflow.js team collaborated to develop and maintain the TFData Library, the core technology and foundation of Datacook, to build on the data set ecology and data set ease of use

pipcook

  • Open source github.com/alibaba/pip… Pure front-end machine learning framework
  • Use Boa to get through Python technology ecology, native support import Python popular packages and libraries, native support Python data types and data structures, convenient cross-language data sharing and call API
  • Pipcook Cloud is used to open up popular Cloud computing platforms, help the front end intelligently realize CDML, form a closed loop of data and algorithm engineering, and help developers build industrial-level available services and online and offline algorithm capabilities

What are the mature low code/no code development platforms?

How much will low code/no code development change the way software is developed today?

With the continuous development of computer computing power and functions, as well as the digitization and informatization of society, it is increasingly difficult for people today to be satisfied by pre-customized software. Low code/no code development gives people the ability to create software that they can directly produce for their needs at low cost, in real time, and efficiently to operate many complex electronic devices and connect with the digital world. In my opinion, this is an irreversible trend and the general direction of low code/no code development. Eventually, software development was bound to move from the hands of professional programmers to the masses, becoming as basic a survival skill as operating computers is today. As a result, there will be a fundamental change in the way software is developed, from complete delivery to partial delivery, from business as a whole to business capability delivery…

Looking to the future

What is the future direction of low code/no code development?

Want me to say, low code/no code development in the direction of future development must be: AI drive “human-machine collaborative programming”, will develop a complete software into provide local software functions, similar to Apple’s “shortcuts”, is determined by the user how to assemble these local software function is suitable for users of software and deliver the end user. AI drives offer value in two ways:

Reduce development costs

In the past, when developing software, you had to have PRD, interaction draft, design draft, design document… A series of requirements specifications, and then, using technical and engineering means to implement these requirements specifications. However, low-code/no-code development delivers partial functionality and half-baked products that can be used for purposes and environments that can’t be enumerated, and since they can’t be enumerated, you can’t use Swith… Case code, otherwise will be dead.

AI is characterized by predictions based on features and environments, based on an understanding of patterns and nature. Just like the AI can recognize a cat, no matter what the cat is in, no matter what light conditions, no matter what breed the cat is, the AI can recognize it with greater accuracy than a human. Imagine how expensive it is for a programmer to program a cat?

Cost reduction

Today’s building system, in essence, is the programming process with the idea of building a reconstruction, the content of the work has not changed, the cost from the programmer to the operation, products, designers. This is the second, today’s platform is technical perspective, filled with operations, products, design and other non-technical a face of meng made the concept of flowers in the answer and teach them how to customize a search box on the page of time, and after their communication source than himself time longer, and often be interrupted when lu code…

Ai-based “human-computer co-programming” does not need to reveal any technical concepts, operations, products, design… And other non-technical personnel do not change their working habits. They use their familiar tools and concepts to describe their needs. AI is responsible for identifying and understanding these needs, and then converting them into concepts in the field of programming and technical engineering, so as to generate code and deliver it, thus greatly reducing the cost of use.

For example: if your English writing ability is not good, you take landau dictionary while translating and piecing together words to write English articles of high quality? Or is it better to write the article well in Chinese and use Google Translate to translate the whole article into English? Try it yourself. The reason is that you are able to express yourself clearly only in the language and conceptual domain that you are familiar with.

What are the technical challenges around low code/no code development that academia and industry need to explore together?

When I first proposed and shared the concept of “front-end intelligence” on D2, I proposed the core process of identifying, understanding, and expressing it. I always believe that the key path to ai-driven “human-computer co-programming” is recognition, understanding and expression. Therefore, we have carried out extensive cooperation with well-known universities at home and abroad on AI recognition, AI understanding and AI expression.

identify

Identification of requirements: through NLP, knowledge graph, graph neural network, structured machine learning… And other AI technologies to identify user needs, product needs, design needs, operational needs, marketing needs, RESEARCH and development needs, engineering needs… And so on, identify the concepts and the relationship between the concepts

Recognition of design draft: through CV, GAN, object recognition, semantic segmentation…… And other AI technologies to identify elements in the design draft, the relationship between elements, design language, design system, design intent

UI recognition: regression is carried out through the results of user’s foot voting, and a posterior analysis is carried out to identify the influence degree, effect, frequency and time of UI on user behavior… And identify the relationship between the variability of the UI and the impact of these user actions

Identification of computer programs: through code, AST… And other Raw Data analysis, with the help of NLP technology to identify computer programs, language expression ability, language structure, language logic, language and external systems through API interaction

Log and data identification: Through NLP, regression, statistical analysis and other methods of log and data, identify the availability, performance, ease of use and other indicators of the program, identify the log and data that affect these indicators, find out the relationship between them

understand

Horizontal and cross-domain understanding: reduce the dimension of the identified concepts, so as to find the mapping relationship between concepts in different fields on the more abstract dimension at the bottom, so as to realize the analogy of concepts in different fields, and then understand concepts in other fields in one field

Vertical cross-level understanding: The AI algorithm capabilities of machine learning and deep learning are utilized to relax the composition of concepts between different levels and realize cross-level understanding of low-level concepts, thus forming richer technology and business capability supply and use opportunities

Common sense and general understanding: Based on the knowledge graph constructed by common sense and general knowledge, open problems faced by AI are domalized. Common sense and general knowledge in the field are regarded as the basis of understanding, not speculation and conjecture, but understanding based on theory

express

Personalization: with the help of big data and algorithms, users and software functions can be matched, and the generation ability of AI can be used to reduce the research and development cost of thousands of people, so as to truly realize personalized software service capability and push software as a service to the extreme

Empathy: using intelligent in user side deployment algorithm model, can solve the problem of user privacy protection, and can constantly changing mood, to the customer demands, scenes learning in time and to respond in a timely manner, so as to make the software from the Angle of application function, the urgent user anxious, think users want, empathy, allow the user to resonate with users. For example, when I use my iPhone to enter the subway station, iOS will recommend the Alipay shortcut to me every time I enter the subway station because I need to check the health code. I don’t need to find Alipay to open and display the health code myself, which makes me feel that iOS is very smart and considerate, which is empathy.

Afterword.

It has been three years since I put forward the concept of front end intelligence. At first, I kept the original intention of “keeping the front end up with the wave of AI development”. To “Solve front-line RESEARCH and development Problems”, I launched imgCook.com, and then to “A reliable machine learning framework for front end” open source github.com/alibaba/pip… .

Along the way, almost every day sleepless. Really want to subvert the current programming model and research and development model from the essence is not easy? In this process, we changed from a group of pure front-end to front-end and AI crossover programmers, the way of development from writing code to machine generation, people around from the sidelines to actively participate in, just like the saying: remember, there will be echo. Low code/no code development is flourishing, the general technology, scientific research personnel in this direction was making, no method is Silverbullet, no theory is absolutely correct, as long as find love in your heart, adhere to the research and practice, will allow everyone to custom software to operate an increasingly complex and powerful hardware, Finally, it will make it easier, more direct, and more effective for everyone to access the digital world, finally redefining the field of software development and software engineering in essence! ‘!