跨平台开发面试题
动态化 DSL 详解
动态化 DSL(Domain-Specific Language,领域特定语言)是"不改 App 主包、不走应用商店审核,只下发一段描述文件就能改变界面和逻辑"的一类技术。它在 2015~2023 年成为国内大厂客户端的必备基础设施:阿里 DinamicX / Tangram / VirtualView / LuaView、字节 Lynx、腾讯 Mars / 小程序、滴滴 Hummer、美团 MRN / Recce、京东 Taro-Native、拼多多 Lego、支付宝 Nebula / BirdNest、爱奇艺 Doric ……几乎每一家超级 App 都至少造过一套自己的动态化 DSL。 进入 2026 年 AI Coding 时代,动态化 DSL 的定位发生了根本性转变: 过去它服务于"业务迭代速度"——解决包大小限制、审核周期、多端复用问题。 现在它服务于"Agent 生成 UI"——LLM 更擅长生成 JSON / 结构化 DSL 而不是跨平台原生代码,DSL 成为 Generative UI / SDUI(Server-Driven UI)落地移动端的唯一高效载体。 本文从定义出发,讲透动态化 DSL 的历史演进、分类体系、核心渲染管线、关键原理(AST / 表达式引擎 / 布局 / 数据绑定 / 差分),再深入解剖 DinamicX、Tangram、LuaView、Lynx、Hummer、Recce 六大主流方案的工程实现,最后系统分析 AI Coding 时代的优劣势与决策矩阵。 ...