一、技術(shù)簡介
React 可以非常輕松地創(chuàng)建用戶交互界面。為你應用的每一個狀態(tài)設計簡潔的視圖,在數(shù)據(jù)改變時 React 也可以高效地更新渲染界面。以聲明式編寫UI,可以讓你的代碼更加可靠,且方便調(diào)試。創(chuàng)建好擁有各自狀態(tài)的組件,再由組件構(gòu)成更加復雜的界面。無需再用模版代碼,通過使用JavaScript編寫的組件你可以更好地傳遞數(shù)據(jù),將應用狀態(tài)和DOM拆分開來。
一種 JavaScript 的語法擴展。 我們推薦在 React 中使用 JSX 來描述用戶界面。
JSX 是在 JavaScript 內(nèi)部實現(xiàn)的。我們知道元素是構(gòu)成 React 應用的最小單位,JSX 就是用來聲明 React 當中的元素。與瀏覽器的 DOM 元素不同,React 當中的元素事實上是普通的對象,React DOM 可以確保 瀏覽器 DOM 的數(shù)據(jù)內(nèi)容與 React 元素保持一致。
webpack 是一個現(xiàn)代 JavaScript 應用程序的靜態(tài)模塊打包器(module bundler)。當 webpack 處理應用程序時,它會遞歸地構(gòu)建一個依賴關(guān)系圖(dependency graph),其中包含應用程序需要的每個模塊,然后將所有這些模塊打包成一個或多個 bundle。
npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平臺的默認包管理工具。通過 npm 可以安裝、共享、分發(fā)代碼,管理項目依賴關(guān)系。
Yarn 對代碼來說是一個包管理器,可以通過它使用全世界開發(fā)者的代碼, 或者分享自己的代碼。Yarn 做這些快捷、安全、可靠。
通過Yarn可以使用其他開發(fā)者針對不同問題的解決方案,使開發(fā)過程更簡單。 使用過程中遇到問題,可以將其上報或者貢獻解決方案。一旦問題被修復, Yarn會更新保持同步。
iView 是一套基于 Vue.js 的開源 UI 組件庫,主要服務于 PC 界面的中后臺產(chǎn)品。
antd服務于企業(yè)級產(chǎn)品的設計體系,基于確定和自然的設計價值觀上的模塊化解決方案,讓設計者和開發(fā)者專注于更好的用戶體驗。
egg.js是阿里推出的基于koa的node開發(fā)框架。為企業(yè)級框架和應用而生。Egg 的插件機制有很高的可擴展性,一個插件只做一件事(比如 Nunjucks 模板封裝成了 egg-view-nunjucks、MySQL 數(shù)據(jù)庫封裝成了 egg-mysql)。Egg 通過框架聚合這些插件,并根據(jù)自己的業(yè)務場景定制配置,這樣應用的開發(fā)成本就變得很低。
Egg 奉行『約定優(yōu)于配置』,按照一套統(tǒng)一的約定進行應用開發(fā),團隊內(nèi)部采用這種方式可以減少開發(fā)人員的學習成本,開發(fā)人員不再是『釘子』,可以流動起來。沒有約定的團隊,溝通成本是非常高的,比如有人會按目錄分棧而其他人按目錄分功能,開發(fā)者認知不一致很容易犯錯。但約定不等于擴展性差,相反 Egg 有很高的擴展性,可以按照團隊的約定定制框架。使用 Loader 可以讓框架根據(jù)不同環(huán)境定義默認配置,還可以覆蓋 Egg 的默認約定。
JSON Web Token(JWT)是目前最流行的跨域身份驗證解決方案。它是一個很長的字符串,中間用點(.)分隔成三個部分??蛻舳耸盏椒掌鞣祷氐?JWT,可以儲存在 Cookie 里面,也可以儲存在 localStorage。此后,客戶端每次與服務器通信,都要帶上這個 JWT。你可以把它放在 Cookie 里面自動發(fā)送,但是這樣不能跨域,所以更好的做法是放在 HTTP 請求的頭信息Authorization字段里面。
Knex.js是為Postgres,MSSQL,MySQL,MariaDB,SQLite3,Oracle和Amazon Redshift設計的“包含電池”SQL查詢構(gòu)建器,其設計靈活,便于攜帶并且使用起來非常有趣。它具有傳統(tǒng)的節(jié)點樣式回調(diào)以及用于清潔異步流控制的承諾接口,流接口,全功能查詢和模式構(gòu)建器,事務支持(帶保存點),連接池 以及不同查詢客戶和方言之間的標準化響應。
