I saw an earlier question on Zhihu: How far is visual programming now, and when can it replace high-level languages? This is the highest ideal in the visual programming industry. But one answer is true: visual programming cannot replace high-level languages. The next analysis of several domestic and foreign visual programming commercial tools (can make commercial products), so as to analyze the shackles of visual programming, and the possible development prospects.

Several commercial visual programming tools at home and abroad

1.mendix

Almost all low-code development in the industry is done in the way of building blocks. Indeed, the combination of building blocks is easy to operate, and it is in line with the habits of programmers, but the industry seems to be stuck in a creative swamp. That’s when Mendix came up to me. It’s interesting what kind of psycho thought process schema programming was (Outsystems is the same form below). To quote a basic introduction to Mendix:

Specializing in enterprise application development for B-end users, typically medium to large enterprises with development teams, model-driven ides and microflows reduce the amount of code so that business people can participate in the development process through visual components and collaborate with programmers to develop their own enterprise applications on the Mendix Platform. Enterprise solutions, templates, and support for custom UIs and components are available on the development platform. Atlas UI Framework development Framework, according to the application and business type, will recommend related templates and components, to achieve rapid development purposes. Built-in DevOps functionality, continuous delivery, and integration with other DevOps tools using the Mendix Platform API.

Can do native APP, Web system. But the function of editor itself is not perfect, the given function module can not meet all the needs of enterprise users. It has full stack capability and recently introduced socket, but its design is not very suitable for the domestic ecology. Access to wechat and other extra configuration, very annoying. Editor interface itself is hard enough, flow chart drawing itself is a classic and difficult visualization, arrows are also very intuitive. The tool can only be registered by enterprise or student email, interested students can register to try.

2.Outsystems

Like Mendix, it is a visualization tool for the enterprise. Registration requires an enterprise email address. Earlier versions contained only basic front-end UI components, which are now much richer. Support for data-driven list components, each of which has a wrapped event (this is similar, depending on the design of each tool, you can email if you need to). CSS style editing is extremely complex, basically native CSS, without any encapsulation, and is basically done by the front-end programmer.

3.ivx

The V4 version created by the IH5 team is at the top of the contempt chain among the domestic web editors. For a programmer, JS can be used to develop to meet the sense of accomplishment of their work, but IVX can achieve effective docking for developers without programming foundation. The number of ivX components is not the largest compared with foreign products, but it is the most suitable for China’s development needs, comprehensive encapsulation of wechat functions, support convenient authentication login (encapsulated to take openID/UnionID method), support wechat payment/red envelope, a variety of mobile terminal selector, live components (limited to enterprise users). Support wechat small program, Web development, native APP (4.1beta), back-end interface/database operation is relatively simple. For domestic outsourcing practitioners can indeed save personnel and learning costs, but even so, visual programming still has its unsolved limitations.

limited

1. Functional/performance limitations

Looking at the products introduced before, even the most functional ones are still weak compared to a language. To say that visualization can replace high-level languages, even if it can replace traditional programmers in mid-range products, is to say that no natural resources are needed to make parts, and that no matter what new materials or processes are used to make parts, they are made from natural resources. Development with high-level languages is like making pieces out of ore and putting them together. Visual programming is like taking existing pieces and putting them together. Parts can only be used by others. Although ivX and Mendix have the ability to customize components, they are still packages for existing components and do not really have a perfect w3c interface. How much operating space does a high-level language have? Just think that 3-4 years ago JS could write artificial intelligence. How do visual tools write deep learning? Only external interfaces are expected to be referenced.

Performance issues are not to mention, since visual programming is aimed at developing commercial products, it restricts the execution of programs to be single threaded, and ultimately emends the user’s JS into the final package with EVIL. Therefore, no editor dares to open web Worker functionality.

2. Social factors/chaotic ecology/no standards

Those of you who have spent time in Dachang must have wondered why they were constantly remaking wheels. There are so many packaged libraries on the Internet, why can’t they be used directly? Security issues, legal issues, technology reserves, these are the social nature of human development. When a hidden protocol was found in React, Baidu rewrote the code overnight and then used the modified framework to develop it.

Different from open source frameworks, visual editors are the products that the development team depends on. Except for Massachusetts Scratch and Pblock, which are public interest visual open source projects for education, other products, whether TO B or to C, are basically charged. (Outsystems and Mendix are free for college students. Ivx is free for a certain amount of data, and most other domestic products are charged for use). The first problem that this leads to is the lack of ecology. If one wants to learn and use the technology, he or she has to be restricted by some conditions. Then the students or beginners would rather choose the technology recognized by the industry. The second problem is that the market is not dominated by one or more vendors (think of the FPV ecosystem before DJI came out with digital graphics kits), resulting in a one-by-one standard. A programmer skilled use five mainstream language three framework is about the same, because the mainstream language is so much, but hundreds of the visual programming on the market company, and do well are the research, there is no uniform standard, each feature and highlight is different, who choose is a big problem, are afraid that you didn’t have enough time. This confusion led to white confusion and programmers disdain, it is better to learn the basis of their own development.

3. Lack of relevant research

The concept of low code develop has been around for a while. How many technical articles are there? First, check the status of foreign research from Eric. There is no corresponding research at all. How miserable it is:

conclusion

Visual programming is unlikely to replace high-level languages anytime soon. First of all, the development of the market fell into the defensive trend, really have to appear similar to DJI involved in FPV development, Tencent out of small programs and other events, a big factory involved in a set of things and then the main push, change everyone’s programming habits and then visual programming immediately into everyone’s vision cut gradually formed a set of ecology. Otherwise, visual programming remains a niche development approach.

From a technical point of view, a graphical IDE can not do the integrity of a language, as a development solution, visual programming to do icing on the cake, simplify the development process, save development costs, improve the final compilation results, instead of the general Web/small program project development mode is completely no problem.