Baidu open source low code front-end framework, support web and mobile page development

Baidu open source low code front-end framework, support web and mobile page development

2022-09-02 1 1,526
Resource Number 38010 Last Updated 2025-02-24
¥ 0HKD Upgrade VIP
Download Now Matters needing attention
Can't download? Please contact customer service to submit a link error!
Value-added Service: Installation Guide Environment Configuration Secondary Development Template Modification Source Code Installation

This issue recommends a low-code front-end framework that is open source by Baidu——amis。

After more than ten years of development, front-end development has become more and more complex, the threshold is getting higher and higher, to use the popular UI component library, you must understand npm, webpack, react/vue, must be familiar with ES6 syntax, and it is best to understand state management, such as Redux, if you have not been exposed to functional programming, Light is very difficult to get started, and after getting started, you will find that it has a huge ecology, there are 2347 related libraries, many functions are similar, and the selection cost is high.

However, the development of front-end technology will not stop, and after learning this, you may find that everyone has replaced Webpack with Hooks and some packaging tool. You don’t need to know React/Vue, Webpack, or even JavaScript. Even if you haven’t studied amis, you can guess what most of the configurations will do. For most common pages, you should use the simplest way to implement them. You don’t even need to learn front-end frameworks and tools.

Baidu open source low code front-end framework, support web and mobile page development插图

amis Highlights

  • No front-end knowledge required: Inside Baidu, most amis users have never written a front-end page before and do not know JavaScript, but can create a professional and complex background interface, which is not possible with all other front-end UI libraries.
  • Not affected by front-end technology updates: The oldest amis pages inside Baidu were created more than 4 years ago and are still in use today, while the Angular/Vue/React versions are now obsolete, and the popular Gulp has been replaced by Webpack. If these pages were not in amis, they would be expensive to maintain.
  • Enjoy the continuous upgrading of amis: amis has been improving the interactive experience of details, such as freezing the first row of the table, no deadlock under the drop-down box big data, etc., the previous JSON configuration does not need to be modified;
  • amis has a large number of built-in components, including rich text editor, code editor, diff, condition composition, real-time logging and other business components. Most of the background page development only needs to understand amis. You can also extend components by customizing them. In fact, amis can be used as a regular UI library.

Baidu open source low code front-end framework, support web and mobile page development插图1

Low code visual editor

amis is positioned as a low-code front-end framework, so we only cover the low-code part here. If you want to use pure JSON configuration to complete page development, then check out the documentation. Of course, you can also use a mixed pattern of 90% low code +10% code development to improve efficiency and flexibility.

attention:

1.amis-editor is not currently open source, but is free to use (including commercially).

2.You must be familiar with React to use the editor

1. Use amis-editor in your project

Installation dependency

npm i amis-editor

method of application

import {Editor} from 'amis-editor';

render() {
  return (
    <Editor
      {...props}
    />
  )
}

attribute specification

  • value:any value, json configuration of amis.
  • onChange: (value: any) => void。 Triggered when the editor is modified.
  • preview?: boolean Whether it is in preview state.
  • autoFocus?: boolean Whether to autofocus the first editable component.
  • plugins Plug-in class set

2. Add custom components

There are two ways to add a custom editor:

  • registerEditorPlugin Register global plug-ins.
  • Not registered, but passed through the plugins property when calling <Editor>.

The effect is the same, the focus is still how to write a Plugin, example:

import {BasePlugin} from 'amis-editor';

export class  MyRendererPlugin extends BasePlugin {
  rendererName = 'my-renderer';

  // For the time being, only this is supported. After configuration, the code editor will be opened
  $schema = '/schemas/UnkownSchema.json'; 

  // Used to configure the name and description
  name = 'Custom renderer';
  description = 'This is just an example';

  // tag,Decide which tab to display under
  tags = ['custom', 'form item'];

  //icon
  icon = 'fa fa-user';

  // Used to generate preview images
  previewSchema = {
    type: 'my-renderer',
    target: 'demo'
  };

  // The initial data when dragged into the component
  scaffold = {
    type: 'my-renderer',
    target: '233'
  };

  // Right panel correlation
  panelTitle = 'custom component';
  panelControls = [
    {
      type: 'tabs',
      tabsMode: 'line',
      className: 'm-t-n-xs',
      contentClassName: 'no-border p-l-none p-r-none',
      tabs: [
          {
              title: 'convention',
              controls: [
                  {
                      name: 'target',
                      label: 'Target',
                      type: 'text'
                  }
              ]
          },

          {
              title: 'appearance',
              controls: []
          }
      ]
    }
  ];
}

