# 飞块插件开发

欢迎来到飞块插件开发世界！

通过飞块插件，你可以将自己的奇思妙想转化为按键操作和屏幕交互——无论是做一个一键格式化文本的效率动作，还是打造一个精美展示系统监控、实时天气的“超级块”（Widget）。

通常情况下，开发一个插件只需要从两个核心文件开始：
- **`manifest.json`（清单文件）**：负责“声明”插件能做什么（包含哪些动作、界面、配置和权限）。
- **`index.js`（后台入口）**：负责“实现”具体业务逻辑（编写实际的 JavaScript 函数）。

当用户启动飞块时，宿主会自动读取你的清单并把动作呈现在编辑器中；每当用户按下按键或触发流程，飞块就会在后台调用你编写的对应函数。

---

## 插件是如何运行的？

为了保障运行效率和界面灵活性，飞块采用了**后台逻辑与前端展示分离**的双层架构：

1. **后台进程（Node.js 运行环境）**  
   插件的后台代码运行在电脑主机的独立进程中，原生支持 Node.js 标准库。飞块负责拉起并管理该进程，并注入官方 SDK，方便你随时调用系统功能、发起网络请求或广播实时状态。最棒的是，**用户无需在电脑上单独安装 Node.js**，开箱即用。

2. **前端展示（HTML / Web 运行环境）**  
   超级块的 UI 是标准的 Web 页面，运行在桌面端预览视图或移动端设备浏览器中。页面通过页面 SDK 订阅数据与派发交互，而具体的计算、数据存取则交给后台处理。这种分工让跨设备交互变得格外清晰自然——例如，一个计数器可以在电脑后台安全保存数值，同时在手机屏幕上实时渲染并流畅响应触摸。

---

## 推荐起步路线

如果你刚刚接触飞块，建议按照以下节奏循序渐进：

1. **准备开发工具**：先阅读[使用插件开发工具包](../guides/toolkit.md)，全局安装官方 CLI 工具 `flyon`，了解如何一键初始化、本地调试与打包。
2. **动手实践第一个插件**：跟随[创建第一个插件](../guides/quickstart.md)教程，亲手写一个接收姓名并返回问候语的动作。在实际流程中看到自己写的代码运行起来，建立完整认知。
3. **探索核心能力**：
   - 如果你想向按键或屏幕广播动态变化的数据，请阅读[发布状态](../guides/states.md)；
   - 如果你想定制专属的可视化 UI 与触控面板，请阅读[创建超级块](../guides/widgets.md)；
   - 如果需要与其它插件联动，请阅读[请求数据与调用服务](../guides/data-services.md)。

---

## 快速查阅接口与示例

- **查阅规范与 API**：随时翻阅[参考文档](../reference/index.md)。清单配置项可直接从 `manifest.json` 索引切入；后台方法请查看 `context` 下各功能命名空间。每个字段与 API 都有固定、权威的规格说明。
- **开箱即用的完整工程**：在[示例插件](../guides/examples.md)中，我们准备了 7 个可独立运行的示例项目，从极简动作到多端状态同步一应俱全，欢迎随时下载调试与借鉴。
