Convert Figma logo to code with AI

supnate logorekit

IDE and toolkit for building scalable web applications with React, Redux and React-router

4,477
258
4,477
104

Top Related Projects

Set up a modern web app by running one command.

29,757

🛠️ webpack-based tooling for Vue.js Development

CLI tool for Angular

55,199

The best React-based framework with performance, scalability and security built in.

124,777

The React Framework

Create and build modern JavaScript projects with zero initial configuration.

Quick Overview

Rekit is an all-in-one toolkit for building scalable React applications. It provides a set of tools, libraries, and best practices to streamline the development process, focusing on productivity and maintainability. Rekit aims to simplify the creation of complex React applications by offering a structured approach to development.

Pros

  • Comprehensive toolkit that includes code generation, project structure, and development tools
  • Promotes best practices and a standardized approach to React application development
  • Includes a powerful CLI and a visual studio for managing and visualizing the project structure
  • Supports Redux and React Router out of the box, simplifying state management and routing

Cons

  • Learning curve for developers unfamiliar with Rekit's specific project structure and conventions
  • May be overkill for smaller projects or teams that prefer more flexibility in their tooling choices
  • Limited customization options for project structure and generated code
  • Less active community and fewer updates compared to some other React toolkits

Code Examples

  1. Creating a new feature:
rekit add feature home

This command generates a new feature called "home" with associated files and folders.

  1. Adding a new component:
rekit add component Header -f home

This creates a new component called "Header" within the "home" feature.

  1. Generating an action:
rekit add action fetchData -f home

This adds a new action called "fetchData" to the "home" feature, including the action creator and reducer.

Getting Started

To get started with Rekit, follow these steps:

  1. Install Rekit globally:
npm install -g rekit
  1. Create a new Rekit project:
rekit create my-app
  1. Navigate to the project directory and start the development server:
cd my-app
npm start
  1. Open your browser and visit http://localhost:3000 to see your new Rekit application.

Competitor Comparisons

Set up a modern web app by running one command.

Pros of Create React App

  • Widely adopted and maintained by Facebook, ensuring regular updates and community support
  • Simpler setup process with minimal configuration required
  • Extensive documentation and large ecosystem of compatible tools and libraries

Cons of Create React App

  • Less flexibility for advanced configurations without ejecting
  • Limited built-in features for larger, more complex applications
  • Potential for bloat with unnecessary dependencies for simpler projects

Code Comparison

Create React App:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

Rekit:

import React from 'react';
import { render } from 'react-dom';
import Root from './Root';

render(<Root />, document.getElementById('root'));

Key Differences

  • Rekit provides a more comprehensive toolkit for building scalable React applications
  • Create React App focuses on simplicity and ease of use for beginners
  • Rekit includes additional features like code generators and a built-in IDE
  • Create React App has a larger user base and more extensive third-party integrations
  • Rekit offers more opinionated project structure and architecture guidelines

Use Cases

  • Choose Create React App for quick prototypes or smaller projects
  • Opt for Rekit when building larger, more complex applications that require scalable architecture
29,757

🛠️ webpack-based tooling for Vue.js Development

Pros of vue-cli

  • Larger community and ecosystem, with more resources and third-party plugins
  • Specifically tailored for Vue.js development, offering optimized workflows
  • Provides a more comprehensive set of features for modern web development

Cons of vue-cli

  • Less flexible for non-Vue.js projects or unconventional architectures
  • Steeper learning curve for developers new to Vue.js ecosystem
  • May include unnecessary features for simpler projects, leading to bloat

Code Comparison

vue-cli:

vue create my-project
cd my-project
npm run serve

Rekit:

npm install -g rekit
rekit create my-project
cd my-project
npm start

Additional Notes

Rekit is a more general-purpose toolkit for React development, offering a modular approach to application structure. It provides a comprehensive set of tools for managing features, actions, and reducers in a React/Redux application.

vue-cli, on the other hand, is specifically designed for Vue.js projects and offers a more opinionated structure. It includes features like hot-reloading, lint-on-save, and production-ready builds out of the box.

