基於React/React-native統一棧javascript
原創文章 做者 Jerry前端
產品C端屬性決定了,前端技術棧的橫向跨度較大,前端應用高可用性要求高。目前開發平臺有IOS、Android、React-native、Web, 開發語言以Java、javascript、Object-C爲主。java
如何理解前端,以下圖所示:react
這是一個典型的中臺-小前端的模式,Native提供中臺輸出,Web、ReactNative提供業務支持webpack
Web端開發人員,須要關心三個交互,兩個兼容性:ios
用戶交互git
接入第三方web頁面A,指望A做爲子流程展示在咱們的站點B中,而且B交互過程當中 能夠與A的流程進行溝通。受限於安全每每做爲非法者不容許在B中直接操做A中元素,此時建議將A以彈窗形式展現,處理完A流程直接關閉 在B中繼續下一步流程。這樣即兼顧了美感、流程設計更合理。因此Web開發在弱場景下實現業務需求,須要反饋出問題,給出建議。github
後臺交互web
APP交互shell
系統兼容性
API版本兼容性
交互設計是設計人員根據業務需求,結合各端須要和限制而商討出的約束,肯定的輸入給出肯定的輸出。
👆接口即文檔,好的接口約束,能夠下降各端複雜度和協做難度。
HTML5(簡單介紹比較有用的技術點)
Sass/less/Css
盒子模型及不一樣瀏覽器差別
移動端適配方案:rem、vm
樣式模塊設計
Ajax/fetch
抽象出Axios實例,經過配置化方式根據不一樣的場景,初始化不一樣的網絡請求對象 例如:web實現API server A和 API server B後臺交互,後臺定義了不一樣的交互規則
const axios = require('axios');
export const axiosA = axios.create('https://server.a.com',{
baseURL:"https://exampleA.api.com"
})
export const axioB = axios.create('https://server.a.com',{
baseURL:"https://exampleB.api.com"
})
複製代碼
DOM/BOM API
ES6等語法糖
React
React-router
Redux
Antd/Antd-mobile
echart
Babel
Eslint
webpack
npm/yarn
git
Browser Environment
CommonJS規範
HTTP協議 應用層協議,基於TCP/IP通訊協議傳輸數據。HTTP消息格式:請求行、請求頭部、空行和請求數據四個部分組成。
Nginx
Jekins
UI框架
Web框架
React-native框架
第三方庫
Webview
Typescript/Flow
SEO友好
License MIT\BSD,瞭解開源license有助於咱們在選取開源框架過程避開版權風險