開源專案名稱:Remax
開源專案負責人:@yesmeck
開源專案簡介:使用 React 構建跨平臺小程式
開源專案型別:團隊開源專案
專案建立時間:2019 年
GitHub 資料:3K Star,211 Fork
GitHub 地址:http://github.com/remaxjs/remax
專案介紹
Remax 將 React 執行在小程式環境中,讓你可以使用完整的 React 進行小程式開發。
- 真正的 React - 不同於靜態編譯的方案,在 Remax 中使用 React 沒有任何限制,包括 React Hooks。你可以把 Remax 理解為針對小程式的 React Native。
- 多端支援 - 使用 Remax 把程式碼轉換到多個小程式平臺。
- TypeScript - 完整的 TypeScript 支援,給你滿滿的安全感。
Remax 的實現原理
Remax 本身分為兩個部分,remax
和 reamx-cli
,remax
提供執行時,remax-cli
提供構建功能。其中Remax 的執行時本質是一個通過 react-reconciler
實現的一個小程式端的渲染器。
Remax 把 React 和 ReactReconciler 執行在小程式的邏輯層中,並通過 Remax 把生成的「虛擬 DOM」渲染到檢視層。從而做到了使用真正的 React 去構建小程式。
且受 CSS 屬性名字首的啟發,Remax 團隊重新設計了 Remax 的跨平臺方案。 團隊非常剋制地選取了 9 個基礎元件,統一了他們之間非平臺私有的屬性,並且以屬性名字首的方式來支援各個平臺私有的特性。Remax 團隊希望開發者在做跨平臺開發時能清楚地意識到使用者寫下的這行程式碼只會在特定的平臺上生效。
對了,Remax 預設支援 TypeScript 開發,提供完整的元件和 API 型別定義,為你的專案保駕護航。
思否推薦
內容介紹裡有一個點沒有提到,Remax 是螞蟻金服前端團隊開源的專案,能夠很好保證專案的質量。Remax 口號是使用真正的 React 構建跨平臺小程式,相比 Taro 靜態編譯的方式實現的複雜度,Remax 更像是新的 React 渲染器,技術層面要簡單很多。
Remax 還原 React 的開發體驗,預設支援 TypeScript 開發、多端支援也是基礎特性。借用開發者的話:把 React 執行在小程式中可以帶來非常大的想象力。小程式本身可以說是一種創新,它把應用分為兩層來提高檢視層的渲染速度,但是微信從一開始就選擇使用私有且落後(起碼目前看來是落後的)的技術方案來定義小程式,而後面的追隨者為了吸引開發者亦使用了跟微信小程式類似的設計。Remax 希望能打破這個局面,通過開放的生態為開發者帶來全新的小程式開發體驗。
該專案已入選「SFOSSP - 思否開源專案支援計劃」,我們希望藉助社群的資源對開源專案進行相關的宣傳推廣,並作為一個長期專案助力開源事業的發展,與廣大開發者共建開源新生態。
有意向的開源專案負責人或團隊成員,可通過郵箱提供相應的資訊(開源專案地址、專案介紹、團隊介紹、聯絡方式等),以便提升交流的效率。
聯絡郵箱:pr@segmentfault.com