AI 友好
所有控件遵循统一、明确的声明式规范:AI 一行标签就能生成,人类一眼看懂、快速审查——胜过审阅数百行夹缠状态的前端代码。
「AI 写得快 · 人类看得懂」企业级全栈 UI 框架
同一个登录功能,八款同类产品——十项能力横评,FineUIJava 项项满足。
| 特性 | FineUIJava | Vaadin | JSF/PF | Wicket | ZK | Tapestry | HTMX | GWT/GXT |
|---|---|---|---|---|---|---|---|---|
| 声明式标签 | ✓ | ✗ | ✓ | ◐ | ✓ | ✓ | ◐ | ✗ |
| 事件直达服务端 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ◐ | ✗ |
| 属性回写、UI 自动更新 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| 业务侧几乎零 JavaScript | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ◐ | ✗ |
| 企业级数据表格 | ✓ | ✓ | ✓ | ◐ | ✓ | ◐ | ✗ | ✓ |
| 内置表单校验 | ✓ | ✓ | ✓ | ◐ | ◐ | ◐ | ✗ | ◐ |
| 默认无刷新回发 | ✓ | ✓ | ◐ | ◐ | ✓ | ◐ | ✓ | ✓ |
| 服务端无状态、易水平扩展 | ✓ | ✗ | ✗ | ✗ | ✗ | ◐ | ✓ | ✓ |
| 零 unsafe 严格 CSP | ✓ | ✗ | ◐ | ✓ | ✗ | ✗ | ◐ | ✗ |
| 一行依赖接入、零配置 | ✓ | ◐ | ◐ | ◐ | ◐ | ◐ | ✓ | ◐ |
✓ 支持 ◐ 部分支持 ✗ 不支持
看逐框架代码对照与脚注 →标签式声明,状态自动往返,事件直达后端。
所有控件遵循统一、明确的声明式规范:AI 一行标签就能生成,人类一眼看懂、快速审查——胜过审阅数百行夹缠状态的前端代码。
控件自带交互逻辑与样式,换肤只切主题。写业务几乎不碰 JavaScript、不手写 CSS——FineUI 十八年的老招牌。
一个标签一个控件,一个属性一个功能。页面结构一眼可读,AI 好生成,人也容易审查和维护。
控件状态在前后端自动保持。后端直接读写控件属性,事件直达处理方法,像写桌面程序一样写 Web。
在数据模型的字段上用注解声明必填、长度、格式:一次声明,前端即时提示、后端权威复核,越权字段自动挡下。
排序、分页、行内编辑、树形表格、锁定列、分组汇总……企业报表里的重活,用标签声明就能扛,配套 1000+ 在线示例。
开发时状态自动往返,运行时服务端却不驻留会话——每次回发从客户端重建控件树。因此无需粘性会话,加机器即可水平扩展。
安全是默认值:控件文本默认 HTML 编码挡住 XSS,表单绑定只认声明字段、天然防批量赋值,内核零 eval,可上零 unsafe 的严格 nonce CSP。
覆盖 Spring Boot 与 ASP.NET Core。一行依赖长在你现有工程上,沿用原有技术栈、不换后端,也无需前后端分离。
真实代码 · 同一业务场景
Java · Spring Boot
<!-- 页面:一个标签一个控件 -->
<f:simple-form>
<f:text-box id="tbxUser" label="用户名"/>
<f:button id="btnLogin" text="登录" on-click="btnLogin_Click"/>
<f:label id="lblHi"/>
</f:simple-form>
// 后端:事件里直接读写控件状态,自动同步到前端
public void btnLogin_Click(Object sender, EventArgs e) {
String user = tbxUser.getValue(); // 读控件状态
lblHi.setText("你好," + user); // 写状态 → 自动回传
}
.NET · RazorForms
<!-- 页面:一个标签一个控件 -->
<f:SimpleForm>
<f:TextBox ID="tbxUser" Label="用户名"/>
<f:Button ID="btnLogin" Text="登录" OnClick="btnLogin_Click"/>
<f:Label ID="lblHi"/>
</f:SimpleForm>
// 后端:事件里直接读写控件状态,自动同步到前端
protected void btnLogin_Click(object sender, EventArgs e) {
var user = tbxUser.Text; // 读控件状态
lblHi.Text = "你好," + user; // 写状态 → 自动回传
}
同一控件 ID、同一事件名,快速对比两种生态的声明方式。
长期专注企业级 UI,持续迭代产品、示例、社区与客户服务。
产品历史
从 2008 年的 ExtAspNet,到 FineUIPro、FineUICore(RazorForms) 与今天的 FineUIJava,开发生态在扩展,产品初心始终未变。
查看发展历程 →版本发布
持续迭代优化,形成成熟稳定的企业产品体系。
在线示例
FineUICore 示例覆盖常见企业应用场景,并持续向 Java 生态迁移。
企业客户
历年服务全国各行业企业客户,覆盖多种复杂业务系统。
免费社区
开发者持续交流、反馈和共建,推动产品向前。
同一套标签式、有状态开发体验,分别融入 Spring Boot 与 ASP.NET Core。
为 Java / Spring Boot 打造
把 FineUI 打磨多年的标签式、有状态范式,以 AI 友好的方式带进 Java 生态。一个依赖即可接入,页面写标签,后端写事件。
面向 ASP.NET Core,跨平台信创适用
全球首创 RazorForms 开发模式,让 WebForms 项目快速迁移到跨平台的 ASP.NET Core,同时保留熟悉的控件和事件体验。
同一套控件与布局,多种精心设计的主题,Java 与 .NET 共享一致的现代界面体验。
从公共服务、交通、能源到制造、教育与金融,FineUI 持续服务不同行业的企业应用。
加载中…
以上为部分历史合作客户,排名不分先后。
查看更多客户案例 →从 ASP.NET 控件库到 Java & .NET 双生态全栈 UI 框架,每一步都来自真实项目的长期积累。
FineUI 的前身 ExtAspNet 发布,第一个版本包含 7 个表单控件。
ExtAspNet v2.0.1 以开源项目形式发布,社区由此开始成长。
ExtAspNet 更名为 FineUI,并发布 FineUI v3.2.0。
FineUIPro v1.0 发布,基于 jQuery 重构,性能和企业交付能力进一步提升。
FineUIMvc v1.0 发布,FineUI 开始进入现代 ASP.NET MVC 开发生态。
全面支持 ASP.NET Core,实现跨平台开发与部署。
FineUICore 支持 Razor Pages 与 Tag Helpers,持续探索标签式开发体验。
FineUICore v11.2 推出 RazorForms,在 ASP.NET Core 中延续 WebForms 业务代码。
FineUICore 在线示例突破 1000 个,免费社区用户突破 3000 人。
主题系统升级为 CSS 变量,响应式卡片、语义色等能力全面增强。
「AI 友好、标签式、有状态」的全栈开发范式进入 Java / Spring Boot 生态,开启公测。
感谢每一位提交建议、反馈问题、贡献代码和支持 FineUI 的开发者。
代码贡献
2008-04 至 2023-04,超过 300 位网友参与代码贡献。
点击按钮后加载完整名单。
历史捐赠支持
2012-04 至 2018-12,支持者来自全国 32 个省级行政区。
点击按钮后加载完整名单。
从 2008 年的 ASP.NET WebForms 控件,到 ASP.NET Core 上的 RazorForms,再到今天的 FineUIJava,技术生态一直在变,FineUI 的初心没有变:让开发者少写界面细节,把精力留给真正的业务。
2020 年以来,「薄前端、状态回归服务端」重新成为潮流;而到了 2026 年,真正的分水岭是——越来越多代码由 AI 生成,人类正从「作者」转为「审查者」。
声明式标签恰恰是对审查最友好的形态:AI 吐出一行
<f:text-box label="用户名" required="true"/>,你一眼就能看懂它是什么、对不对,胜过审阅数百行夹缠着状态与副作用的前端代码。让人和 AI
用同一套词汇表描述界面——这就是「AI 写得快,人类看得懂」。
合肥三生石上软件有限公司 · FineUI 荣誉出品
FineUIJava 将于 2026 年 10 月 10 日开启公测。现在提交申请,我们会在公测开放当天把企业版试用包和开发授权文件发到你的邮箱。
请把下面的资料填好,发送到邮箱
产品名称:FineUIJava(企业版) 单位全称:XX 有限公司 申请人邮箱:you@example.com 申请人QQ:12345678 申请人姓名:张三 申请人地址:XX 省 XX 市
也可以直接联系客服 QQ:2877408506。企业版授权与商务合作同样走这个入口。