All Projects → unadlib → Reactant

unadlib / Reactant

Licence: mit
A framework for building React applications

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Reactant

Gongular
A different approach to Go web frameworks
Stars: ✭ 438 (+136.76%)
Mutual labels:  framework, dependency-injection
Danf
Danf is a Node.js full-stack isomorphic OOP framework allowing to code the same way on both client and server sides. It helps you to make deep architectures and handle asynchronous flows in order to help in producing scalable, maintainable, testable and performant applications.
Stars: ✭ 58 (-68.65%)
Mutual labels:  framework, dependency-injection
Frint
Modular JavaScript framework for building scalable and reactive applications
Stars: ✭ 608 (+228.65%)
Mutual labels:  framework, dependency-injection
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+2173.51%)
Mutual labels:  framework, dependency-injection
Fx
A dependency injection based application framework for Go.
Stars: ✭ 2,383 (+1188.11%)
Mutual labels:  framework, dependency-injection
Di
Dependency injection container in go (golang)
Stars: ✭ 390 (+110.81%)
Mutual labels:  framework, dependency-injection
Core
Package core is a service container that elegantly bootstrap and coordinate twelve-factor apps in Go.
Stars: ✭ 34 (-81.62%)
Mutual labels:  framework, dependency-injection
Opulence
A simple, secure, and scalable PHP application framework
Stars: ✭ 723 (+290.81%)
Mutual labels:  framework, dependency-injection
Go Web
A new Golang MVC Framework. Like Laravel... but faster!
Stars: ✭ 79 (-57.3%)
Mutual labels:  framework, dependency-injection
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (+535.68%)
Mutual labels:  framework, dependency-injection
Loopback Next
LoopBack makes it easy to build modern API applications that require complex integrations.
Stars: ✭ 3,972 (+2047.03%)
Mutual labels:  framework, dependency-injection
Qframework
Unity3D System Design Architecture
Stars: ✭ 2,326 (+1157.3%)
Mutual labels:  framework, dependency-injection
Getx
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
Stars: ✭ 5,578 (+2915.14%)
Mutual labels:  framework, dependency-injection
Izumi
Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Stars: ✭ 423 (+128.65%)
Mutual labels:  framework, dependency-injection
Transfuse
💉 Transfuse - A Dependency Injection and Integration framework for Google Android
Stars: ✭ 226 (+22.16%)
Mutual labels:  framework, dependency-injection
App
Reusable framework for micro services & command line tools
Stars: ✭ 66 (-64.32%)
Mutual labels:  framework, dependency-injection
Mandarinets
Mandarine.TS is a typescript, decorator-driven framework that allows you to create server-side applications. Mandarine.TS provides a range of built-in solutions such as Dependency Injection, Components, ORM and more. Under its umbrella, Mandarine.TS has 4 modules: Core, Data, Security and MVC, these modules will offer you the requirements to build a Mandarine-powered application.
Stars: ✭ 161 (-12.97%)
Mutual labels:  framework, dependency-injection
Activej
ActiveJ is an alternative Java platform built from the ground up. ActiveJ redefines web, high load, and cloud programming in Java, featuring ultimate performance and scalability!
Stars: ✭ 183 (-1.08%)
Mutual labels:  framework, dependency-injection
Siricontrol System
Control anything with Siri voice commands.
Stars: ✭ 180 (-2.7%)
Mutual labels:  framework
Middy
🛵 The stylish Node.js middleware engine for AWS Lambda
Stars: ✭ 2,592 (+1301.08%)
Mutual labels:  framework

Reactant Logo


Node CI npm version Language grade: JavaScript license

Reactant - A framework for building React applications, inspired by Angular.

Motivation

React is a JavaScript library for building user interfaces, but when we want to develop applications based on React, we often have to do a lot of building configuration and many other libraries choices(Picking and learning a React state library and router library, etc.). We also need to consider how our business logic should be abstracted and structured. Everyone who uses React practices their own perception of how React is built, but it doesn't allow us to quickly focus on the business logic itself. As the application business grows in size, we urgently need a framework that can be easily understood and maintained.

And for the structured design of the application's business logic, separation of concern is a good idea. It requires clear boundaries of liability to avoid low maintainability when UI logic and business logic are mixed. We always want to focus on business logic when building applications. It is one of the business core values of an application. We want it to be easy to maintain, and test. Redux remains most popular state library in React. It is fully accord with immutable principles for React. Redux is just a state container, and we're often at a loss for how to really manage those states. We need a framework for scalable, loosely coupled and easily maintainable React applications.


In order to solve these problems, Reactant was created. It's a framework for React.

Features

  • Dependency injection
  • Immutable state management
  • View module
  • Redux plug-in module
  • Test bed for unit testing and integration testing
  • Routing module
  • Persistence module
  • Module dynamics

Usage

npx reactant-cli init my-app
cd my-app
yarn start

Example


Reactant is very easy to get Started. You can try Reactant by visiting the online project.

Here is the counter example:

import React from 'react';
import { ViewModule, createApp, injectable, useConnector, action, state } from 'reactant';
import { render } from 'reactant-web';

@injectable()
class Counter {
  @state
  count = 0;

  @action
  increase() {
    this.count += 1;
  }
}

@injectable()
class AppView extends ViewModule {
  constructor(public counter: Counter) {
    super();
  }

  component() {
    const count = useConnector(() => this.counter.count);
    return (
      <button type="button" onClick={() => this.counter.increase()}>
        {count}
      </button>
    );
  }
}

const app = createApp({
  main: AppView,
  modules: [],
  render,
});

app.bootstrap(document.getElementById('app'));

Documentation

You can visit reactant.js.org for more documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].