Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验

Incremark 现已支持 Solid,至此完成了对 Vue、React、Svelte、Solid 四大主流前端框架的全面覆盖。

为什么要做框架无关

市面上大多数 Markdown 渲染库都是针对特定框架开发的。这带来几个问题:

  1. 重复造轮子:每个框架社区都在独立实现相似的功能
  2. 能力不一致:不同框架的实现质量参差不齐
  3. 团队切换成本:换框架意味着重新学习新的 API

Incremark 采用不同的思路:核心逻辑与 UI 框架完全解耦

@incremark/core 负责所有解析、转换、增量更新的工作,输出的是框架无关的数据结构。各框架包(@incremark/vue@incremark/react@incremark/svelte@incremark/solid)只需要把这些数据渲染成对应框架的组件即可。

这意味着:

  • 核心能力一次实现,四个框架同时受益
  • Bug 修复和性能优化自动同步到所有框架
  • API 设计保持高度一致,切换框架几乎零学习成本

包结构

less 复制代码
┌───────────────────────────────┐
│       @incremark/core         │
│                               │
│  增量解析 · 双引擎 · 插件系统  │
└───────────────┬───────────────┘
                │
                ▼
┌───────────────────────────────┐
│  @incremark/vue               │
│  @incremark/react             │
│  @incremark/svelte            │
│  @incremark/solid  ← NEW      │
└───────────────┬───────────────┘
                │
                ▼
┌───────────────────────────────┐
│       @incremark/theme        │
│                               │
│     样式 · 主题 · 代码高亮     │
└───────────────────────────────┘

增量解析

传统 Markdown 渲染器在流式场景下存在性能问题:每次新内容到达都要重新解析整个文档,复杂度是 O(n²)。

Incremark 只处理新增内容,已解析的块不再重复处理,复杂度降至 O(n)。

四个框架的用法对比

四个框架的组件 API 完全一致,只是语法风格不同:

Vue

vue 复制代码
<script setup>
import { IncremarkContent } from '@incremark/vue'
// ...
</script>

<template>
  <IncremarkContent :content="content" :is-finished="isFinished" />
</template>

React

tsx 复制代码
import { IncremarkContent } from '@incremark/react'
// ...

<IncremarkContent content={content} isFinished={isFinished} />

Svelte

svelte 复制代码
<script>
import { IncremarkContent } from '@incremark/svelte'
// ...
</script>

<IncremarkContent content={content} isFinished={isFinished} />

Solid

tsx 复制代码
import { IncremarkContent } from '@incremark/solid'
// ...

<IncremarkContent content={content()} isFinished={isFinished()} />

可以看到,除了各框架本身的响应式语法差异(Vue 的 ref、React 的 useState、Svelte 的 $state、Solid 的 createSignal),组件的使用方式完全统一。

在线演示

链接

MIT 许可证。

相关推荐
呆呆敲代码的小Y2 小时前
CodeGraph 使用教程:专为代码库打造的知识图谱
人工智能·ai·llm·知识图谱·代码库·codegraph·代码知识库
小此方2 小时前
【别传:Web前端开发(三)】重塑动态视界:JS底层逻辑、数据类型流转与WebAPI交互全景草稿
前端·javascript·交互
粉末的沉淀2 小时前
css:隐藏video标签的下载按钮
前端·css
仰望.2 小时前
vue表格使用 vxe-table 展开行实现产品列表与明细列表
前端·javascript·vue.js·vxe-table
AI科技星2 小时前
数术工坊:投影秘籍
人工智能·线性代数·架构·概率论·学习方法
qcx232 小时前
【AI daily 2026-06-10】RAG 2026 已进入“Agentic RAG“时代
人工智能·ai·llm·agent·agi
十六年开源服务商2 小时前
2026数字艺术展示网站策划全攻略
大数据·人工智能
有Li2 小时前
HOI-Brain:从fMRI中准确提取带符号高阶交互用于脑疾病诊断的多通道
论文阅读·人工智能·交互·文献·医学生
RSTJ_16252 小时前
PYTHON+AI LLM DAY SEVENTY-TWO
人工智能
Stick_ZYZ2 小时前
A2A:让 Agent 从单兵作战走向团队协作
java·开发语言·网络·人工智能·python·ai