Sharw's API是什么?
Sharw's API 是一款基于.NET开发的模块化API框架,轻量、高性能、可扩展,且简单易用。换言之,你可以利用它轻松实现一个你自己的API,而无需重复编写底层框架的轮子。
项目名字来源于项目所有者 SharwOrange橙夜 的名字,其中 Sharw 是生造词,可读 /ʃɑːr/
什么是API?
应用程序接口(application programming interface,API)是一种计算接口,它定义多个软件中介之间的交互,以及可以进行的调用(call)或请求(request)的种类,如何进行调用或发出请求,应使用的数据格式,应遵循的惯例等,又称应用编程接口。API还可以提供扩展机制,以便用户可以通过各种方式对现有功能进行不同程度的扩展。一个API可以是完全定制的,针对某个组件的,也可以是基于行业标准设计的以确保互操作性。通过信息隐藏,API实现了模块化编程,从而允许用户实现独立地使用接口。
具体可参考 Wikipedia:应用程序接口
功能&特点
- 功能插件化: 将实际功能分为独立的 插件(Plugin) ,API本体(CoreAPI) 仅负责插件加载、路由注册等底层任务,没有任何的业务代码
- 轻量化: 相较于传统API框架,本项目可以让你像搭积木一样只加载你需要的插件,而不必分去大量的资源和时间给用不到的功能
- 简单易用: 基础框架已经打好,你无须处理繁琐的底层工作,可以专注开发你想要的功能
- 跨平台: 依托于.NET的强大能力,本项目可以运行到 几乎 任何平台上
适用人群
- 已经在开发项目时需要在线功能,却需要分心再重新制作和维护一套后端的 开发者
- 想要避免从零开始开发API,需要稳定的开源项目以减少工作量的 企业开发团队
- 家中部署了很多服务,却缺少联动性的 homelab玩家
社区生态
你可以前往插件市场寻找你想要的插件
本项目中,API本体(Core API)采用GPL-3.0协议开源,实现插件的接口层则会采用LGPL-3.0协议开源(官方实现插件也会采用LGPL-3.0协议开源)
虽然我们 不要求 所有插件必须使用LGPL-3.0协议开源(你可以使用其他开源许可证或是不开源,甚至进行销售),但我们 建议 你使用LGPL-3.0协议对你的插件进行开源,这样不仅能让社区插件生态更加丰富,也让你的插件有被他人改进的机会