While both tools aim to simplify the development process, they cater to different frameworks and philosophies. The choice between them largely depends on the specific project requirements and the developer's familiarity with React or Vue.js ecosystems.

CLI tool for Angular

Pros of Angular CLI

  • Robust ecosystem and extensive community support
  • Comprehensive tooling for Angular development, including testing and deployment
  • Seamless integration with Angular framework and its best practices

Cons of Angular CLI

  • Steeper learning curve for beginners
  • More opinionated structure, which may limit flexibility for some projects
  • Larger bundle sizes compared to more lightweight alternatives

Code Comparison

Angular CLI (generating a new component):

ng generate component my-component

Rekit (creating a new component):

rekit add component features/home/MyComponent

Summary

Angular CLI is a powerful tool specifically designed for Angular development, offering a comprehensive suite of features and tight integration with the Angular ecosystem. It excels in large-scale projects and provides robust tooling for testing and deployment.

Rekit, on the other hand, is a more flexible toolkit that supports React development and aims to simplify the development process with a focus on productivity. It offers a less opinionated structure and may be easier for beginners to grasp.

The choice between these tools depends on the specific project requirements, team expertise, and preferred framework (Angular vs. React). Angular CLI is ideal for dedicated Angular projects, while Rekit provides a more versatile approach for React-based development.

55,199

The best React-based framework with performance, scalability and security built in.

Pros of Gatsby

  • Larger community and ecosystem with extensive plugins and themes
  • Better performance optimization for static sites and progressive web apps
  • More comprehensive documentation and learning resources

Cons of Gatsby

  • Steeper learning curve, especially for developers new to GraphQL
  • Can be overkill for simpler projects or static sites
  • Slower build times for large sites compared to some alternatives

Code Comparison

Gatsby (React-based component):

import React from "react"
import { Link } from "gatsby"

const Header = () => (
  <header>
    <Link to="/">Home</Link>
  </header>
)

Rekit (React-based component):

import React from 'react';
import { Link } from 'react-router-dom';

const Header = () => (
  <header>
    <Link to="/">Home</Link>
  </header>
);

Both frameworks use React for component-based development, but Gatsby provides its own Link component optimized for its ecosystem, while Rekit uses the standard react-router-dom for navigation.

Gatsby is more suited for building static sites and progressive web apps with advanced performance optimizations, while Rekit focuses on providing a complete toolkit for React-based web application development with a more straightforward approach.

124,777

The React Framework

Pros of Next.js

  • Larger community and ecosystem, with more resources and third-party integrations
  • Built-in performance optimizations, including automatic code splitting and server-side rendering
  • Seamless integration with Vercel's deployment platform

Cons of Next.js

  • Steeper learning curve for developers new to React or server-side rendering concepts
  • Less flexibility in project structure compared to Rekit's modular approach
  • Potentially more complex configuration for advanced use cases

Code Comparison

Next.js:

import { useEffect, useState } from 'react'

function HomePage() {
  const [data, setData] = useState(null)

  useEffect(() => {
    fetch('/api/data').then(res => res.json()).then(setData)
  }, [])

  return <div>{data ? JSON.stringify(data) : 'Loading...'}</div>
}

Rekit:

import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';

function HomePage() {
  const dispatch = useDispatch();
  const data = useSelector(state => state.home.data);

  useEffect(() => {
    dispatch({ type: 'home/fetchData' });
  }, [dispatch]);

  return <div>{data ? JSON.stringify(data) : 'Loading...'}</div>;
}

Create and build modern JavaScript projects with zero initial configuration.

Pros of Neutrino

  • More flexible and customizable build configuration system
  • Supports a wider range of project types (React, Vue, Node.js, etc.)
  • Larger community and more frequent updates

Cons of Neutrino

  • Steeper learning curve for beginners
  • Requires more manual setup and configuration
  • Less opinionated, which may lead to decision fatigue

Code Comparison

Neutrino configuration example:

module.exports = {
  use: [
    '@neutrinojs/react',
    '@neutrinojs/jest',
    ['@neutrinojs/style-loader', { modules: true }]
  ]
};

Rekit configuration example:

