若是你正在使用React.js或React Native建立用戶界面,能夠試一試本文推薦的這些框架。
React.js和React Native是流行的用戶界面(UI)開發平臺,且都是開源技術。在StackOverflow的2019年開發人員調查中,它們在指望度和使用率方面都有很高的排名。React.js是Facebook在2011年做爲一個JavaScript庫開發而成的,目的是知足跨平臺、動態和高性能UI的需求;而Facebook在2015年發佈的React Native則是用來基於JavaScript構建原生應用程序的。css
下面列舉了13個精選的React JavaScript框架;它們全都是開源的——前11個(就像React那樣)是根據MIT許可受權的,後兩個則是根據Apache 2.0受權。html
由Facebook開發人員帶來的這款命令行界面是全部React Native項目的必備框架。由於Create React App(https://github.com/facebook/create-react-app)易於使用,讓你省掉了手動設置和配置應用的麻煩,從而節省了大量時間和精力。前端
只需一條簡單的命令,一切就都準備就緒,你就能輕鬆建立React Native項目了。你能夠用它來構建目錄和文件,該框架還包括用於構建、測試和發佈應用程序的工具。react
$ npm install -g create-react-native-web-appandroid
$ create-react-native-web-app myAppios
$ cd myAppgit
$ npm run web程序員
$ npm run ioses6
$ npm run androidgithub
Material Kit React(https://github.com/creativetimofficial/material-kit-react)受到了谷歌的Material Design系統啓發,是構建React UI組件的絕佳選擇。這個庫最大的優勢是它提供了許多組件,這些組件能夠組合在一塊兒生成難以置信的效果。庫中有超過1000個徹底編碼的組件,每一個組件都有單獨的層,這些層都在文件夾中分門別類組織好了。這意味着你有着成千上萬種選擇。若是你想獲取靈感,或與某人分享想法或概念,也有幾個示例頁面可用。
$ npm install @material-ui/core
import React from 'react'; import Button from '@material-ui/core/Button'; const App = () => ( <Button variant="contained" color="primary"> Hello World </Button> );
Material-UI組件無需任何額外設置便可工做,而且不會污染全局域。
這款React組件能夠支持更輕鬆、更快速的Web開發流程。有了它,你能夠構建本身的設計系統,或者先從Material Design開始上手。
這款現代React UI套件是爲了實現高性能而從零開始打造的。它有着現代化的設計系統,讓你能夠按照須要的方式自定義事物。你甚至能夠下載源文件來在代碼級別自定義內容。此外,用於樣式的SCSS語法能夠提高開發體驗。
Shards React(https://github.com/DesignRevision/shards-react)是基於Shards的,並使用了React Datepicker、React Popper(定位引擎)和noUISlider。它還提供了很是棒的Material Design圖標。還有一些預製的版本能夠幫助你得到靈感和上手入門。
這款高效的CSS工具能夠幫助你構建用於應用可視界面的小巧、可重用的組件。使用傳統的CSS時,你可能會意外覆蓋網站上其餘位置用到的選擇器,可是Styled Components(https://github.com/styled-components/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;
Redux(https://github.com/reduxjs/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;
這個React Native JavaScript框架可用於大列表和表格數據的渲染。使用React Virtualized(https://github.com/bvaughn/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', }, ...rest }
ReactDnD(https://github.com/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 <div class="item-list" style={style}>{itemType}</div>; }; class App extends React.Component { ... render() { return ( <DndProvider backend={MyBackend}> <ItemList /> <Preview generator={generatePreview} /> // or <Preview>{generatePreview}</Preview> </DndProvider> ); } }
這款UI Kit庫用React替換了Bootstrap的JavaScript,讓你能夠更好地控制每一個組件的函數。由於每一個組件都用易於訪問的方式構建,因此用React Bootstrap(https://github.com/react-bootstrap/react-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(<App />, document.getElementById('root')); registerServiceWorker();
React Suite(https://github.com/rsuite/rsuite)是又一款高效的React.js框架,其中包含用於企業系統產品的多種組件庫。它支持全部主流瀏覽器和平臺,使其適用於幾乎任何系統。它還支持服務端渲染。
npm i rsuite --save
import { Button } from 'rsuite'; import 'rsuite/styles/less/index.less'; ReactDOM.render(<Button>Button</Button>, mountNode);
PrimeReact(https://github.com/primefaces/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" }
React Router(https://github.com/ReactTraining/react-router)在React Native開發人員社區中很是流行,由於它很容易上手。你只須要在PC上安裝Git和npm軟件包管理器,有一些React的基本知識以及學習的意願便可。沒有什麼太複雜的。
$ npm install --save react-router
import { Router, Route, Switch } from "react-router"; // using CommonJS modules var Router = require("react-router").Router; var Route = require("react-router").Route; var Switch = require("react-router").Switch;
Grommet(https://github.com/grommet/grommet)是用來建立可響應且可訪問的移動優先Web應用的。它是Apache 2.0許可的JavaScript框架,其最大優點是它在一個小包中同時提供了可訪問性、模塊化、響應性和主題特性。也許這就是它被Netflix、GE、Uber和波音等公司普遍使用的主要緣由之一。
$ npm install grommet styled-components --save
"grommet-controls/chartjs": { "transform": "grommet-controls/es6/chartjs/${member}", "preventFullImport": true, "skipDefaultConversion": true
Onsen UI(https://github.com/OnsenUI/OnsenUI)是另外一個使用HTML5和JavaScript的移動應用開發框架,並提供與Angular、Vue和React的集成。它的許可基於Apache 2.0。
Onsen提供一些選項卡、一個側面菜單、堆棧導航和其餘組件。這款框架的最大優點是,它的全部組件都具備iOS和Android Material Design支持以及自動樣式,這樣就能根據平臺改變應用程序的外觀。
npm install onsenui
(function() { 'use strict'; var module = angular.module('app', ['onsen']); module.controller('AppController', function($scope) { // more to come here }); })();
本期就分享到這裏,我是小編南風吹,專一分享好玩有趣、新奇、實用的開源項目及開發者工具、學習資源! 但願能與你們共同窗習交流,歡迎關注個人公衆號 【Github導航站】。