Back to KB
Difficulty
Intermediate
Read Time
5 min

Backfill Article - 2026-05-07

By Codcompass Team··5 min read

Backfill Article - 2026-05-07

Current Situation Analysis

Baidu AMIS is an outstanding design: powerful, well-documented, widely used in enterprise applications, and highly influential in the low-code rendering space. However, its long development history has led to internal bloat, conceptual inconsistency, and structural limitations that hinder scalability and AI-driven generation. Three critical failure modes emerge:

  1. Inconsistent Expression Rules at the Schema Layer: AMIS relies on a generic regex in getExprProperties to handle boolean expressions (xxxOn suffix) and template expressions (xxxExpr suffix). It lacks native support for template interpolation on plain string properties (e.g., label: "Hello ${name}") and fails to resolve expressions inside deeply nested objects. Static and dynamic values are forced into different field names (disabled / disabledOn, options / source), creating arbitrary syntax rules that schema authors must memorize.
  2. Over‑Responsibility of the Store at Runtime: The MST store acts simultaneously as a data container (data field), a behavior carrier (updateData, changeValue), an API client (fetchData, saveRemote), and a dialog manager (openDialog, closeDialog). Behavior methods are attached directly to the store, and the data field itself is a prototype-chain scope object (Object.create(superProps)). This interweaves reactive updates with variable lookup, violating separation of concerns and making state debugging unpredictable.
  3. System Environment Dependencies Passed Layer by Layer Through Props: All system-level objects—store, env, data, render functions—must be threaded through React props. Intermediate components that do not consume these objects are forced to forward them, inflating renderer interfaces, increasing coupling, and degrading performance due to unnecessary prop reconciliation.

Traditional low-code runtimes fail here because they externalize value semantics to object structure, mix data and behavior in runtime stores, and rely on runtime string parsing instead of compile-time analysis. With AI-driven schema generation becoming the norm, implicit conventions and runtime-heavy architectures are no longer sustainable.

WOW Moment: Key Findings

By shifting expression resolution from runtime

🎉 Mid-Year Sale — Unlock Full Article

Base plan from just $4.99/mo or $49/yr

Sign in to read the full article and unlock all 635+ tutorials.

Sign In / Register — Start Free Trial

7-day free trial · Cancel anytime · 30-day money-back