跳转到内容

项目简介

引言

在数字化时代,软件早已成为连接人与信息、业务与技术的重要桥梁。从个人工具到企业级系统,从桌面应用到云原生服务,软件不断推动着生产方式与生活方式的发展。

然而,在实际开发过程中,开发者往往需要花费大量时间处理重复性的基础工作,例如认证授权、数据访问、缓存、日志、国际化、多租户、实时通信、代码生成等。这些能力虽然必不可少,却很少真正体现业务价值。

XiHan 正是在这样的背景下诞生。

它并不是一个单独的项目,而是一套持续演进的现代化开源生态,希望帮助开发者减少重复劳动,将更多时间投入到真正有价值的业务创新中。

整个生态目前主要由三个部分组成:

  • XiHan.Framework:基于 .NET 的现代化模块化开发框架,提供稳定、高效、可扩展的基础能力。
  • XiHan.UI:面向 Vue 生态的现代化 UI 与业务组件库,提供统一、高质量的前端开发体验。
  • XiHan.BasicApp:基于 Framework 与 UI 构建的完整后台管理系统,也是整个生态的最佳实践与快速开发模板。

三者既可以独立使用,也可以协同工作,共同构建完整的软件开发解决方案。

一路走来,从最初的个人博客,到如今逐渐形成完整的开源生态,XiHan 始终坚持一个目标:

快速、轻量、高效、用心。

希望它不仅能够帮助开发者提高开发效率,也能够陪伴更多热爱技术的人共同成长。

名称

碧落降恩承淑颜,共挚崎缘挽曦寒。 迁般故事终成忆,谨此葳蕤换思短。

曦寒(XiHan),名字便源于此。

它承载着一段珍藏于心的故事,也寄托着一份未曾改变的初心。

有人说,名字只是一个代号。

而我更愿意相信,每一个真正被赋予意义的名字,都记录着一段值得铭记的经历。

因此,无论项目如何成长,无论未来扩展成怎样的生态,它始终都会叫做 XiHan

谨以此名,致她。

官方

项目名称

  • 中文:曦寒
  • 英文:XiHan

官方网站:

社区名称

  • 中文:曦寒懿
  • 英文:XiHanFun

官方社区:

以上平台均为官方代码托管仓库,欢迎 Star、Fork、Issue 与 Pull Request。

未来,XiHan 将持续围绕现代软件开发,构建更加完善的开源生态。

自序

白衣无尘,亦如初见。 感恩相遇,有幸得识。

我是 摘繁华

很多人都会好奇,为什么我的网名叫做 「摘繁华」

它来源于我初中时写下的一句词:

繁华扑尘,有谁堪摘?

至于词牌和全文,我早已记不清了,唯独这一句一直留在记忆里。

那时的我,总觉得时代越繁华,越容易让真正值得被记住的人、技艺与思想,被时间渐渐掩埋。

历史不断向前,总有人被遗忘;文明不断演进,总有一些经验与智慧散落在岁月的尘埃之中。

如果没有人愿意俯身拾起,那便由我去尝试。

于是,便有了「摘繁华」这个名字。

后来我发现,它不仅仅是一个网名,更逐渐成为了我做事的态度。


最初,我只是想写一个属于自己的博客。

后来,因为学习、工作以及兴趣,我陆续开发了后台管理系统、工具库、业务组件,也踩过无数的坑。

每完成一个项目,我都会思考一个问题:

有没有一些能力,可以不用下一次再重新写一遍?

于是,我开始把那些真正经过实践验证的能力一点点抽离出来,封装成独立模块。

认证、授权、日志、缓存、多租户、国际化、实时通信、事件总线、代码生成……

它们最开始只是服务于某一个项目,后来逐渐沉淀为能够服务所有项目的基础能力。

随着项目越来越多,这些能力也逐渐形成了今天的 XiHan 开源生态。

它主要由三个部分组成。

XiHan.Framework

这是整个生态的核心,也是我投入时间最多的项目。

它是一套基于 .NET 构建的现代化模块化开发框架。

