React Native社群發(fā)起問卷調查State of React Native,以進一步了解框架痛點以及替代工具的選擇。React Native是一個由臉書以React.js為基礎,所開發(fā)的應用程序框架,供開發(fā)者以聲明式程序開發(fā)模式開發(fā)多平臺應用程序,多數(shù)用于開發(fā)iOS和Android平臺應用程序,但也能夠通過另外的組件開發(fā)UWP應用程序。
React Native中有許多新興客戶端狀態(tài)庫讓開發(fā)者感興趣,包括Zustand、Jotai和Legend State,但是采用率仍相對較低,Redux函數(shù)庫仍是更為熱門的選擇,使用率僅低于內置的Hooks。而在服務器狀態(tài)函數(shù)庫方面,TanStack Query和Apollo表現(xiàn)相當,但是在開發(fā)者表達會再次使用的比例上,Apollo明顯更少。
問卷調查React Native的使用痛點,而結果反應了該框架一直以來的問題,便是框架版本升級困難和調試不易,而且多數(shù)React Native開發(fā)者也不滿意性能表現(xiàn),不過,還有超過半數(shù)的受訪者,指出React Native框架還存在另外兩個嚴重問題,是無人維護的組件以及過分依賴第三方函數(shù)庫。
導致React Native有許多無人維護函數(shù)庫的原因,State of React Native發(fā)起人,同時也是Software Mansion軟件工程師Kacper Kapu?ciak認為,由于維護React Native需要三種以上的語言專業(yè),同時還要了解iOS和Android API知識,實際上并不容易,而且移動平臺不停的更新,使得許多橋梁組件過時。
最受React Native開發(fā)人員偏愛的替代框架是SwiftUI和Jetpack Compose,而Ionic、微軟Xamarin和Apache Cordova,則是不那么受React Native開發(fā)人員喜愛。這項調查有趣的地方是,雖然React Native開發(fā)人員普遍不愛Cordova和Ionic,但是Cordova使用率卻位居第一,Ionic以些微差異位居第二,表示雖然目前開發(fā)人員必須使用這些組件,但也樂意看到他們被取代。
盡管框架還有許多可改進之處,不過受訪者對框架整體感到滿意,無論是構建應用程序的復雜度或是框架的改進速度,社群成員皆認為發(fā)展適中。
這是第一份State of React Native調查報告,在React Native社群中收集到超過1,800份回應,Bart?omiej Bukowski向知名JavaScript社群調查State of JS的創(chuàng)建人Sacha Greif取經,并在React Native社群創(chuàng)建一個類似的調查。Bart?omiej Bukowski表示,React Native開發(fā)人員常會面臨不知道該在項目使用那種解決方案的困擾,而通過集中比較,能夠助開發(fā)者更好地選擇想要使用的技術。