Univer؛ آفیس رو داخل محصول خودت بساز
خلاصهٔ کاملتر
Univer یه SDK متنبازه که بهجای دادن یه اپ آمادهی میزبانیشده، قطعات ساخت اسپردشیت، داکیومنت و ارائه رو میده دستت تا داخل محصول خودت جاشون بدی. تیم سازنده تأکید میکنه این فقط یه نمایشگر فایل اکسل نیست، بلکه یه فریمورک برای ساختن سطح کاری خودته. کل قابلیتها به شکل پلاگین تحویل داده میشن، پس میتونی هرکدوم رو اضافه، حذف، جایگزین یا lazy-load کنی.
دو تا نکتهی فنی ستون کارن. اول رندر روی Canvas بهجای DOM، که باعث میشه ورکبوکهای بزرگ و سنگین بازم روان بمونن. دوم موتور فرمول اختصاصی، که ایزومورفیکه؛ یعنی همون منطق ورکبوک رو میتونی هدلس روی Node.js اجرا کنی و محاسبه و اتوماسیون رو ببری سمت سرور، بدون اینکه اصلاً UI بالا بیاری.
بخش AI همون چیزیه که پروژه خودش رو باهاش معرفی میکنه: «هارنس آفیس برای ایجنتها». ایجنت محتوا رو با API ساختیافته میخونه و تغییر میده، بعد نتیجه رو با بازرسی محتوا، اسکرینشات رندرشده و تشخیص چیدمان تأیید میکنه. جالبترش Worktree هست، یعنی ایجنت تو یه پیشنویس جدا کار میکنه و آدمها بعداً تغییراتش رو مرور میکنن و تصمیم میگیرن چی مرج بشه. البته این بخش به Web SDK و قابلیتهای همکاری وابستهست.
برای شروع دو مسیر هست. Plugin Mode کنترل کامل روی پکیجها و بارگذاری میده ولی دهها ایمپورت لازم داره، و Preset Mode مجموعهی آمادهای از پلاگینهاست که ثبت Facade API و استایلها رو خودش انجام میده:
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import { createUniver, LocaleType } from '@univerjs/presets'
const { univerAPI } = createUniver({
locale: LocaleType.EN_US,
presets: [UniverSheetsCorePreset({ container: 'app' })],
})
univerAPI.createWorkbook({})قبل از اینکه ذوق کنی، مرز متنباز و تجاری رو ببین. تو مخزن Apache-2.0 ویرایش اسپردشیت، فرمول، فرمت عددی، فیلتر و مرتبسازی، اعتبارسنجی داده، قالببندی شرطی، کامنت و جستوجو هست. ولی همکاری بلادرنگ، تاریخچهی ویرایش، ایمپورت و اکسپورت، چاپ، نمودار، جدول محوری و محاسبهی سمت سرور همه تو Univer Pro تجاریان. تیم میگه این جداسازی عمدیه تا معلوم باشه دقیقاً چی متنبازه.
از نظر سازگاری، هدف بیلد Chrome 88 به بالاست و Edge 88، Firefox 90، Safari 14.1 و Electron 12 پشتیبانی میشن. لایهی نما روی React 18 ساخته شده و React 18 و 19 رو کامل و 16.9 به بالا رو حداقلی پشتیبانی میکنه. نسخهی هدلس Node.js 18.17 به بالا میخواد و خود مونوریپو برای توسعه Node.js 22.18 لازم داره. یه polyfill هم برای Intl.Segmenter لازمه اگه محیطت نداشته باشه.
نکات کلیدی:
- رندر مبتنی بر Canvas و موتور فرمول جدا، برای ورکبوکهای بزرگ
- یه Facade API واحد برای مرورگر و Node.js هدلس
- Worktree: ایجنت تو پیشنویس جدا کار میکنه، آدم تغییرات رو مرور و مرج میکنه
- Sheets بالغترین بخشه؛ Docs و Slides هنوز در حال تکاملن
- همکاری بلادرنگ، چارت، پیوت و ایمپورت/اکسپورت فقط تو Univer Pro تجاری
- هدف مرورگر Chrome 88+ و حداقل Node.js 18.17 برای اجرای هدلس