我希望它既能够提供开箱即用的开发体验,也能够保持足够的灵活性,让开发者可以按照自己的方式构建系统,而不是被框架束缚。

因此,它不仅提供认证授权、数据访问、缓存、日志、国际化、多租户、实时通信、AI、代码生成等基础能力,也始终坚持模块化、低耦合、可扩展的设计理念。

它的目标,从来都不是成为最大的框架,而是成为一个真正能够帮助开发者解决问题的框架。

XiHan.UI

如果说 Framework 是整个生态的基础,那么 XiHan.UI 更像是人与软件之间的桥梁。

它是一套围绕 Vue 构建的现代化 UI 与业务组件库。

除了基础组件之外,它还会持续沉淀更多业务组件、页面模板、交互能力以及设计规范,希望帮助开发者以更少的代码、更高的效率,构建具有统一设计语言的现代 Web 应用。

我希望它不仅好看,更重要的是好用。

真正优秀的界面,不应该炫技,而应该让用户感受不到设计本身。

XiHan.BasicApp

如果说 Framework 提供基础能力,UI 提供交互能力,那么 XiHan.BasicApp 就是整个生态最完整的实践。

它是一套基于 Framework 与 UI 构建的现代化后台管理系统。

它既可以作为一套完整的后台系统直接投入项目,也可以作为学习框架设计、模块开发以及企业级架构的最佳实践。

很多新的设计理念、新的功能模块,都会首先在这里得到验证,再逐步沉淀回 Framework 与 UI。

它们彼此独立,又相互促进,共同组成了 XiHan 的完整生态。


我一直相信,一个优秀的开源项目,不应该只有代码,更应该拥有完整的生态。

Framework 沉淀架构;

UI 打磨体验;

BasicApp 验证实践。

它们共同成长,也共同完善。

无论你是希望快速搭建一个企业级项目,还是学习现代软件架构,又或者只是寻找一个能够复用的功能模块。

我都希望,你能够在这里找到属于自己的答案。


曾经,我在自己的个人主页上写过这样一句话:

受德于儒,受思于道,受兼于墨,受理于法。

后来,我把它删掉了。

不是因为否定,而是因为越来越觉得,一个人很难用一句话、一种主义,甚至一种哲学去定义自己。

我从小接受的是传统文化教育。

儒家的仁义礼智信、道家的道法自然、墨家的兼爱尚贤、法家的依法而治,以及后来接触到的佛学、西方哲学、现代科学,都或多或少影响了我的思考方式。

它们像来自不同方向的风,不断修正着我对世界的理解。

随着年龄增长,我越来越相信,没有任何一种思想能够完整解释这个复杂的世界。

因此,我既不会盲目接受,也不会轻易否定。

相比于寻找一个能够依附的答案,我更愿意保持怀疑,也保持开放;尊重经验,也尊重实践;敬畏规律,也尊重人的价值。

真正值得相信的,不是哪一种学说,而是在不断实践中形成的认知。

如果一定要给自己贴一个标签,我更愿意称自己为一名探索者

不断学习,不断怀疑,不断求证,也不断修正。


这种思考方式,也逐渐影响了我开发软件的方式。

很多人认为,软件开发是一门工程学。

而我更愿意把它看作工程与艺术的结合。

工程决定它是否可靠。

艺术决定它是否优雅。

一个优秀的软件,不应该让用户去适应软件,而应该让软件去适应用户。

一个优秀的框架,不应该增加开发者的学习成本,而应该降低开发者的开发成本。

因此,在设计 XiHan 的过程中,我始终坚持几个原则。

尊重自然

复杂属于框架,简单属于开发者。

能够自动完成的事情,就不要要求开发者重复配置;能够约定完成的事情,就尽量减少繁琐的规则。

我一直很喜欢一句话:

大道至简。

真正优秀的设计,往往不会让人觉得复杂。

它不是功能越多越好,而是让开发者在需要的时候,总能以最自然的方式完成工作。

因此,无论是 API 设计、模块划分,还是配置方式,我都尽可能保持统一、清晰、直观。

