LearnNewsExamplesServices
Frontmatter
id7036
titleUpdate Framework Comparison Guides
stateClosed
labels
enhancement
assigneestobiu
createdAtJul 13, 2025, 11:06 AM
updatedAtJul 13, 2025, 11:10 AM
githubUrlhttps://github.com/neomjs/neo/issues/7036
authortobiu
commentsCount0
parentIssue7029
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJul 13, 2025, 11:10 AM

Update Framework Comparison Guides

Closed v10.0.0-beta.6 enhancement
tobiu
tobiu commented on Jul 13, 2025, 11:06 AM

Summary

The framework comparison guides located in learn/comparisons/ have been updated to reflect the latest advancements in the Neo.mjs functional component API and core reactivity system. The JSDoc for defineComponent was also updated to serve as a primary source of truth.

Reason for Update

To ensure technical accuracy and to clearly articulate the significant advantages of Neo.mjs's architecture, particularly in contrast to established frameworks like React. The recent finalization of the defineComponent and useConfig APIs provided new insights that needed to be documented.

Key Changes Applied

  1. NeoVsReact.md:

    • Re-contextualized React as a legacy industry standard, not a "modern" framework.
    • Clarified the "mutability for the developer, immutability for the process" VDOM strategy.
    • Detailed the precision of Effect-based rendering vs. React's cascading re-render model, removing the need for manual memoization.
    • Added a "Linear Effort for Complexity" section with a concrete example.
  2. NeoVsAngular.md:

    • Updated to include the new dual (class-based and functional) component model.
    • Contrasted Angular's Zone.js with the surgical precision of Neo.mjs's Effect-based reactivity.
  3. NeoVsSolid.md:

    • Refined the comparison between Solid's "run-once" components and Neo.mjs's re-running createVdom effects.
    • Clarified the architectural trade-offs (Solid's Main-Thread speed vs. Neo.mjs's guaranteed Main-Thread responsiveness).
  4. NeoVsExtJs.md:

    • Updated to highlight the modern dual component model as a clear upgrade path.
    • Sharpened the contrast between Ext.js's manual eventing and Neo.mjs's automatic, fine-grained reactivity.
  5. src/functional/defineComponent.mjs:

    • The main JSDoc for the function was rewritten to clearly distinguish between:
      • Named configs (static config): For the public component API (props).
      • useConfig(): For private, encapsulated component state.

Files Modified

  • /Users/Shared/github/neomjs/neo/learn/comparisons/NeoVsReact.md
  • /Users/Shared/github/neomjs/neo/learn/comparisons/NeoVsAngular.md
  • /Users/Shared/github/neomjs/neo/learn/comparisons/NeoVsSolid.md
  • /Users/Shared/github/neomjs/neo/learn/comparisons/NeoVsExtJs.md
  • /Users/Shared/github/neomjs/neo/src/functional/defineComponent.mjs
tobiu assigned to @tobiu on Jul 13, 2025, 11:06 AM
tobiu added parent issue #7029 on Jul 13, 2025, 11:06 AM
tobiu added the enhancement label on Jul 13, 2025, 11:06 AM
tobiu referenced in commit da1264c - "Update Framework Comparison Guides #7036" on Jul 13, 2025, 11:10 AM
tobiu closed this issue on Jul 13, 2025, 11:10 AM