使用TypeScript和CSS编写的原生应用
摘要
本文介绍一个GitHub仓库,其中包含示例应用和工具,用于GeaStack框架。该框架可使用TypeScript和CSS构建面向网页、嵌入式系统和GeaOS的原生应用。
查看缓存全文
缓存时间: 2026/09/22 21:53
geastack/examples 来源:https://github.com/geastack/examples
GeaStack 示例
适用于GeaStack的示例应用与工具。
此仓库是模拟器、嵌入式目标、GeaOS、Apple目标、VS Code/Cursor扩展以及营销演示所使用的应用库。
每个示例都是一个包含 gea 清单的 package.json 的小型包。
内容概览
| 路径 | 用途 |
|---|---|
apps/* | Gea应用。多数是面向Web、ESP32和/或GeaOS的TSX应用。 |
apps/*/package.json | 应用清单、目标兼容性、脚本和启动器元数据。 |
tools/dialer-browser | 适用于拨号器工作流的小型浏览器端辅助工具。 |
package.json | 示例集合的工作区标记。 |
docs | 目录与贡献指南。 |
快速开始
运行单个示例的检查:
cd apps/watch
npm install
npm run check
npm run build
部分示例包含测试,主要用于布局或设备设置。可在应用文件夹中使用 npm test 运行。
Web循环由模拟器驱动,模拟器位于独立仓库:geastack/simulator。
其脚本从应用项目根目录读取应用,路径通过 GEA_APPS_ROOT 指定——即此仓库或您自己的仓库。该变量无默认值,需设置或通过 --app-dir 参数指定。两个检出位置无需相邻。
cd /path/to/simulator
GEA_APPS_ROOT=/path/to/examples ./targets/web/dev-web.mjs watch # 开发循环
GEA_APPS_ROOT=/path/to/examples ./targets/web/build-web.sh watch # Web构建
./targets/web/dev-web.mjs --app-dir /path/to/examples/apps/watch # 或指定单一应用
通过Gea CLI刷写兼容开发板:
npx gea flash watch --board
npx gea flash watch --board --monitor
文档
- docs/EXAMPLE-CATALOG.md:示例分类、目标兼容性及清单使用方式。
- docs/DEVELOPMENT.md:如何添加、测试及维护示例应用。
应用清单基础
每个可构建的应用应在 package.json 中包含 gea 字段:
{
"gea": {
"id": "watch",
"name": "Watch",
"entry": "index.tsx",
"runtime": "gea",
"targets": {
"web": true,
"esp32": true,
"geaos": true
}
}
}
此清单被模拟器、嵌入式开发板脚本、GeaOS、Apple目标及IDE扩展使用。请保持其准确性。
维护说明
- 保持示例精简专注。优秀的示例应清晰验证单一功能。
- 优先使用框架共享API,避免在示例内进行特定目标的特殊处理。
- 为包含非平凡逻辑、物理模拟或解析功能的示例添加测试。
- 当应用被添加、重命名、隐藏或目标兼容性变更时,请更新目录文档。
许可证
MIT(详见 LICENSE)。
您可基于此开发闭源产品。唯一采用不同许可证的GeaStack代码是嵌入式开发板支持包(targets 与 @geastack/chips,GPL-3.0-only):通过这些组件分发闭源固件需获取商业许可。
商业条款、技术支持及托管构建服务请联系 [email protected]。
相似文章
@ctatedev:介绍 zero-native 使用 Web UI 和 Zig 构建原生桌面和移动应用 → 精简的二进制文件,低内存占用 → 选…
zero-native 是一款使用 Web UI 和 Zig 编程语言构建原生桌面和移动应用的新工具,具有精简的二进制文件、低内存占用的特点,并支持多种 Web 引擎(WKWebView、WebKitGTK、WebView2、Chromium/CEF)和框架(Next.js、Vue、Svelte、Vite、React)。
Show HN: 我使用 Rust 和 GPUI 构建了一个用于编码代理的原生应用
Waku 是一个使用 Rust 和 GPUI 构建的原生应用,它统一管理编码代理的命令行接口,提供本地优先存储、键盘驱动控制和检查点功能,以实现无缝的开发者工作流。
CSS-in-JS 竞技场:Bamboo、StyleX 和 Panda 在像素相同应用上的比较
本文介绍了用于编译时 CSS-in-JS 引擎的基准测试框架,在像素相同的 React 应用上比较了 Bamboo、StyleX 和 Panda CSS,其中 Bamboo 在交付字节数和构建时间等性能指标上领先。
Vercel 发布 Scriptc:TypeScript 到原生代码编译器,二进制文件不包含 JavaScript 引擎
Vercel Labs 发布了 Scriptc,这是一款编译器,能将普通 TypeScript 代码转换为小巧、快速的原生可执行文件,无需在二进制文件中包含 Node、V8 或任何 JavaScript 引擎。它支持 TypeScript 的大部分静态特性及 Node 的 API 接口。
Zero-native – 使用 Web UI 构建原生桌面应用
zero-native 是一个全新框架,允许开发者利用 Web UI 技术和 Zig 编程语言构建原生桌面应用。它强调极小的二进制体积、快速的重新构建能力,以及无需沉重运行时开销即可直接访问 C 库。