How to choose a low-code platform?

foreword

The basic steps of developing software in China are as follows: first
look for open source products (git), see if there are similar ones, if so, find them and change them; (or directly change the logo) if you
can’t find something that can be used directly, then Just find a few products and "fight" them. In this case, you can usually find a lot of related frameworks and similar open source products. Finally,
do technology selection, and use all the found open source frameworks, front and back, like building blocks. "Build it up", the product structure is complete.
After the project is completed quickly, the functions and performances are tinkered with according to the requirements of customers or leaders.
Perhaps for some small and medium-sized projects that require fast delivery, this can be done. But I found that many large-scale platforms and technology-based projects also do this. Recently, I have seen a lot of low-code platforms, all of which are made in this way, and even the positions of icons on several platforms are the same.
The biggest feature of these platforms is the "stacking function", which is a low-code platform for "function acceptance or bidding documents". It is difficult to operate and use on the screen, and sometimes there may even be a conflict of logic control. Such a platform is actually very difficult to make a slightly more complex project, even with the templates they provide.
This is how I feel after trying out Speedy, Netease, and Haojing.
If it is really an IDE-type low-code, it is difficult to produce a good product in a short period of time. In comparison: iVX (unified and powerful), Movable Type (Microsoft), and Wuyuan (php) that are more than ten years old will be better.

product analysis

How to analyze these different types of products? I have summarized a few points, I hope it will be helpful to everyone:

What can this product do? What can it be made into? In particular, what are the supported application scenarios? What are the support systems?

A Check whether the website or itself has any pages developed through its own platform? If you don't use your own platform, how can you rest assured that users can use it? For example, all products of the iVX platform are developed iteratively through iVX itself.

B Check if the apps all look the same? For many platforms, partial template attributes, such as BI, reports, etc., can only be made in that way, which at least shows the limitations of the application or at least the weak front-end capabilities.

C calls a more complicated background logic to see if it can be realized in a non-code way? Or take a look, what is the most difficult thing to do without writing code? If this part has not been verified, it will definitely be a big pit for specific project development later. Especially the low-code platform, because it can introduce code for development, it seems to be a universal tool, but in fact this is because the code itself is omnipotent, not the platform. If there is a good low-code platform, the code is almost unnecessary (for example, 0 code), or the introduction of code is only a small auxiliary function, because the platform itself is very powerful. However, if the platform is an auxiliary, and code development is the main body, then the cart before the horse, and the low-code platform will appear tasteless.

Read tutorials, documents, demos, and templates to see if the learning resources are perfect?

A It depends on the quantity and degree of standardization. Some platforms that have just started to develop will have very little content in this area, making it impossible to learn by themselves; or at least they have not worked hard on learning resources.

B Look at the time, the closer the time is, the better. Some platforms have been in development for a long time. ). However, when I was learning Crazy Knife, I actually saw a teaching video around 2014. This shocked me, indicating that the platform has not been updated for too long.

Look at the architecture (overall architecture, front-end architecture, back-end architecture), look at products, look at fees

A Look at the architecture. First, check whether the overall architecture is B/S or C/S. It is recommended that you focus on the B/S architecture. After all, everyone understands C/S. Not only is it ugly, but it is true that this product will be eliminated sooner or later. And it is not in line with the development direction of cloud computing; the front-end architecture is best to be React, of course VUE is also okay (React performance will be better for complex single-page applications); the background is best not to be PHP, or to bind Microsoft Products related to it, such as binding Azure, Excel, SQLServer, Access... In this way, the flexibility of the system is blocked.

B Look at the product, mainly look at the product design, interactive UI, number of pop-up boxes...etc. Product attributes, good products always provide you with the shortest path, so that your cost of use becomes very low; if the product design is not good , it is possible to do the same thing, you have to increase the number of operations several times, the more operations, the longer the learning time, and the chance of making mistakes will be many times greater.

C Look at the cost, everyone will look at this, it depends on everyone's spending power, there is nothing to say. Just one point, by looking at the charging model, you can basically determine whether this product is for your group, if not, don't try it.

iVX (unified and powerful)

Based on the above analysis, I choose iVX
insert image description here

Three attributes

insert image description here
Language properties of iVX Language properties
: iVX is almost a "visual programming language", and generates intermediate code through "atomic components" + "logic arrangement", and the intermediate code is finally compiled into "front-end JS code" by the iVX compiler and "code behind". At this stage, the background code only supports JavaScript (running in Node or Deno), and will support the generation of Java, Python, C# and other codes in the future. At the same time, iVX also has the openness of programming language. Although iVX can realize "codeless programming", in order to meet the needs of the majority of existing programmers, iVX supports "embedding custom functions", "custom SQL code" and "custom CSS code". " and other code insertion functions.

In addition, this language is still "integrated with front and back", and it is all in Chinese. The language design of "front and back integration" enables programmers to have a greater dimension of use after learning iVX, and will no longer be restricted by the inconsistency of front and back development languages, and the transition is easier. And "full Chinese" means that most of the documents and materials will exist in "Chinese", which provides more possibilities and a faster learning environment for the vast number of Chinese developers whose "English is not very good".

