rekit
IDE and toolkit for building scalable web applications with React, Redux and React-router
Top Related Projects
Set up a modern web app by running one command.
🛠️ webpack-based tooling for Vue.js Development
CLI tool for Angular
The best React-based framework with performance, scalability and security built in.
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
- Creating a new feature:
rekit add feature home
This command generates a new feature called "home" with associated files and folders.
- Adding a new component:
rekit add component Header -f home
This creates a new component called "Header" within the "home" feature.
- 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:
- Install Rekit globally:
npm install -g rekit
- Create a new Rekit project:
rekit create my-app
- Navigate to the project directory and start the development server:
cd my-app
npm start
- 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
🛠️ 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.
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.
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 designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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:
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.
Packages | Description |
---|---|
rekit-core | Provide core APIs such as create components, rename actions, etc... |
rekit | CLI wrapper of rekit-core, create apps by cloning repo from rekit-boilerplate-cra |
rekit-studio | Dedicated IDE for Rekit development, uses rekit-core to manage project too. |
rekit-plugin-redux-saga | Use redux-saga instead of redux-thunk for async actions. |
rekit-plugin-selector | Support selectors by Rekit cli. |
rekit-plugin-apollo | Support graphql by Apollo. |
Documentation
Disclaimer: Some of documentation, particularly around installation, is outdated since the release of 3.0
License
MIT
Top Related Projects
Set up a modern web app by running one command.
🛠️ webpack-based tooling for Vue.js Development
CLI tool for Angular
The best React-based framework with performance, scalability and security built in.
The React Framework
Create and build modern JavaScript projects with zero initial configuration.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot