FineUI Since 2008

Java& .NET 双生态

「AI 写得快 · 人类看得懂」企业级全栈 UI 框架

为什么选 FineUIJava?

同一个登录功能,八款同类产品——十项能力横评,FineUIJava 项项满足。

特性 FineUIJava Vaadin JSF/PF Wicket ZK Tapestry HTMX GWT/GXT
声明式标签
事件直达服务端
属性回写、UI 自动更新
业务侧几乎零 JavaScript
企业级数据表格
内置表单校验
默认无刷新回发
服务端无状态、易水平扩展
零 unsafe 严格 CSP
一行依赖接入、零配置

支持 部分支持 不支持

看逐框架代码对照与脚注 →

开箱即用的核心能力

标签式声明,状态自动往返,事件直达后端。

AI 友好

所有控件遵循统一、明确的声明式规范:AI 一行标签就能生成,人类一眼看懂、快速审查——胜过审阅数百行夹缠状态的前端代码。

No JavaScript · No CSS

控件自带交互逻辑与样式,换肤只切主题。写业务几乎不碰 JavaScript、不手写 CSS——FineUI 十八年的老招牌。

标签式声明

一个标签一个控件,一个属性一个功能。页面结构一眼可读,AI 好生成,人也容易审查和维护。

状态自动往返

控件状态在前后端自动保持。后端直接读写控件属性,事件直达处理方法,像写桌面程序一样写 Web。

注解式校验

在数据模型的字段上用注解声明必填、长度、格式:一次声明,前端即时提示、后端权威复核,越权字段自动挡下。

企业级数据表格

排序、分页、行内编辑、树形表格、锁定列、分组汇总……企业报表里的重活,用标签声明就能扛,配套 1000+ 在线示例。

服务端水平扩展

开发时状态自动往返,运行时服务端却不驻留会话——每次回发从客户端重建控件树。因此无需粘性会话,加机器即可水平扩展。

默认安全

FineUIJava

安全是默认值:控件文本默认 HTML 编码挡住 XSS,表单绑定只认声明字段、天然防批量赋值,内核零 eval,可上零 unsafe 的严格 nonce CSP。

双生态全栈

覆盖 Spring Boot 与 ASP.NET Core。一行依赖长在你现有工程上,沿用原有技术栈、不换后端,也无需前后端分离。

真实代码 · 同一业务场景

页面写标签,后端写事件

Java · Spring Boot

FineUIJava

完整示例 ↗
<!-- 页面:一个标签一个控件 -->
<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

FineUICore

完整示例 ↗
<!-- 页面:一个标签一个控件 -->
<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、同一事件名,快速对比两种生态的声明方式。

18 年积累,不止是一句口号

长期专注企业级 UI,持续迭代产品、示例、社区与客户服务。

产品历史

18 年+

持续专注企业级 UI

从 2008 年的 ExtAspNet,到 FineUIPro、FineUICore(RazorForms) 与今天的 FineUIJava,开发生态在扩展,产品初心始终未变。

查看发展历程 →

版本发布

200 +

持续迭代优化,形成成熟稳定的企业产品体系。

在线示例

1,000 +

FineUICore 示例覆盖常见企业应用场景,并持续向 Java 生态迁移。

企业客户

500 +

历年服务全国各行业企业客户,覆盖多种复杂业务系统。

免费社区

3,000 +

开发者持续交流、反馈和共建,推动产品向前。

选择你的技术栈

同一套标签式、有状态开发体验,分别融入 Spring Boot 与 ASP.NET Core。

全新 · 即将公测

FineUIJava

为 Java / Spring Boot 打造

把 FineUI 打磨多年的标签式、有状态范式,以 AI 友好的方式带进 Java 生态。一个依赖即可接入,页面写标签,后端写事件。

技术框架
Spring Boot · Thymeleaf
运行环境
Java 17+
在线示例
1,000+
部署平台
Windows / Linux / macOS
了解 FineUIJava
成熟稳定

FineUICore

面向 ASP.NET Core,跨平台信创适用

全球首创 RazorForms 开发模式,让 WebForms 项目快速迁移到跨平台的 ASP.NET Core,同时保留熟悉的控件和事件体验。

技术框架
ASP.NET Core
运行环境
.NET 8.0+
在线示例
1,000+
部署平台
Windows / Linux / macOS
了解 FineUICore

多彩主题

同一套控件与布局,多种精心设计的主题,Java 与 .NET 共享一致的现代界面体验。

服务 500+ 企业客户

经得起真实业务的长期检验

从公共服务、交通、能源到制造、教育与金融,FineUI 持续服务不同行业的企业应用。

加载中…

以上为部分历史合作客户,排名不分先后。

查看更多客户案例 →
Since 2008

大事记

从 ASP.NET 控件库到 Java & .NET 双生态全栈 UI 框架,每一步都来自真实项目的长期积累。

  1. ExtAspNet 诞生

    FineUI 的前身 ExtAspNet 发布,第一个版本包含 7 个表单控件。

  2. 首次开源发布

    ExtAspNet v2.0.1 以开源项目形式发布,社区由此开始成长。

  3. 正式更名为 FineUI

    ExtAspNet 更名为 FineUI,并发布 FineUI v3.2.0。

  4. FineUIPro 诞生

    FineUIPro v1.0 发布,基于 jQuery 重构,性能和企业交付能力进一步提升。

  5. FineUIMvc 发布

    FineUIMvc v1.0 发布,FineUI 开始进入现代 ASP.NET MVC 开发生态。

  6. FineUICore 发布

    全面支持 ASP.NET Core,实现跨平台开发与部署。

  7. 拥抱 Razor Pages

    FineUICore 支持 Razor Pages 与 Tag Helpers,持续探索标签式开发体验。

  8. RazorForms 全球首创

    FineUICore v11.2 推出 RazorForms,在 ASP.NET Core 中延续 WebForms 业务代码。

  9. 示例与社区双突破

    FineUICore 在线示例突破 1000 个,免费社区用户突破 3000 人。

  10. FineUI v15 发布

    主题系统升级为 CSS 变量,响应式卡片、语义色等能力全面增强。

  11. FineUIJava 公测

    「AI 友好、标签式、有状态」的全栈开发范式进入 Java / Spring Boot 生态,开启公测。

社区共建

感谢每一位提交建议、反馈问题、贡献代码和支持 FineUI 的开发者。

代码贡献

352 + 位开发者

2008-04 至 2023-04,超过 300 位网友参与代码贡献。

历史捐赠支持

1,500 + 位捐赠者

2012-04 至 2018-12,支持者来自全国 32 个省级行政区。

初心不变 · 生态向前

从 WebForms、ASP.NET Core 到 Spring Boot

从 2008 年的 ASP.NET WebForms 控件,到 ASP.NET Core 上的 RazorForms,再到今天的 FineUIJava,技术生态一直在变,FineUI 的初心没有变:让开发者少写界面细节,把精力留给真正的业务。

2020 年以来,「薄前端、状态回归服务端」重新成为潮流;而到了 2026 年,真正的分水岭是——越来越多代码由 AI 生成,人类正从「作者」转为「审查者」。

声明式标签恰恰是对审查最友好的形态:AI 吐出一行 <f:text-box label="用户名" required="true"/>,你一眼就能看懂它是什么、对不对,胜过审阅数百行夹缠着状态与副作用的前端代码。让人和 AI 用同一套词汇表描述界面——这就是「AI 写得快,人类看得懂」。

合肥三生石上软件有限公司 · FineUI 荣誉出品