{
  "name": "my-app",
  "version": "1.0.0",
  "rekit": {
    "version": "3.0.0",
    "plugins": []
  }
}

Summary

Neutrino offers more flexibility and supports a wider range of project types, making it suitable for diverse development needs. It has a larger community and receives more frequent updates. However, Neutrino has a steeper learning curve and requires more manual setup.

Rekit, on the other hand, provides a more opinionated and structured approach, which can be beneficial for beginners or teams looking for a standardized development workflow. It offers a simpler configuration process but may be less flexible for complex or non-standard project requirements.

The choice between Neutrino and Rekit depends on the specific needs of the project and the development team's preferences for flexibility versus structure.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Build Status Coverage Status Gitter Demo MIT licensed Code Quality: Javascript Total Alerts

An all-in-one solution for creating modern React apps

Rekit is a toolkit for building scalable web applications with React, Redux and React-router. It helps you focus on business logic rather than dealing with massive libraries, patterns, configurations etc.

Rekit creates apps bootstrapped by create-react-app and uses an opinionated way to organize folder and code. It's designed to be scalable, testable and maintainable by using feature oriented architecture, one action per file pattern. This ensures application logic is well grouped and decoupled.

Rekit consists of three pieces:

  • Rekit App Download the latest desktop App for Mac. Windows version is coming...
  • Rekit Studio: A complete web IDE for React, Redux, and React Router development
  • Rekit CLI: A command line tool to create and manage projects, components, actions, etc.

Read more about the new Rekit Studio in the blog post

🎉 Rekit Now Creates Apps By Create-react-app

🔥 Introducing Rekit Studio: a real IDE for React and Redux development

🎉 Using Rekit Studio in an Existing React Project

Demo

Below is a quick demo video of how Rekit Studio works:

Rekit Demo

You can also see the live demo, but the instructions shown on the intro might be outdated: http://demo.rekit.org

Installation

If you are on Mac you can use the desktop app.

Install with npm:

npm install -g rekit  # Install Rekit CLI
npm install -g rekit-studio  # Install Rekit Studio

This will install the commands rekit and rekit-studio to the system. Rekit is developed and tested on npm 3+ and node 6+, so this is the prerequisite for using Rekit.

Usage

Create a new application

rekit create <app-name> [--sass]

This will create a new app named app-name in the current directory. The --sass flag allows to use sass instead of default less as the CSS transpiler. After creating the app, you need to install dependencies:

cd app-name
npm install

Now, we can start Rekit Studio with:

rekit-studio -p 3040

Finally, you can open Rekit Studio at http://localhost:3040/. At the bottom in the "Scripts" tab you can find buttons to start, build, and test your app.

Key Features

  • It's production-ready but not a starter kit.
  • Zero additional configuration needed after creating an app.
  • Dedicated IDE for Rekit development.
  • Command line tools to manage actions, reducers, components and pages.
  • Bootstrapped by create-react-app, all your knowledge about it still works.
  • Use Webpack 3 for bundling.
  • Use Babel for ES2015(ES6)+ support.
  • Use React hot loader for hot module replacement.
  • Use Redux for application state management.
  • Use React-router for routing and it's configured with Redux reducer.
  • Use Webpack dll plugin to improve dev-time build performance.
  • Use Less or Sass as CSS transpilers.
  • Use jest, enzyme for testing.
  • Support Redux dev tools.

Packages

The Rekit organization contains a number of packages.

PackagesDescription
rekit-coreVersion Provide core APIs such as create components, rename actions, etc...
rekitVersion CLI wrapper of rekit-core, create apps by cloning repo from rekit-boilerplate-cra
rekit-studioVersion Dedicated IDE for Rekit development, uses rekit-core to manage project too.
rekit-plugin-redux-sagaVersion Use redux-saga instead of redux-thunk for async actions.
rekit-plugin-selectorVersion Support selectors by Rekit cli.
rekit-plugin-apolloVersion Support graphql by Apollo.

Documentation

Disclaimer: Some of documentation, particularly around installation, is outdated since the release of 3.0

http://rekit.js.org

License

MIT

NPM DownloadsLast 30 Days