JavaScript 就足够了
JavaScript Is Enough

原始链接: https://geajs.com/

## Gea.js:现代Web应用工具包 Gea.js是一个全面的Web应用构建工具包,提供基于类和函数的组件,且无运行时开销。它内置了客户端路由器,具有路由参数和程序化导航等功能,无需外部包。 性能是其关键关注点,利用高效的事件委托和细粒度的数组变更检测来最小化重新渲染。Gea.js还提供了一个强大的UI库(Gea UI),包含35多个可访问组件以及滑动手势和下拉刷新等移动端特定功能。 开发流程已得到简化,通过Vite插件实现热模块替换(HMR),并且即将推出VS Code扩展。值得注意的是,Gea.js通过双向props和计算getter简化了状态管理,利用JavaScript语义实现直观的数据流。最后,它被设计为“AI就绪”,内置对Cursor和Codex等AI助手提供支持,以加速开发。

## Gea:一个注重原生语言体验的 JavaScript 框架 Gea 是一个新的 JavaScript 框架,旨在提供响应式功能,而无需引入新概念,而是利用该语言现有的范式。作者自 2011 年以来一直在开发 JS 框架(之前的项目包括 tartJS、erste 和 regie),优先考虑开发者体验,使其对 JavaScript 感觉“原生”。 主要特性包括一个优化 DOM 更新的编译器,可能无需虚拟 DOM,以及一个使用标准 JavaScript 类作为存储,并使用 getter 作为计算值的设计。虽然性能基准测试显示出与 Solid 等框架具有竞争力的结果,但主要目标是简单性和易用性。 讨论围绕性能与开发者体验之间的权衡、代理在响应式中的使用,以及框架对双向绑定的处理方式。一些用户对网站的美观(被描述为“AI 生成”)和性能声明的有效性表示担忧。作者强调致力于项目发展,并欢迎社区贡献。
相关文章

原文

A complete toolkit for building modern web applications, from single components to full SPAs.

Class Components

Extend Component, add local reactive state, implement template(). OOP the way it was meant to be.

Function Components

Export a function that returns JSX. Converted to a class component at build time — zero overhead.

Client-Side Router

Built-in RouterView, Link, route params, wildcards, and programmatic navigation. No extra packages.

Event Delegation

All event handlers compile to a single delegated listener per event type. Efficient by default.

Fine-Grained Arrays

Array methods like push, splice, sort produce granular change events — append, reorder, swap — not full rerenders.

Gea UI

35+ accessible components built on Zag.js — dialogs, menus, selects, tabs, tooltips, accordions, comboboxes, and more. Ready to style.

Gea Mobile

ViewManager, sidebar, tab views, pull-to-refresh, infinite scroll, swipe gestures — all iOS-style smooth.

HMR Support

The Vite plugin provides hot module replacement. Edit a store or component and see it update instantly.

VS Code Extension SOON

Component completion, prop inference, event attribute hints, hover details, and unknown component warnings.

Two-Way Props

Props follow JavaScript semantics. Objects and arrays are passed by reference — the child mutates them, both sides update. No emit, no v-model, no callback wiring. It's just how the language works.

Computed Getters

Derived state is a standard get accessor on your store. No useMemo, no computed() wrapper. The compiler detects dependencies and subscribes automatically.

AI-Ready

Ships with agent skills that teach Cursor, Codex, and other AI assistants the full Gea API. Scaffold and iterate on Gea apps with complete AI assistance out of the box.

联系我们 contact @ memedata.com