27 KiB
ã¹ãã¬ããã·ãŒããããã¥ã¡ã³ãããã¬ãŒã³ããŒã·ã§ã³ãæ§ç¯ããããã®ãã«ã¹ã¿ãã¯ã§ã¢ã€ãœã¢ãŒãã£ãã¯ãªãªãã£ã¹ SDKã
Univer ã¯ããã©ã°ã€ã³ã¢ãŒããã¯ãã£ãCanvas ããŒã¹ã®ã¬ã³ããªã³ã°ã æ°åŒãšã³ãžã³ããã©ãŠã¶ãš Node.js ã®äž¡æ¹ã§äœ¿ãã Facade API ã«ããã çµã¿èŸŒã¿åã®çç£æ§äœéšãæ§ç¯ã§ããŸãã
English | ç®äœäžæ | ç¹é«äžæ | æ¥æ¬èª | íêµìŽ | Español
ð ããã¥ã¡ã³ã | âš ã·ã§ãŒã±ãŒã¹ | ð API Reference | ð ããã°
âš Univer ãšã¯ïŒ
Univer ã¯ãèªåã®ãããã¯ãå ã«ãªãã£ã¹ã¢ããªã±ãŒã·ã§ã³ãäœãããã®ãªãŒãã³ãœãŒã¹ SDK ã§ããã¹ãã¬ããã·ãŒããããã¥ã¡ã³ãããã¬ãŒã³ããŒã·ã§ã³äœéšã«å¿ èŠãªæ§æèŠçŽ ãæäŸãã€ã€ããã¹ãåã¢ããªãåºå® UI ã匷å¶ããŸããã
Univer ã¯æ¬¡ã®ãããªå Žé¢ã«é©ããŠããŸãã
- SaaSã瀟å ããŒã«ãBI ã¯ãŒã¯ãããŒãAI ã¢ããªã±ãŒã·ã§ã³ã«ã¹ãã¬ããã·ãŒããããã¥ã¡ã³ãç·šéãçµã¿èŸŒãã
- ãã©ãŠã¶ãšåãã¢ãŒããã¯ãã£ã§ããµãŒããŒäžã®ã¯ãŒã¯ããã¯/ããã¥ã¡ã³ãåŠçãå®è¡ããã
- å¿ èŠãªæ©èœã ãããã©ã°ã€ã³ã§çµã¿åãããããŸã㯠presets ã§çŽ æ©ãå§ããã
- ã«ã¹ã¿ã ãã©ã°ã€ã³ãã³ãã³ãããµãŒãã¹ãUI ã³ã³ããŒãã³ããFacade API ã§æ¯ãèããæ¡åŒµããã
Univer ã¯åãªãã¹ãã¬ããã·ãŒããã¡ã€ã«ãã¥ãŒã¢ã§ã¯ãããŸãããç¬èªã®çç£æ§ã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®ãã¬ãŒã ã¯ãŒã¯ã§ãã
ð Highlights
|
â¡ å€§èŠæš¡ãªç·šéé¢ã«å¯Ÿå¿ Canvas ããŒã¹ã®ã¬ã³ããªã³ã°ãšå°çšã®æ°åŒãšã³ãžã³ã«ãããè€éãªã¯ãŒã¯ããã¯ã§ãå¿çæ§ãä¿ã¡ãŸãã |
ð§© ãã©ã°ã€ã³åæã®èšèš å¿ èŠãªæ©èœãçµã¿åããã眮æãé å»¶èªã¿èŸŒã¿ãæ¡åŒµã§ããŸãã |
ð€ Headless AI åºç€ Node.js ã§ã¯ãŒã¯ããã¯ãšããã¥ã¡ã³ãã®ããžãã¯ãå®è¡ãããšãŒãžã§ã³ããèªååããµãŒããŒãµã€ãã¯ãŒã¯ãããŒãæ¯ããŸãã |
|
ð ïž ãããã¯ãåã SDK ãã¬ãŒã ã¯ãŒã¯ã¢ããã¿ãŒãFacade APIãpresetsãheadless runtime ãå®éã®çµ±åçµè·¯ã«å¯Ÿå¿ããŸãã |
ð Dark mode å¯Ÿå¿ UI ã³ã³ããŒãã³ããšã¬ã³ããªã³ã°ãšã³ãžã³ã®äž¡æ¹ãã©ã€ã/ããŒã¯ããŒãã«å¯Ÿå¿ããŸãã |
ð çµ±å Facade API ãã©ãŠã¶ãš Node.js ã®äž¡æ¹ã§ãã¯ãŒã¯ããã¯ãç¯å²ãæ°åŒãããã¥ã¡ã³ããäžè²«ãã API ã§æ±ããŸãã |
ð ãªã Univer ãªã®ãïŒ
- ã¢ã€ãœã¢ãŒãã£ãã¯èšèšïŒãã©ãŠã¶ã® UI ã¢ããªãš Node.js ã®ãããã¬ã¹åŠçã®äž¡æ¹ã§åäœããŸãã
- ãã©ã°ã€ã³åªå ã¢ãŒããã¯ãã£ïŒãã¹ãŠã®æ©èœã¯çµã¿åããå¯èœãªãã©ã°ã€ã³ãšããŠæäŸããã远å ãåé€ã眮æãé å»¶èªã¿èŸŒã¿ãå¯èœã§ãã
- Preset Mode ã«ããé«éãªçµ±åïŒããã«åãã¢ããªãå¿
èŠãªå Žåã¯ããã®ãªããžããªã®
presets/ã«ãã curated plugin collection ãå©çšã§ããŸãã - Plugin Mode ã«ããå®å šãªå¶åŸ¡ïŒã«ã¹ã¿ã èªã¿èŸŒã¿ãããå°ããªãã³ãã«ãæ·±ãçµ±åãå¿ èŠãªå Žåã¯ãããã±ãŒãžãæåã§çµã¿åãããããŸãã
- Facade APIïŒã¯ãŒã¯ããã¯ãã¯ãŒã¯ã·ãŒããç¯å²ãããã¥ã¡ã³ããæ°åŒãã³ãã³ããã€ãã³ããé«ã¬ãã« API ã§æ±ããŸãã
- Canvas ã¬ã³ããªã³ã°ãšã³ãžã³ïŒå€§èŠæš¡ãªç·šéå¯èœããã¥ã¡ã³ãé¢ããµããŒãããè€æ°ã®ææžã¿ã€ãã§ã¬ã³ããªã³ã°å±€ãå ±æããŸãã
- æ¡åŒµå¯èœãª UIïŒReactãVueãWeb Componentsãåçš®ãã¬ãŒã ã¯ãŒã¯ã®ã¢ããªã±ãŒã·ã§ã³ã·ã§ã«ã«çµ±åã§ããŸãã
â¡ ã¯ã€ãã¯ã¹ã¿ãŒã
è£œåæ©èœãåºãå©çšããæ§æã现ããå¶åŸ¡ããã«ã¯ Plugin Mode ã䜿çšããŸãã察å¿ãã SheetsãDocsãNode ã®æ§æã§ã¯ãPreset Mode ã䜿ããš curated setup ãããçãèšè¿°ã§ããŸãã
Plugin Mode
Plugin Mode ã§ã¯ãããã±ãŒãžãã¹ã¿ã€ã«ã® importãlocale ã® mergeãFacade API ç»é²ããã©ã°ã€ã³èšå®ãããäœã¬ãã«ã§å¶åŸ¡ã§ããŸãã
pnpm add @univerjs/core @univerjs/design @univerjs/docs @univerjs/docs-ui @univerjs/engine-formula @univerjs/engine-render @univerjs/sheets @univerjs/sheets-formula @univerjs/sheets-formula-ui @univerjs/sheets-numfmt @univerjs/sheets-numfmt-ui @univerjs/sheets-ui @univerjs/ui
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'
import { FUniver } from '@univerjs/core/facade'
import DesignEnUS from '@univerjs/design/locale/en-US'
import { UniverDocsPlugin } from '@univerjs/docs'
import { UniverDocsUIPlugin } from '@univerjs/docs-ui'
import DocsUIEnUS from '@univerjs/docs-ui/locale/en-US'
import { UniverFormulaEnginePlugin } from '@univerjs/engine-formula'
import { UniverRenderEnginePlugin } from '@univerjs/engine-render'
import { UniverSheetsPlugin } from '@univerjs/sheets'
import SheetsEnUS from '@univerjs/sheets/locale/en-US'
import { UniverSheetsFormulaPlugin } from '@univerjs/sheets-formula'
import SheetsFormulaEnUS from '@univerjs/sheets-formula/locale/en-US'
import { UniverSheetsFormulaUIPlugin } from '@univerjs/sheets-formula-ui'
import SheetsFormulaUIEnUS from '@univerjs/sheets-formula-ui/locale/en-US'
import { UniverSheetsNumfmtPlugin } from '@univerjs/sheets-numfmt'
import { UniverSheetsNumfmtUIPlugin } from '@univerjs/sheets-numfmt-ui'
import SheetsNumfmtUIEnUS from '@univerjs/sheets-numfmt-ui/locale/en-US'
import { UniverSheetsUIPlugin } from '@univerjs/sheets-ui'
import SheetsUIEnUS from '@univerjs/sheets-ui/locale/en-US'
import { UniverUIPlugin } from '@univerjs/ui'
import UIEnUS from '@univerjs/ui/locale/en-US'
import '@univerjs/design/lib/index.css'
import '@univerjs/ui/lib/index.css'
import '@univerjs/docs-ui/lib/index.css'
import '@univerjs/sheets-ui/lib/index.css'
import '@univerjs/sheets-formula-ui/lib/index.css'
import '@univerjs/sheets-numfmt-ui/lib/index.css'
import '@univerjs/engine-formula/facade'
import '@univerjs/ui/facade'
import '@univerjs/sheets/facade'
import '@univerjs/sheets-ui/facade'
import '@univerjs/sheets-formula/facade'
import '@univerjs/sheets-numfmt/facade'
const univer = new Univer({
locale: LocaleType.EN_US,
locales: {
[LocaleType.EN_US]: mergeLocales(
DesignEnUS,
UIEnUS,
DocsUIEnUS,
SheetsEnUS,
SheetsUIEnUS,
SheetsFormulaEnUS,
SheetsFormulaUIEnUS,
SheetsNumfmtUIEnUS,
),
},
})
univer.registerPlugin(UniverRenderEnginePlugin)
univer.registerPlugin(UniverFormulaEnginePlugin)
univer.registerPlugin(UniverUIPlugin, { container: 'app' })
univer.registerPlugin(UniverDocsPlugin)
univer.registerPlugin(UniverDocsUIPlugin)
univer.registerPlugin(UniverSheetsPlugin)
univer.registerPlugin(UniverSheetsUIPlugin)
univer.registerPlugin(UniverSheetsFormulaPlugin)
univer.registerPlugin(UniverSheetsFormulaUIPlugin)
univer.registerPlugin(UniverSheetsNumfmtPlugin)
univer.registerPlugin(UniverSheetsNumfmtUIPlugin)
const univerAPI = FUniver.newAPI(univer)
univerAPI.createWorkbook({})
Preset Mode
Preset ã¯ãå¿ èŠãª Facade API ç»é²ãšã¹ã¿ã€ã«ãå«ã Univer ãã©ã°ã€ã³ã® curated collection ã§ãã
pnpm add @univerjs/presets @univerjs/preset-sheets-core
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'
import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
import '@univerjs/preset-sheets-core/lib/index.css'
const { univerAPI } = createUniver({
locale: LocaleType.EN_US,
locales: {
[LocaleType.EN_US]: mergeLocales(UniverPresetSheetsCoreEnUS),
},
presets: [
UniverSheetsCorePreset({
container: 'app',
}),
],
})
univerAPI.createWorkbook({})
ããŒãžã«ã¯ã³ã³ãããå¿ èŠã§ãã
<div id="app" style="height: 100vh"></div>
詳ãã㯠Installation & Basic Usage guideãcreateUniver referenceãFacade API reference ãåç
§ããŠãã ããã
ð§© Preset Mode ãš Plugin Mode
| éžæè¢ | 䜿ãå Žé¢ | ã¯ããã«èªããã® |
|---|---|---|
| Plugin Mode | ããã±ãŒãžãæ§ææžã¿ã®äŸåé¢ä¿ãé å»¶èªã¿èŸŒã¿ãå®è¡æã®æ§æãå³å¯ã«å¶åŸ¡ãããå Žåã | ãã®ãªããžããªã® examples/ ãš architecture guide |
| Preset Mode | æå°éã®èšå®ã§ SheetsãDocsãNode ã®åäœç°å¢ãäœãããå Žåã | ãã®ãªããžããªã® presets/ ãš getting started guide |
| Headless Mode | UI ãªãã§ãµãŒããŒåŽã®ã¯ãŒã¯ããã¯/ããã¥ã¡ã³ãåŠçãæ°åŒèšç®ãèªååãè¡ãããå Žåã | Headless Univer |
åã Univer ã®å調ãªãªãŒã¹ã©ã€ã³ã«å«ãŸãã @univerjs/* SDK ããã±ãŒãžã¯ãåäžããŒãžã§ã³ã«æããŠãã ããã@univerjs/icons ã @univerjs/icons-svg ãªã©ç¬ç«ããŠãªãªãŒã¹ãããããã±ãŒãžã¯ãSDK ã®ããŒãžã§ã³ã§ã¯ãªããåããã±ãŒãžãããã§ã¹ãã«å®£èšãããäºæããŒãžã§ã³ã䜿çšããŸããUniver Pro ã䜿çšããå Žåã¯ã@univerjs-pro/* ã察å¿ããå調ãªãªãŒã¹ã©ã€ã³ã«æããŠãã ããã
API äºææ§ãexperimental APIãinternal APIãdeprecation rules ã«ã€ããŠã¯ API Stability Policy ãåç §ããŠãã ããã
ð§ äºææ§
- ãã©ãŠã¶å®è¡ç°å¢ïŒUniver 㯠Chrome 88 ãã¿ãŒã²ãããšããŠã³ã³ãã€ã«ãããŠãããEdge
>=88ãFirefox>=90ãChrome>=88ãSafari>=14.1ãElectron>=12ã§åäœããããšãç®æããŠããŸãã - PolyfillsïŒUniver ã¯
Intl.Segmenterã«äŸåããŠããŸãã察象ãã©ãŠã¶ãå®è¡ç°å¢ã察å¿ããŠããªãå Žåã¯ã@formatjs/intl-segmenterãªã©ã® polyfill ã远å ããŠãã ããã - ãã«ãããŒã«ïŒViteãesbuildãWebpack 5 ãæšå¥šããŸãã
package.jsonã®exportsãã£ãŒã«ãã«å¯Ÿå¿ããŠããªããã«ãããŒã«ïŒWebpack 4 ãªã©ïŒã§ã¯ã远å ã®ãã¹ãããã³ã°ãå¿ èŠã«ãªãå ŽåããããŸãã - ReactïŒUniver ã® view layer 㯠React 18 ããŒã¹ã§æ§ç¯ãããŠãããReact 18 ãš 19 ããµããŒãããŸããReact 16.9+ ãš 17 ã«ã¯æå°éã®äºæãµããŒããæäŸããŸãã
- Node.js runtimeïŒHeadless Univer 㯠Node.js
>=18.17.0ããµããŒãããŸãããã® monorepo ã®éçºã«ã¯ Node.js>=22.18ãå¿ èŠã§ãã
ð ïž æ§ç¯ã§ãããã®
| é å | ãªãŒãã³ãœãŒã¹ã®æ©èœ | Univer Pro æ¡åŒµ |
|---|---|---|
| Sheets | ã¯ãŒã¯ããã¯ãã¯ãŒã¯ã·ãŒããç¯å²ãéžæãæ°åŒãæ°å€æžåŒããã£ã«ã¿ãŒããœãŒããããŒã¿æ€èšŒãæ¡ä»¶ä»ãæžåŒããã€ããŒãªã³ã¯ãã³ã¡ã³ããæ€çŽ¢ãšçœ®æãããŒããããŒãã«ãæç»é£æºãæ¡åŒµå¯èœãª UI ãã©ã°ã€ã³ã | ãªã¢ã«ã¿ã€ã å ±åç·šéãç·šéå±¥æŽãã€ã³ããŒã/ãšã¯ã¹ããŒããå°å·ããã£ãŒããããããããŒãã«ãã¹ããŒã¯ã©ã€ã³ãã¢ãŠãã©ã€ã³ãå³åœ¢ãã»ã«å ã°ã©ãã£ãã¯ã¹ãããŒã¿ã³ãã¯ã¿ããµãŒããŒãµã€ãèšç®ã匷åãããæ°åŒæ©èœã |
| Docs | ãªããããã¥ã¡ã³ãã¢ãã«ãç·šé UIããªã¹ãããã€ããŒãªã³ã¯ãæç»é£æºãã³ã¡ã³ããã¯ã€ãã¯æ¿å ¥ãå ±æããã¥ã¡ã³ãã¢ãŒããã¯ãã£ã | å ±åç·šéãã€ã³ããŒã/ãšã¯ã¹ããŒããå°å·ã匷åãããããŒãã«ãšãªã¹ããæ®µçµã¿ãã³ãŒã«ã¢ãŠããã³ãŒããããã¯ãåŒçšãããã¯ãå³åœ¢ããªã¢ãŒãã³ã¡ã³ããªãœãŒã¹ã |
| Slides | ãã¬ãŒã³ããŒã·ã§ã³ããŒã¿ã¢ãã«ãš UI ããã±ãŒãžãçŸåšã掻çºã«éçºäžã§ãã | Pro ã¹ã©ã€ãã¢ãã«ãš UIãã¹ã©ã€ãã®ã€ã³ããŒã/ãšã¯ã¹ããŒãããã£ãŒããšããŒãã«ã®ã¢ãã«/UI ãã©ã°ã€ã³ãå ±æã®å³åœ¢ç·šéåºç€ã |
| Bases | Univer ã®ãã©ã°ã€ã³ãã³ãã³ããã¢ãã«ã®ã¢ãŒããã¯ãã£äžã«ãã«ã¹ã¿ã ã®æ§é åããŒã¿äœéšãæ§ç¯ã§ããŸãã | Base ããŒã¿ããŒã¹ã¢ãã«ãã³ãã³ããæ°åŒé£æºãã¯ãŒã¯ãã³ã UIããã£ãŒã«ããšãã£ã¿ãã¬ã³ããªã³ã°ãšã³ãžã³ãã¥ãŒã |
| Runtime | ãã©ãŠã¶ã¢ããªãNode.js ãããã¬ã¹å©çšãWeb Worker/RPC ãã¿ãŒã³ãè€æ°ã€ã³ã¹ã¿ã³ã¹ããµãŒããŒåãèªååã | å ±åç·šéã¯ã©ã€ã¢ã³ã/ãµãŒããŒããã±ãŒãžãNode.js å ±åç·šéã¯ã©ã€ã¢ã³ããPro ãµãŒããŒãµãŒãã¹ãSSRãèšç®å§è²ããµãŒããŒãµã€ãèšç®ãchangeset replay ããŒã«ã |
| Integrations | ReactãVueãWeb Componentsããã¬ãŒã ã¯ãŒã¯ãã³ãã¬ãŒããããŒããããŒã«ã©ã€ãºãã«ã¹ã¿ã ãã©ã°ã€ã³ã | Pro presets ãšãšã³ã¿ãŒãã©ã€ãºãããã€ããã±ãŒãžã |
çŸåšãã£ãšãæçããŠãããããã¯ãé¢ã¯ Sheets ã§ããDocs ãš Slides ã Univer ã®ã¢ãŒããã¯ãã£ãå ±æããåã SDK ã®äžã§ç¶ç¶çã«é²åããŠããŸãã
ð Open Source ãš Pro
ãã®ãªããžããªã«ã¯ Univer ã®ãªãŒãã³ãœãŒã¹ã³ã¢ãš first-party OSS ãã©ã°ã€ã³ãå«ãŸããŠããŸããUniver Pro ã¯ãé«åºŠãªãããã¯ããµãŒãã§ã¹ãå ±åç·šéããµãŒããŒæ©èœããšã³ã¿ãŒãã©ã€ãºé£æºã®ããã®åçšæ¡åŒµã¬ã€ã€ãŒãšããŠå¥ééçºãããŠããŸãã
| ã«ããŽãª | Open source | Univer Pro / commercial |
|---|---|---|
| Foundation | Core SDKããã©ã°ã€ã³ã·ã¹ãã ãã¬ã³ããªã³ã°ãšã³ãžã³ãæ°åŒãšã³ãžã³ãFacade APIãããŒããi18nããã¬ãŒã ã¯ãŒã¯ã¢ããã¿ã | Pro presets ãšãšã³ã¿ãŒãã©ã€ãºãããã€ããã±ãŒãžã |
| Sheets | ã³ã¢ã®ã¹ãã¬ããã·ãŒãç·šéãæ°åŒãæ°å€æžåŒããã£ã«ã¿ãŒ/ãœãŒããããŒã¿æ€èšŒãæ¡ä»¶ä»ãæžåŒãããŒããããŒãã«ããã€ããŒãªã³ã¯ãã³ã¡ã³ããæç»ãæ€çŽ¢ãšçœ®æã | å ±åç·šéãç·šéå±¥æŽãã€ã³ããŒã/ãšã¯ã¹ããŒããå°å·ããã£ãŒããããããããŒãã«ãã¹ããŒã¯ã©ã€ã³ãã¢ãŠãã©ã€ã³ãå³åœ¢ãã»ã«å ã°ã©ãã£ãã¯ã¹ãããŒã¿ã³ãã¯ã¿ãç¯å²ã®ååŠçã匷åãããæ°åŒãšã³ãžã³æ©èœã |
| Docs | ããã¥ã¡ã³ãã¢ãã«ãšç·šé UIããªã¹ãããã€ããŒãªã³ã¯ãã³ã¡ã³ããã¯ã€ãã¯æ¿å ¥ãæç»é£æºã | å ±åç·šéãã€ã³ããŒã/ãšã¯ã¹ããŒããå°å·ã匷åãããããŒãã«/ãªã¹ããæ®µçµã¿ãã³ãŒã«ã¢ãŠããã³ãŒããããã¯ãåŒçšãããã¯ãå³åœ¢ããªã¢ãŒãã¹ã¬ããã³ã¡ã³ããªãœãŒã¹ã |
| Slides | OSS ã®ãã¬ãŒã³ããŒã·ã§ã³ã¢ãã«ãš UI ããã±ãŒãžã | Pro ã¹ã©ã€ãã¢ãã«/UI ããã±ãŒãžãã¹ã©ã€ãã®ã€ã³ããŒã/ãšã¯ã¹ããŒãããã£ãŒããããŒãã«ãåå©çšå¯èœãªå³åœ¢ãšãã£ã¿ UIã |
| Bases | ã«ã¹ã¿ã ã®ããŒã¿äžå¿ãããã¯ãåãã®æ¡åŒµå¯èœãªãã©ã°ã€ã³ã¢ãŒããã¯ãã£ã | Base ããŒã¿ããŒã¹ã³ã¢ã¢ãã«ãã³ãã³ãããã¥ãŒããŒã·ã§ã³ãæ°åŒé£æºãã¯ãŒã¯ãã³ã UIããã£ãŒã«ããšãã£ã¿ãã¬ã³ããªã³ã°ãšã³ãžã³é£æºã |
| Server and runtime | Node.js ãããã¬ã¹ã©ã³ã¿ã€ã ãRPC/Web Worker ãã¿ãŒã³ããµãŒããŒåãèªååã®ããªããã£ãã | å ±åç·šéãµãŒããŒãNode.js å ±åç·šéã¯ã©ã€ã¢ã³ããSSR ãµãŒãã¹ãèšç®å§è²ããµãŒããŒãµã€ãèšç®ãå ±åç·šé changeset replay ããŒã«ã |
Pro æ©èœã¯ Univer Pro guide ã«èšèŒãããŠããŸããããã§ã¯ OSS ããã±ãŒãžã®ç¯å²ãæç¢ºã«ãããããæå³çã«åããŠèª¬æããŠããŸãã
Boundary principles:
- ãã®ãªããžããªã® OSS ããã±ãŒãžã¯ Apache-2.0 license ã®äžã§åç¬å©çšã§ããããšãæå³ããŠããŸããUniver Pro ã¯ä»»æã§ãããå ¬é OSS SDK API ã®å©çšã« Pro ã¯äžèŠã§ãã
- OSS ããã±ãŒãžã® bugsãregressionsãsecurity issues ã¯ãé¢é£ãã Pro æ©èœãããå Žåã§ã OSS ãªããžããªã§å ±åã»ä¿®æ£ãããã¹ãã§ãã
- OSS documentation ã¯ãPro-only capabilities ãå
Ž
@univerjs/*packages ã«å«ãŸãããã®ããã«ç€ºãã¹ãã§ã¯ãããŸãããPro-only APIsãpackagesãdeployment paths ã¯æç€ºçã«ååãåºããŠãã ããã - OSS feature ã« Pro enhancement ãããå Žåã§ããOSS behavior ã¯ç¬ç«ããŠææžåããcommercial docs ãå ã«èªãŸãªããŠã open-source surface ãè©äŸ¡ã§ããããã«ããŸãã
ð ãšã³ã·ã¹ãã
- Core SDKïŒ
dream-num/univerããã® monorepo ã§ãã - PresetsïŒãã®ãªããžããªã®
presets/ããã©ãŠã¶ãš Node.js ã¢ããªåãã® curated plugin collection ã§ãã - AI agent skillsïŒ
dream-num/univer-sdk-skillsãUniver çµ±åãPro æ©èœããã©ã°ã€ã³éçºãNode ããã¯ãšã³ãã«åãçµã AI agent åãã®åå©çšå¯èœãªæç€ºéã§ããAI Skills guide ãåç §ããŠãã ããã - DocumentationïŒdocs.univer.aiãSheetsãDocsãSlidesãrecipesãPro guides ãå«ã¿ãŸãã
- API ReferenceïŒdocs.univer.ai/referenceãFacade API ãšçæããã API referenceã
- Examples and showcaseïŒUniver Showcase ãšãã®ãªããžããªã®
examples/ã - AI-native spreadsheetsïŒ
dream-num/univer-mcpãèªç¶èšèªã§ Univer Sheets ãæäœãã Univer Platform / MCP çµ±åã
ðŠ ãªããžããªæ§æ
.
âââ packages/ ã³ã¢ããã±ãŒãžããšã³ãžã³ãææžã¿ã€ããUI ãã©ã°ã€ã³ãæ©èœãã©ã°ã€ã³
âââ examples/ ããŒã«ã«ãã©ãŠã¶éçºçšã®ãªãŒã«ã€ã³ã¯ã³ Vite ã¯ãŒã¯ãã³ã
âââ common/ å
±æå
éšããŒã«ãstorybookããŠãŒãã£ãªãã£
âââ tests/ 远å ã®çµ±åãã¹ããããžã§ã¯ã
âââ docs/ ã¢ãŒããã¯ãã£ã¡ã¢ãç»åããªããžããªå
ããã¥ã¡ã³ã
ããã±ãŒãžããšã® README 㯠packages/ é
äžã®åããã±ãŒãžã«ãããŸãã
ð§âð» éçº
å¿ èŠç°å¢ïŒ
- Node.js
>=22.18 - pnpm
>=11
git clone https://github.com/dream-num/univer.git
cd univer
pnpm install
pnpm dev
ãã䜿ãã³ãã³ãïŒ
| ã³ãã³ã | çšé |
|---|---|
pnpm dev |
äœã¡ã¢ãªã®ãªãŒã«ã€ã³ã¯ã³ã¯ãŒã¯ãã³ãããã«ãããHMR ãªãã§ãã¬ãã¥ãŒããŸãã |
pnpm dev:source |
HMR 察å¿ã§ãœãŒã¹ããèµ·åããŸããã³ãŒã«ãã¹ã¿ãŒããšã¡ã¢ãªäœ¿çšéã¯å¢å ããŸãã |
pnpm build |
å éš common ããã±ãŒãžãé€ã㊠workspace ããã±ãŒãžããã«ãããŸãã |
pnpm test |
Turbo çµç±ã§ãŠããããã¹ããå®è¡ããŸãã |
pnpm typecheck |
Turbo çµç±ã§ TypeScript ãã§ãã¯ãå®è¡ããŸãã |
pnpm lint |
ESLint ãå®è¡ããŸãã |
pnpm storybook:dev |
UI ã³ã³ããŒãã³ãéçºçšã® Storybook ãèµ·åããŸãã |
Pull request ãäœæããåã« CONTRIBUTING.md ãèªãã§ãã ããã
ð Contributor Notes
ããæ·±ã倿Žãè¡ãåã«èªã䟡å€ã®ãããªããžããªå ã¡ã¢ã§ãã
- Building Isomorphic UniverïŒãã©ãŠã¶ãNode.jsãUIãå ±æãã©ã°ã€ã³ããžãã¯ã®å颿¹éã
- API Stability PolicyïŒstableãexperimentalãinternalãdeprecatedãbreaking-change expectationsã
- Contributing to Facade APIïŒ
FUniverãFWorkbookãFRangeãªã©ã® Facade API èšèšæ¹éã - Naming ConventionïŒãã¡ã€ã«ããã©ã«ããã€ã³ã¿ãŒãã§ãŒã¹ããã©ã°ã€ã³ãã³ãã³ããDI token ã®åœåèŠåã
- Fixing Memory LeaksïŒUniver ã€ã³ã¹ã¿ã³ã¹ã§ããããã¡ã¢ãªãªãŒã¯ãã¿ãŒã³ãšãããã°æé ã
- Architecture TLDRsïŒæ°åŒãšã³ãžã³ãWeb Workerãæš©éãéžæãref-range ã®ç°¡æœãªèšèšã¡ã¢ã
ð¬ ã³ãã¥ããã£
- GitHub Discussions ã§è³ªåã§ããŸãã
- Discord ã§ã³ãã¥ããã£ãšäº€æµã§ããŸãã
- Twitter / X ãš YouTube ããã©ããŒã§ããŸãã
åå ããåã« Code of Conduct ãèªãã§ãã ããã
ð ã»ãã¥ãªãã£
ã»ãã¥ãªãã£äžã®åé¡ãèŠã€ãããšæãããå Žåã¯ãSecurity Policy ã«åŸã£ãŠãã ããã
â€ïž ã¹ãã³ãµãŒ
Univer ã¯ã³ãã¥ããã£ãšã¹ãã³ãµãŒã«ãã£ãŠæ¯ããããŠããŸããOpen Collective ãããããžã§ã¯ããæ¯æŽã§ããŸãã
ð ã©ã€ã»ã³ã¹
Copyright (c) 2021-present DreamNum Co., Ltd.
Apache-2.0 ã©ã€ã»ã³ã¹ã®äžã§å ¬éãããŠããŸãã