溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

react多端統(tǒng)一框架是什么

發(fā)布時(shí)間:2020-11-24 10:07:55 來(lái)源:億速云 閱讀:418 作者:小新 欄目:web開發(fā)

小編給大家分享一下react多端統(tǒng)一框架是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

react多端統(tǒng)一框架有:Hippy框架和Taro框架。Hippy是騰訊QQ瀏覽器部門發(fā)起的開源跨端框架,同時(shí)支持React和Vue;Taro是凹凸實(shí)驗(yàn)室打造的一套遵循React語(yǔ)法規(guī)范的多端統(tǒng)一開發(fā)框架。

react多端統(tǒng)一框架

騰訊跨端框架- Hippy

當(dāng)前star:4.5k

Github :https://github.com/Tencent/Hippy

騰訊QQ瀏覽器部門發(fā)起的開源跨端框架 Hippy。在騰訊內(nèi)部,Hippy 已運(yùn)行3年之久,跨 BG 共有 18 款線上業(yè)務(wù)正在使用 Hippy,日均 PV 過億,且已建立一套完整生態(tài)。相較于其他跨端框架,Hippy 對(duì)前端開發(fā)者更友好:緊貼 W3C 標(biāo)準(zhǔn),遵從網(wǎng)頁(yè)開發(fā)各項(xiàng)規(guī)則,使用 JavaScript 為開發(fā)語(yǔ)言,同時(shí)支持 React 和 Vue 兩種前端主流框架。

Hippy 實(shí)現(xiàn)了類似 Flutter 的引擎直通架構(gòu)(在 React Native 中的 Fabric 架構(gòu)),通過 C++ 開發(fā)的模塊直接插入 JS 引擎中運(yùn)行,繞過了前終端通訊編解碼的開銷,有效提升了 JS 前端代碼和終端的通訊性能。在此基礎(chǔ)之上,Hippy 正在實(shí)現(xiàn)高性能自繪,以提供更強(qiáng)的性能和更好的用戶體驗(yàn)。

hippy-react 從語(yǔ)法上更加接近終端底層,某種程度上語(yǔ)法接近 React Native,同時(shí)通過官方提供了 hippy-react-web 組件庫(kù),也可以方便地生成 Web 版網(wǎng)頁(yè)。

特征:

  • 為傳統(tǒng) Web 前端設(shè)計(jì),官方支持 React 和 Vue 兩種主流前端框架。

  • 不同的平臺(tái)保持了相同的接口。

  • 通過 JS 引擎 binding 模式實(shí)現(xiàn)的前終端通訊。

  • 提供了高性能的可復(fù)用列表。

  • 皆可平滑遷移到 Web 瀏覽器。

  • 完整支持 Flex 的布局引擎。

京東跨端框架 - Taro

當(dāng)前star:24.5k

GitHub: http://github.com/nervjs/taro

Taro 是由京東 - 凹凸實(shí)驗(yàn)室打造的一套遵循 React 語(yǔ)法規(guī)范的多端統(tǒng)一開發(fā)框架。

react多端統(tǒng)一框架是什么

一套代碼,通過 Taro 的編譯工具,將源代碼分別編譯出可以在不同端(微信小程序、H5、App 端等)運(yùn)行的代碼。同時(shí) Taro 還提供開箱即用的語(yǔ)法檢測(cè)和自動(dòng)補(bǔ)全等功能,有效地提升了開發(fā)體驗(yàn)和開發(fā)效率。

和微信自帶的小程序框架不一樣,Taro 積極擁抱社區(qū)現(xiàn)有的現(xiàn)代開發(fā)流程,包括但不限于:

  • NPM 包管理系統(tǒng)

  • ES6+ 語(yǔ)法

  • 自由的資源引用

  • CSS 預(yù)處理器和后處理器(SCSS、Less、PostCSS)

對(duì)于微信小程序的編譯流程,Taro的靈感來(lái)源于 Parcel ,自研了一套打包機(jī)制將 AST 不斷傳遞,因此代碼分析的速度得到了很大的提高。一臺(tái) 2015 年 的 15寸 RMBP 在編譯上百個(gè)組件時(shí)僅需要大約 15 秒左右。

在 Taro 中,你不用像小程序一樣區(qū)分什么是 App 組件,什么是 Page 組件,什么是 Component 組件,Taro 全都是 Component 組件,并且和 React 的生命周期完全一致??梢哉f,一旦你掌握了 React,那就幾乎掌握了 Taro。同樣使用聲明式的 JSX 語(yǔ)法。相比起字符串的模板語(yǔ)法,JSX 在處理精細(xì)復(fù)雜需求的時(shí)候會(huì)更得心應(yīng)手。

// 一個(gè)典型的 Taro 組件
import Taro, { Component } from '@tarojs/taro'
import { View, Button } from '@tarojs/components'
export default class Homeextends Component{
  constructor (props) {
    super(props)
    this.state = {
      title: '首頁(yè)',
      list: [1, 2, 3]
    }
  }
  componentWillMount () {}
  componentDidMount () {}
  componentWillUpdate (nextProps, nextState) {}
  componentDidUpdate (prevProps, prevState) {}
  shouldComponentUpdate (nextProps, nextState) {
    return true
  }
  add = (e) => {
    // dosth
  }
  render () {
    const { list, title } = this.state
    return (
      <ViewclassName='index'>
        <ViewclassName='title'>{title}</View>
        <ViewclassName='content'>
          {list.map(item => {
            return (
              <ViewclassName='item'>{item}</View>
            )
          })}
          <ButtonclassName='add'onClick={this.add}>添加</Button>
        </View>
      </View>
    )
  }
}

以上是“react多端統(tǒng)一框架是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI