React是一個(JavaScript)庫,可幫助您構建用戶界面。 由于React使您的代碼與應用程序的狀態分離,因此它可以適用于任何地方,這也包括移動應用程序開發中。
React Native是一個構建原生移動應用程序的框架,它使用了React作為UI組件的工具。 因此,您可以通過React Native構建在iOS和Android設備上運行的應用程序,而無需寫兩個單獨的代碼庫。
React Native與傳統的移動應用程序開發方法不同。 它使用JavaScript而不是Objective-C或Swift(iOS)或Java(Android)編寫您的應用程序代碼,并使用React Native提供的API來在設備上呈現它。
React Native也提供了許多內置的組件,以用于現代移動應用程序中,如Text(文本顯示),Image(圖片展示),ScrollView(滑動列表)和Input(輸入框).
React Native的原理是使用JSX(一種將HTML代碼嵌套在JavaScript中的語言)來描述應用程序的UI,派生出一個樹形結構。 然后React Native使用它自己的JavaScript運行時去映射這個結構,并展示應用程序。 它還使用Bridge(橋)將JavaScript與設備原生組件連接起來。
這個Bridge (JavaScript to native connection) 允許React Native應用程序以均衡的性能運行,因為您不需要將整個應用程序包裝進一個Web視圖,而是將它們組合成一個真實的本機UI的形式。 組件會自動呈現相應的本機組件,其中有一套原生UI組件,為您提供了一個同時運行在多個平臺上的組件。
此外,通過使用React Native的代碼依賴性檢測器,可以減少確定應用程序狀態更改發生時需要重新渲染哪些組件的工作。 它所使用的統一開發語言也有助于整合團隊成員,并允許對代碼進行漸進式的開發與擴展。
總的來說,React可以作為一個獨立的庫用于構建網站,但React Native適用于構建原生的移動應用程序,可以大大簡化跨平臺應用程序的開發。 由于React Native在iOS和Android之間共享一些代碼,開發者可以更加高效地使用自己的時間,快速開發出現代化、高質量的應用程序。