UNPKG

@nlabs/gothamjs

Version:
83 lines (62 loc) 3.8 kB
# GothamJS vs Other Frameworks This comparison highlights the key differences between GothamJS and other popular React frameworks. ## Feature Comparison | Feature | GothamJS | Next.js | Create React App | Gatsby | |---------|----------|---------|-----------------|--------| | **Setup Complexity** | Low | Medium | Low | Medium | | **Routing** | Built-in (React Router) | Built-in (File-based) | Requires react-router | Built-in (Gatsby Router) | | **State Management** | Built-in (ArkhamJS/Flux) | External (Redux, etc.) | External (Redux, etc.) | External (Redux, etc.) | | **Form Handling** | Built-in (React Hook Form + Zod) | External | External | External | | **UI Components** | Built-in | External | External | External | | **Internationalization** | Built-in (i18next) | External | External | External | | **Authentication** | Built-in | External | External | External | | **Notifications** | Built-in | External | External | External | | **SSR/SSG Support** | No | Yes | No | Yes | | **Development Experience** | Streamlined | Comprehensive | Basic | Comprehensive | | **Bundle Size** | Medium | Large | Small | Large | | **Learning Curve** | Gentle | Steep | Gentle | Steep | | **Customization** | High | High | Medium | Medium | | **Community Size** | Small | Very Large | Very Large | Large | ## When to Choose GothamJS ### Choose GothamJS when: - You want a complete, ready-to-use React framework with minimal configuration - You prefer a Flux-based state management approach - You need built-in form handling with validation - You want a consistent UI component library out of the box - You're building a client-side application with authentication needs - You value developer experience and want to minimize boilerplate code ### Choose Next.js when: - You need server-side rendering (SSR) or static site generation (SSG) - You want file-based routing - You need advanced deployment options (Vercel integration) - You're building a large-scale application with a large team - You need API routes built into your application ### Choose Create React App when: - You want a minimal React setup with maximum flexibility - You prefer to add libraries as needed - You're building a simple client-side application - You're learning React and want to start with the basics ### Choose Gatsby when: - You're building a static website or blog - You need excellent image optimization - You want to use GraphQL for data fetching - You need a large plugin ecosystem - You're building a content-heavy site ## Migration Path If you're considering migrating to GothamJS from another framework, here's what you need to know: ### From Create React App to GothamJS 1. Install GothamJS and its dependencies 2. Replace your root component with `<Gotham>` 3. Configure your routes in the GothamJS config object 4. Migrate your state management to ArkhamJS 5. Replace form components with GothamJS form components 6. Replace UI components with GothamJS components ### From Next.js to GothamJS 1. Install GothamJS and its dependencies 2. Convert file-based routing to GothamJS route configuration 3. Migrate server-side logic to API endpoints or serverless functions 4. Migrate state management to ArkhamJS 5. Replace UI components with GothamJS components ## Conclusion GothamJS offers a comprehensive solution for React applications with a focus on developer experience and productivity. While it may not have the large ecosystem of Next.js or the SSR capabilities of Gatsby, it excels at providing a complete, ready-to-use framework for client-side applications with minimal configuration. By combining routing, state management, form handling, and UI components in a single package, GothamJS allows developers to focus on building features rather than configuring tools and libraries.