希望开发者第一次接触 XiHan 时,就能够感受到它的自然与流畅。


尊重开发者

技术最终服务的是人,而不是代码。

因此,我始终把开发体验放在非常重要的位置。

一份清晰的文档、一致的命名规范、合理的默认配置、完善的错误提示,往往比增加几十个功能更有价值。

我希望每一位开发者,在使用 XiHan 时,不需要花费大量时间理解框架,而能够把更多精力投入到真正的业务开发中。

所以,很多设计看似简单,背后却经历了无数次推倒重来。

因为我始终相信:

简单,并不是少做,而是把复杂留给自己。


尊重用户

软件最终面对的是用户。

因此,我始终重视用户体验、信息安全、隐私保护以及系统稳定性。

再完善的功能,如果难以使用,也很难称得上优秀。

所以,在 XiHan 中,我不仅关注代码是否优雅,也关注交互是否自然;不仅关注功能是否完整,也关注细节是否舒适。

因为真正能够留住用户的,从来都不是功能,而是体验。


尊重长期主义

软件开发从来不是一场短跑,而是一场漫长的积累。

我希望十年后的 XiHan,依然能够持续成长。

因此,相比追逐一时流行的新技术,我更倾向于选择经过实践验证的方案。

模块化、可扩展、低耦合、向下兼容、稳定演进……

这些听起来或许并不耀眼,却决定着一个项目能够走多远。

我希望 XiHan 不只是一个能够发布第一个版本的项目,更是一个能够持续维护很多年的开源生态。


直到今天,我依然觉得,软件开发不仅仅是在编写代码。

它更是在表达一种思考方式。

每一次重构,每一个接口,每一个模块,都是开发者价值观的体现。

因此,我希望 XiHan 不只是一个框架、一套组件,或者一个后台系统。

我更希望,它能够成为一个持续成长、不断沉淀的开源生态。

在这里:

  • XiHan.Framework 沉淀架构与基础能力;
  • XiHan.UI 打磨交互与开发体验;
  • XiHan.BasicApp 验证设计与工程实践。

它们共同记录的不只是代码,还有一路走来踩过的坑、总结出的经验,以及那些值得留下来的设计思想。

我希望,无论未来增加多少项目,它们都能够围绕同一个目标:

让软件开发更简单,让优秀的设计能够被更多人复用。


如果未来有一天,XiHan 能够帮助更多开发者提高效率,帮助更多团队减少重复劳动,帮助更多项目快速落地;如果有人因为它而学会模块化设计,因为它理解工程化开发,因为它爱上开源。

那么,当年写下的那一句:

繁华扑尘,有谁堪摘?

便算没有白写。

愿我们都能在时代的洪流中,摘取属于自己的那一份繁华。

也愿我们留下的每一行代码、每一篇文档、每一次分享,都能够成为后来者继续前行的一束微光。

与君共勉。

—— 摘繁华

致谢

感谢每一位关注、使用、反馈和贡献 XiHan 的朋友。

开源从来不是一个人的坚持,而是一群人的同行。

感谢每一位提交 Issue、发起 Pull Request、提出建议、分享经验的开发者。正因为有你们,XiHan 才能够不断成长、不断完善。

同时,也感谢所有优秀的开源项目和开发工具,为 XiHan 的诞生提供了坚实的基础。

特别感谢:

  • .NETC# —— 提供稳定、现代、高性能的开发平台。
  • Vue —— 构建现代 Web 应用的重要基石。
  • Visual StudioJetBrains RiderVisual Studio Code —— 提供优秀的开发体验。
  • GitGitHubGiteeGitCode —— 承载开源社区的协作与分享。
  • ViteVitePressTypeScript 等优秀的开源项目,为前端生态提供了强大的支持。

最后,感谢所有曾给予我帮助的人。

无论是一句建议、一次鼓励,还是一次善意的批评,都成为了 XiHan 成长道路上的养分。

愿开源精神薪火相传。

愿热爱永不止步。

愿我们,终将摘得属于自己的繁华。

Released under The MIT License