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助手提供支持,以加速开发。

一个新的 JavaScript 框架 Gea (gea.js.com) 正在 Hacker News 上引发讨论。它旨在通过仅精确地修补*实际*发生变化的 DOM 节点来提高性能,而不是像许多现代网站那样重新渲染整个响应式 DOM。 据报道,该项目仅用三天时间构建完成,引发了争论。一些人对其潜力感到好奇,特别是启用这种目标修补的 Vite 插件。然而,另一些人对它的快速开发和质量表示怀疑,认为可能使用了大量的 AI 辅助。 人们对项目文档中的不一致之处(版权日期和单位缩写)表示担忧,这可能表明是 AI 生成的。作者澄清说,Gea 的核心思想可以追溯到 2017 年的早期项目 (erste.js 和 regie)。一个关键问题仍然是:Gea 是否提供了一种比现有框架(如 Solid)更简单的响应式方法?
相关文章

原文

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