如果你正在用 React.js 或 React Native 来开发用户界面的话,试试这些框架。
React.js 和 React Native 都是用来开发用户界面(UI)的很受欢迎的开源平台。在 StackOverflow 2019 年度开发者调查里,两个框架的可取性和使用情况都排名靠前。React.js 是 Facebook 在 2011 年开发的一个 JavaScript 库,来实现跨平台,动态以及高性能的 UI 设计需求;而 React Native 则是 Facebook 在 2015 年发布的框架,目的是使用 JavaScript 构建原生应用。
下面介绍 13 个最好的 React JavaScript 框架,都是开源项目。前 11 个(和 React 一样)都使用 MIT 许可证授权,后面两个使用 Apache 2.0 许可证。
1、Create React App
这个 Facebook 开发的命令行工具是 React Native 项目一定要用的。因为 Create React App 使用很简单,还可以避免你自己手动设定和配置应用,因此能节省大量的时间和精力。仅仅使用给一个简单的命令,就可以为你准备好创建 React 原生项目所需的一切。你可以用它来创建分类和文件,而且该框架还自带了工具用来构建,测试和启动应用。
# 安装软件包
$ npm install -g create-react-native-web-app
# 运行 create-react-native-web-app
$ create-react-native-web-app myApp
# 切换到创建的
$ cd myApp
# 运行 Web/Ios/Android 调试
# Web
$ npm run web
# IOS(模拟)
$ npm run ios
# Android(实际连接的设备)
$ npm run android
为什么选择 Create React App
2、Material Kit React
Material Kit React 是受谷歌的 Material Design 系统启发开发的,很适合用来创建 React UI 组件。这个库最大的优点是提供了大量的组件,可以互相搭配做出非常好的效果。有超过一千个完全编码的组件,每一个都有用文件夹组织起来的独立层。这样你就可以有上千个选项可以选择。它同时也包含一些示例页面,方便你从中寻找灵感,或者向别人分享你的点子或创意。
安装 Material Kit
$ npm install @material-ui/core
使用
import React from 'react';
import Button from '@material-ui/core/Button';
const App = () => (
Hello World
);
Material-UI 组件不需要其他额外设置,也不会干扰全局变量空间。
优点
这个 React 组件支持简易快速的网页开发。你可以用它创建自己的设计系统,或者直接开始 Material Design。
3、Shards React
这个现代的 React UI 工具为了追求高效率,是从最底层开始构建的。它拥有现代的设计系统,可以让你按自己的想法任意定制。你甚至可以下载源文件,然后从代码级别定制。另外,它用来设计样式的 SCSS 语法提高了开发体验。
Shards React 基于 Shards,使用了 React Datepicker、React Popper(一个定位引擎)和 noUISlider。还带有非常优秀的 Material Design 图标。还有很多设计好的版本,可以帮你寻找灵感或上手。
用 Yarn 或 NPM 安装 Shards
# Yarn
yarn add shards-react
# NPM
npm i shards-react
优点
4、Styled Components
这个高效的 CSS 工具可以用来为应用的可视界面创建小型可重用的组件。使用传统的 CSS,你可能会不小心覆盖掉网站其他位置的选择器,但 Styled Components 通过使用直接内嵌到组件里的 CSS 语法,可以完全避免这个问题。
安装
npm install --save styled-components
使用
const Button = styled.button`
background: background_type;
border-radius: radius_value;
border: abc;
color: name_of_color;
Margin: margin_value;
padding: value`;
优点
styled()
可以将组件甚至是自定义组件转换成样式组件5、Redux
Redux 是一个为 JavaScript 应用提供状态管理的方案。常用于 React.js,也可以用在其他类 React 框架里。
安装
sudo npm install redux
sudo npm install react-redux
使用
import { createStore } from "redux";
import rotateReducer from "reducers/rotateReducer";
function configureStore(state = { rotating: value}) {
return createStore(rotateReducer,state);
}
export default configureStore;
优点
6、React Virtualized
这个 React Native JavaScript 框架帮助渲染 large-list 和 tabular-data。使用 React Virtualized,你可以限制请求和文档对象模型(DOM)元素的数量,从而提高 React 应用的性能。
安装
npm install react-virtualized
使用
import 'react-virtualized/styles.css'
import { Column, Table } from 'react-virtualized'
import AutoSizer from 'react-virtualized/dist/commonjs/AutoSizer'
import List from 'react-virtualized/dist/commonjs/List'
{
alias: {
'react-virtualized/List': 'react-virtualized/dist/es/List',
},
...等等
}
优点
7、React DnD
React DnD 用来创建复杂的拖放界面。拖放控件库有很多,选用 React DnD 是因为它是基于 HTML5 的拖放 API 的,创建界面更简单。
安装
npm install react-dnd-preview
使用
import Preview from 'react-dnd-preview';
const generatePreview = ({itemType, item, style}) => {
return {itemType};
};
class App extends React.Component {
...
render() {
return (
// or
{generatePreview}
);
}
}
优点
8、React Bootstrap
这个 UI 库将 Bootstrap 的 JavaScript 替换成了 React,可以更好地控制每个组件的功能。每个组件都构建成能轻易访问,因此 React Bootstrap 有利于构建前端框架。有上千种 bootstrap 主题可以选择。
安装
npm install react-bootstrap bootstrap
使用
import 'bootstrap/dist/css/bootstrap.min.css';
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
ReactDOM.render(, document.getElementById('root'));
registerServiceWorker();
优点
9、React Suite
React Suite 是另一个高效的 React.js 框架,包含了大量组件库,方便开发企业级产品。支持所有主流浏览器和平台,适用于任何系统。还支持服务器端渲染。
安装
npm i rsuite --save
使用
import { Button } from 'rsuite';
import 'rsuite/styles/less/index.less';
ReactDOM.render(Button, mountNode);
优点
10、PrimeReact
PrimeReact 最值得推荐的是它提供了几乎覆盖所有基本 UI 需求的组件,比如输入选项,菜单,数据展示,消息,等等。这个框架还优化了移动体验,帮助你设计触摸优化的元素。
安装
npm install primereact --save
npm install primeicons --save
使用
import {Dialog} from 'primereact/dialog';
import {Accordion,AccordionTab} from 'primereact/accordion';
dependencies: {
"react": "^16.0.0",
"react-dom": "^16.0.0",
"react-transition-group": "^2.2.1",
"classnames": "^2.2.5",
"primeicons": "^2.0.0"
}
优点
11、React Router
React Router 在 React Native 开发社区很受欢迎,因为它上手很容易。只需要你在电脑上安装 Git 和 npm 包管理工具,有 React 的基础知识,以及好学的意愿。没什么特别难的地方。
安装
$ npm install --save react-router
使用
import { Router, Route, Switch } from "react-router";
// 使用 CommonJS 模块
var Router = require("react-router").Router;
var Route = require("react-router").Route;
var Switch = require("react-router").Switch;
优点
12、Grommet
Grommet 常用于开发响应式、可访问的移动网页应用。这个用 Apache 2.0 许可证授权的 JavaScript 框架最大的优点是用很小的包提供了可访问性、模块化、响应式以及主题功能。这可能是它被一些公司广泛使用的主要原因,比如奈飞、通用电气、优步以及波音。
安装 for yarn and npm
$ npm install grommet styled-components --save
使用
"grommet-controls/chartjs": {
"transform": "grommet-controls/es6/chartjs/${member}",
"preventFullImport": true,
"skipDefaultConversion": true
优点
13、Onsen UI
Onsen UI 另一个使用 HTML5 和 JavaScript 的手机应用开发框架,集成了 Angular、Vue 和 React,使用 Apache 2.0 许可证授权。
Onsen 提供了标签、侧边栏、堆栈导航以及其他组件。这个框架最好的地方是,它所有的组件都支持 iOS 和安卓 Material Design 自动适配,会根据不同的平台切换应用的外观。
安装
npm install onsenui
使用
(function() {
'use strict';
var module = angular.module('app', ['onsen']);
module.controller('AppController', function($scope) {
// more to come here
});
})();
优点
你最喜欢哪个 React JavaScript 框架?请在评论区分享。
via: https://opensource.com/article/20/1/react-javascript-frameworks
作者:Amit Dua 选题:lujun9972 译者:zpl1025 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出