Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Feature] 版本化声明式原生 UI 组件树与宿主 Renderer 接入

Abierto
#1,209 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
12/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
swift

Línea de trabajo

The payload names no source files or tests. Start with PR #1206 and the linked design note on the public extension contract, since this issue is a follow-up to that review. The first deliverable is an agreed, versioned UI Schema, which the payload says is still open to contract review. Done means that schema and the macOS adapter plan are settled enough to split into smaller issues.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement review: high

📦 迁移自 Lithe-IDEA/Lithe-IDEA#40
原作者 arkleselect · 创建于 2026-10-13 14:57 UTC · 原状态 OPEN


本任务来自 PR #1206 的架构定位审查,属于后续阶段,不要求在 #1206 实现。当前 pluginAPIVersion=2 的字段、校验和兼容性保持不变。总跟踪 #1183、迁移 #1186,端到端验收 #1184。

设计说明:公共扩展契约与原生 Provider 接入方向。

目标

第三方插件通过 JSON UI 组件树接入原生界面;复杂内置或受信任原生内容通过宿主 Native View/Renderer Factory 注册,二者共享 #1206 的窗口管理。

工作范围与验收

  • 单独版本化 UI Schema,定义 Tree/List/Form/Input/Button、数据源、事件、稳定组件 ID 与状态更新;具体字段随契约评审确定。
  • macOS 使用 SwiftUI/AppKit 等原生适配器,保留宿主主题、键盘、焦点、IME、无障碍、标题与共享控件规范。
  • 原生 Tree + 独立刷新命令,经授权 Provider 获取数据;不为刷新命令造空窗口。
  • 组件树更新和异步事件有本地预算、取消和失效结果保护;禁用/恢复和布局持久化有端到端证据。
  • Native View/Renderer Factory 面向内置或受信任原生模块,共用贡献 ID、停靠、显隐和 ModuleRuntime 生命周期。
  • Windows 通过自己的宿主适配共享 JSON 与 fixtures,不复制 SwiftUI 或平台视图类型。

非目标

不引入插件 HTML/Webview/第三方前端框架,不恢复任意动态第三方 Swift Bundle;其 ABI、签名、分发及隔离另行设计。不改变 API v2 文本窗口兼容性。

Lenguaje dominante
TypeScript
Estrellas
1.8k
Forks
151
Merge medio
12 h 15 min
PR fusionados (30 d)
270

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de 1lck/Lithe-IDEA

Todos los issues de 1lck/Lithe-IDEA

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.