Cloud attribute of iVX (cloud-native)
cloud attribute: iVX realizes the separation of "application" and "running resource"; DB, function computing, object storage, CDN, etc.) are separated from the program itself, that is to say, if the iVX generation program is placed on the AWS cloud, then AWS resources will be used, and various concurrency and computing capabilities depend on the capabilities of AWS. Reasonably, if it is placed on Alibaba Cloud, it depends on Alibaba Cloud's own capabilities. Of course, users can also deploy it independently in their own computer room. At this time, the back-end concurrent capability depends on the user's own computer room equipment environment.

Tool attributes of iVX Tool attributes
: iVX has its own IDE (integrated development environment). "Secondary development" and other operations, that is to say, directly complete the "full application life cycle" management on one page, minimize the development and operation and maintenance process, and realize "DevOps" from the product. Moreover, the exportable front-end and back-end codes are directly generated, and developers don't have to worry about being bound by the platform.

Two capabilities of iVX

Code generation ability
For some programmers who are used to writing code, they can directly use iVX as a "code generator". Whether it is front-end or background code, iVX can be quickly generated after compilation. During the process, iVX will first generate an AST abstract syntax tree, and then generate the corresponding code based on the AST. If it is another application (such as a WeChat applet), it will be compiled into the corresponding native code of the WeChat applet.

Note that although iVX can export codes like Javascript, developers are not recommended to directly modify the code itself, because once modified, it can no longer be imported into the iVX IDE system for secondary development.

"Turing complete" logic capability
iVX forms a set of "self-consistent" and "Turing complete" logic system, and reuses this logic system in the logic processing of the front and back. This is a "trigger-based" panel system that can be expanded linearly, which has certain advantages over Mendix's "flowchart"-based logical arrangement system.

insert image description here

What applications can iVX develop?

iVX is a fast-growing code-free visual programming language, which can now completely cover the development of almost all operating system applications, including:

  • WebApp (encapsulated through a web browser, can support various small programs, Android/iOS App, Win/Mac/Linux App)
  • Native WeChat applets (iVX is specially designed for WeChat applets and makes all related components separately)
  • Native WeChat mini-games (iVX is dedicated to WeChat mini-games and makes all relevant components separately)

Enter the development IDE interface through the iVX workbench, as shown in the figure below: the
insert image description here
basic development mode of each type of application is the same, but has different component sets and basic configuration settings. Therefore, once the application is created, the application type cannot be changed. We need to determine the application type to be created before development.

webApp/small program/native application
This type of application, hereinafter referred to as "web App", is essentially a web application, which can be published as a pure web application (ie html5 web page), or through the packaging service provided by the ivx platform, packaged into various Small programs (currently support WeChat, Alipay, DingTalk) and native applications (ios, android, and windows/mac). Whether it is a small program or a native application, the packaging service of the ivx platform uses the method of webview (browser embedding) to embed the pages we make into other applications. At the same time, ivx provides various system interface layers, which allow us to call the interfaces provided by applets or native applications in applications, such as geographical location, device interface, file interface and so on.

When creating a web App, we can choose a relatively positioned stage or an absolutely positioned stage:
insert image description here
Among them, the relatively positioned stage, the stage and the page default to the relative positioning environment, that is, the flow layout; the absolutely positioned stage, the stage and the page default to An absolute positioning environment, where the position of each object is manually specified by the user. If you are familiar with the iH5 platform, you can choose the absolute positioning environment, and its experience is exactly the same as that of the iH5 platform.

Regardless of whether it is an absolute or relative positioning stage, when created by default, the window size is 375*667, which is the size of the mobile phone window. We can use the window size switch button in the upper right corner of the toolbar to adjust the project to the size of PC or pad to make the application of the corresponding scene: when the
insert image description here
application is published, we can choose any type of application supported by the system to publish:
insert image description here
WeChat Mini Games
WeChat mini-games are a special type of mini-program newly launched by the mini-program platform. (When applying for a mini-program, you need to apply for the type as a game before you can upload a mini-game)

The mini game can choose 2D or 3D type, 2D type mini game, its interior is a pure canvas environment, 3D type mini game, its interior is a 3D world. Since the mini-game root of a WeChat mini-game must specify an environment type, we can only create pure 2D or pure 3D mini-games, which cannot be nested.

In addition to being uploaded to the WeChat platform, mini games can also be directly published as web applications, opened and disseminated in browsers:
insert image description here
WeChat Mini Programs (native components)
WeChat Mini Programs (native components) are a unique type of WeChat Mini Programs. Among them, the components use the native components provided by the applet, and the components extended on this basis. This type of applet and the first web App version of the applet have their own advantages. We can choose the type of applet we need to make according to our own needs. The difference between the two WeChat Mini Programs will be detailed in the next section.

Wechat applets with native components, similar to wechat mini games, can also be directly uploaded to the applet platform, or directly published as web applications (H5): Currently, due to the upgraded data logic processing mechanism of the new version (v41 version) ivx
insert image description here
editor It is temporarily incompatible with this type of WeChat applet, so this type of applet will still use the old (v40) version of the ivx editor.

Guess you like

Origin blog.csdn.net/weixin_50843918/article/details/130139088