本页面全面介绍了 Ionic Framework 仓库,解释了其目的、架构和组件组织。Ionic Framework 是一个开源 UI 工具包,用于使用 Web 技术(HTML、CSS、JavaScript)通过单一代码库构建高质量、跨平台原生和 Web 应用程序。
Ionic Framework 基于标准的 Web 技术构建,并提供丰富的 UI 组件库,这些库经过优化,可用于构建跨平台的移动和桌面应用程序。其核心功能是独立于框架(实现为 Web Components),并提供 Angular、React 和 Vue 的官方集成。
来源:core/package.json README.md
Ionic Framework 使用 Lerna 管理的 monorepo 架构。这种方法允许集中管理多个包,同时保持清晰的依赖关系边界。
来源:package.json core/package.json
@ionic/core 包是 Ionic Framework 的基础。它包含了所有 UI 组件的实现,这些组件是使用 Stencil 构建的、独立于框架的 Web Components。
@ionic/core 的主要特性
Ionic Framework 为主流前端框架提供了官方集成
每个框架集成包都改编了核心 Web Components,使其能够与各自框架的范式和模式无缝协同工作。
来源:packages/angular/package.json packages/react/package.json packages/vue/package.json
每个框架集成都有一个相应的路由包来处理导航
来源:packages/angular-server/package.json packages/react-router/package.json packages/vue-router/package.json
Ionic 的组件架构围绕 Web Components 构建,这些 Web Components 使用 Stencil 实现。这使得组件可以与任何框架或不带框架一起使用。
Ionic 组件分为几个关键类别
Ionic 提供了一个复杂的导航系统,该系统模仿了原生移动导航模式,同时在浏览器环境中运行。
来源:packages/angular-server/package.json packages/react-router/package.json packages/vue-router/package.json
覆盖系统管理出现在其他内容之上的组件,例如模态框、警报和弹出窗口。
Ionic Framework 遵循语义化版本控制 (MAJOR.MINOR.PATCH)。该项目维护一个详细的更改日志,跟踪所有更改,包括新功能、错误修复和重大更改。
截至本文档,当前版本为 8.5.5。
来源:CHANGELOG.md core/package.json
Ionic 依赖于几个关键依赖项
来源:core/package.json packages/angular/package.json packages/react/package.json packages/vue/package.json
有关 Ionic Framework 特定方面的更详细信息,请参阅以下资源