Once the plugin is defined, you can enable it in two ways

// In method 1, the default plug-in is registered and all editor instances are automatically instantiated.
import {registerEditorPlugin} from 'amis-editor';

registerEditorPlugin(MyRendererPlugin);

// In method 2, only certain editors are enabled
() => (
  <Editor plugins={[MyRendererPlugin]} />
)

The example only makes a simple explanation, and there are many available attributes, specifically, look at the.d.ts file in the npm package first.

3. Editor effect

  • web version

Baidu open source low code front-end framework, support web and mobile page development插图2

  • mobile terminal

Baidu open source low code front-end framework, support web and mobile page development插图3

  • Drag assembly

Baidu open source low code front-end framework, support web and mobile page development插图4

  • View code

Baidu open source low code front-end framework, support web and mobile page development插图5

From web pages to mobile terminals, including apps and applets, amis can meet page needs. However, in some special scenarios, such as some pages pursuing personalized visual effects, amis is not suitable. In fact, most front-end UI component libraries are not suitable, and can only be customized development. You can read more about amis on your own.

资源下载此资源为免费资源立即下载
Telegram:@John_Software

Disclaimer: This article is published by a third party and represents the views of the author only and has nothing to do with this website. This site does not make any guarantee or commitment to the authenticity, completeness and timeliness of this article and all or part of its content, please readers for reference only, and please verify the relevant content. The publication or republication of articles by this website for the purpose of conveying more information does not mean that it endorses its views or confirms its description, nor does it mean that this website is responsible for its authenticity.

Ictcoder Free Source Code Baidu open source low code front-end framework, support web and mobile page development https://ictcoder.com/baidu-open-source-low-code-front-end-framework-support-web-and-mobile-page-development/

Share free open-source source code

Q&A
  • 1. Automatic: After making an online payment, click the (Download) link to download the source code; 2. Manual: Contact the seller or the official to check if the template is consistent. Then, place an order and make payment online. The seller ships the goods, and both parties inspect and confirm that there are no issues. ICTcoder will then settle the payment for the seller. Note: Please ensure to place your order and make payment through ICTcoder. If you do not place your order and make payment through ICTcoder, and the seller sends fake source code or encounters any issues, ICTcoder will not assist in resolving them, nor can we guarantee your funds!
View details
  • 1. Default transaction cycle for source code: The seller manually ships the goods within 1-3 days. The amount paid by the user will be held in escrow by ICTcoder until 7 days after the transaction is completed and both parties confirm that there are no issues. ICTcoder will then settle with the seller. In case of any disputes, ICTcoder will have staff to assist in handling until the dispute is resolved or a refund is made! If the buyer places an order and makes payment not through ICTcoder, any issues and disputes have nothing to do with ICTcoder, and ICTcoder will not be responsible for any liabilities!
View details
  • 1. ICTcoder will permanently archive the transaction process between both parties and snapshots of the traded goods to ensure the authenticity, validity, and security of the transaction! 2. ICTcoder cannot guarantee services such as "permanent package updates" and "permanent technical support" after the merchant's commitment. Buyers are advised to identify these services on their own. If necessary, they can contact ICTcoder for assistance; 3. When both website demonstration and image demonstration exist in the source code, and the text descriptions of the website and images are inconsistent, the text description of the image shall prevail as the basis for dispute resolution (excluding special statements or agreements); 4. If there is no statement such as "no legal basis for refund" or similar content, any indication on the product that "once sold, no refunds will be supported" or other similar declarations shall be deemed invalid; 5. Before the buyer places an order and makes payment, the transaction details agreed upon by both parties via WhatsApp or email can also serve as the basis for dispute resolution (in case of any inconsistency between the agreement and the description of the conflict, the agreement shall prevail); 6. Since chat records and email records can serve as the basis for dispute resolution, both parties should only communicate with each other through the contact information left on the system when contacting each other, in order to prevent the other party from denying their own commitments. 7. Although the probability of disputes is low, it is essential to retain important information such as chat records, text messages, and email records, in case a dispute arises, so that ICTcoder can intervene quickly.
View details
  • 1. As a third-party intermediary platform, ICTcoder solely protects transaction security and the rights and interests of both buyers and sellers based on the transaction contract (product description, agreed content before the transaction); 2. For online trading projects not on the ICTcoder platform, any consequences are unrelated to this platform; regardless of the reason why the seller requests an offline transaction, please contact the administrator to report.
View details

Related Source code

ICTcoder Customer Service

24-hour online professional services