999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種跨平臺移動APP開發React Native方法的實現

2020-02-01 08:57:08陳磊
電子技術與軟件工程 2020年10期
關鍵詞:跨平臺界面程序

陳磊

(WalmartLabs 加利福尼亞州森尼維爾市 94086)

React Native 的思路就是在不同平臺下使用平臺自帶的UI 軟組件。它的優點是性能體驗高于Hybrid,不遜色于原生,這種模式和Hybrid 有極大的差異。Hybrid 的view 層實際上是dom,但這種模式的view 層是虛擬dom,所以性能高于Hybrid,這種模式是由JS編寫而成的,它有獨特的語法,所以只需要一次學習就可以同時開發Android 和iso,這個模式是由Facebook 統一發起的,所以在一個統一社區內有較好的資源。但是它也存在著無可避免的一些缺點,是不同平臺代碼有所區別,這種模式實際上還是來源于JS 的寫原生,所以android 和ios 中的原生代碼會有所區別,對開發技術人員有一定的要求。

1 跨平臺開發的概念

跨平臺主要是為了解決不同操作系統間軟件轉移的問題,簡單理解就是一個虛擬的技能能夠解決同一段代碼在不同平臺的運行效果。但是移動平臺計算資源緊張,所以直接應用Java 和web 到移動平臺是不可行的,Hybrid 這種方法被提出,這它是利用本地軟件框架來運行遠程web 內容,在應用的過程中,它能夠對本地資源進行訪問,但是這種方法的執行效率很低,在切合本地程序具有差異性等諸多原因造成了開發的效率很低。因此利用這種方法無法有效保障跨平臺開發的有效進行。另外一種借助編程語言編程生成不同平臺程序的方法有效地解決了跨平臺問題。這種方式在解決跨平臺問題中非常有利,在使用過程中會增加一些輔助程序,但是它的執行效率和本地原生的程序是一樣的。通用編程語言編程生成不同平臺本地程序的方法中,最有效的方法就是React Native。

2 React Native的技術的優缺點

React native 技術的優勢就是調試簡單,IPA 安裝好后不需要再進行過度的翻譯,只需要reload,就可以在云服務器下載JS 代碼,呈現改變代碼之后的效果。在調試的時候非常方便,修改代碼之后,保存頁面就會跟隨著修改的結果進行變化。它的CSS—layout 布局降低了學習成本,減少了代碼量,但是ios 或android 開發者在剛接觸的時候需要做出一些改變來適應這種技術變化。跨平臺無論是android 或是ios 系統編寫出一套代碼就能夠在不同平臺上進行應用,有Facebook 作為強大資源支撐在未來,有強勁的發展前景。

圖1:React Native 架構圖

圖2:React Native 程序通信機制

但是React native 存在著一些不足,由于是腳本的語言,雖然有諸多優點,但調試起來非常的不便捷,不容易查錯。在官網上對文檔的介紹非常粗糙,缺乏對細節的描述,如果遇到了難以解決的問題,無法找到對應的解決方法。它的升級非常困難,比如將React native 從0.42 版本升到最近的0.5 版本,就需要全部更新,然后對相關的控件進行升級,統一調整,這樣會花費大量的精力。

3 React Native方法的說明

3.1 React Native的介紹

這種利用React Native 來進行移動跨平臺開發的方法,是在2015年由Facebook 公司推出的程序庫。在當前的web UI 領域取得了巨大的成就,主要是符合當前創新化的發展背景,改變了人們對傳統移動開發平臺的印象。React Native 的實例說明,它已經在多項平臺中得到了應用。在這個過程中,涉及到了JSX,JS 語言中結合了HTML 和CSS 元素,這種被擴展的Javascript 語言就被稱為是JSX 語法。javascript 內存中維護了一個Virtual DOM,與真實顯示DOM 保持相對應關系,當界面發生變化時,由于效率極高的DOM 算法就避免重新繪制。同時在使用過程中,組件也可以用好幾種方式表明,可以是一個包含render 方法的類,也可以是一個簡單的函數,通過屬性Props 和狀態state 傳遞數據。同時只要更新組件state,然后根據state 重新渲染用戶界面,就不用再次操作DOM,Props 是不可改變的,子組件只能通過props 傳遞數據。React Native 的安裝和運行有特殊的環境:node (version>10);brew install node;Watchman ;brew install watchman;react-natviecli ;npm install -g yarn react-native-cli。在react native 使用過程中,只有滿足以上的運行或安裝特殊環境要求,才能夠有效地進行使用。

3.2 Javascript編程語言

它作為一種高級解釋型的編程語言,是以原型和函數先行的語言支持面向對象編程命令式編程及函數式編程。常用的庫有jQuery、JSer、dojo、prototype 等。Javascript 是React Native 的編程語言,這種語言簡單易學,它是在外部初期就已經存在的一種腳本語言。但是在開始的時候,只是作為一種web 動態化的輔助性語言而使用的。但是javascript 最大的特點就是發展,它能在普通中迸發出創造力。在21世紀初期,Ajax 概念被提出,這種編程方式讓人們發現了網頁編程還有如此創新的方法。當前非常多的創新化編程概念都能在javascript 中得到體現,Javascript 發展到當今時代,已經在計算機的諸多領域進行了應用,成為當前最受歡迎的編程語言之一。

3.3 React Native構架以及優化

React Native 利用各移動平臺自身優勢完成了跨平臺開發,避免了重復制造的情況出現。主要構架如圖一所示。APP 程序可以通過React 訪問React Native,然后通過javascript 運行庫移動操作不同的程序。當程序運行的過程中,可以對不同的渠道靈活選擇,滿足程序要求。它之所以能夠操作Android 的和ISO 程序,主要是由于利用中間橋javascript 溝通,完成它們之間的交互,中間橋作為一個有效的溝通渠道,實現了本地語言和javascript 之間的溝通。如圖2所示,通過中間橋,本地語言Java object—c 和javascript 之間可以實現一個互動。

現有的架構它存在一些局限性,例如不能將javascript 的邏輯直接和許多需要同步的Never API 集成,也無法讓React Native 應用調用native 實現函數,還存在著不必要的復制。對React native構架的優化,需要對每一層進行相應的調試優化,React 層增強javascript 安全,javascript 層引入JSI 能夠讓它替換不同的javascript引擎,Bridge 層劃分為Fabric and toTurboModules 部分,分別對于UI 渲染和Native 模塊。Native 層精簡核心模塊,將非核心獨立作為社區進行更新維護。

4 系統實現說明

React Native 的編程語言采用的是javascript 擴展版本的JSX,所以它的程序采取JS 為命名。利用render 函數生成相關界面,用state 維護界面,同時在不同模塊之間輸出的語句能夠進行重復使用。在這個過程中,所涉及到的內容主要通過系統在android 中的實現效果進行相關的分析研究。準備工作在系統啟動前要全部做好,如下裝好代碼:

The first step : _Load resource synchronous = asynchronous()=>{

Then: Promise of return.all([

Furthermore: Asset.Load asynchrony

Next: require('./assets/images/mail1.png'),

Then: Same code as last step

The sixth step: Font.loadAsync

The seventh step: Ionicons.font,

The eighth step : {'space-mono':require('./assets/fonts/

SpaceMono-Regular.ttf') },

The last step: ]),]); };

通過以上的異步裝入代碼,能夠看到這主要利用EXPO 的ASSET 模塊,提高后續程序的訪問效率。在完成該步驟的相關工作之后,要進一步的進入到切入界面,建立導航器進行后續的界面切換工作,在這個過程中所需要進行的代碼如下圖所示:

The first step: export const RootStackNavigator=StackNavigat

or(

Then: {Lg:{screen:LgScreen,},

Furthermore: PageFace:{screen:PageFace,},

Next: Settings:{screen:SettingsScreen,},

Eventually: }

在以上代碼中,有Lg,PageFace ,Settings,三大項導航器,這分別指向了三個界面,這三大項的導航器也只入了三個界面,操作程序只需要簡單敲好代碼即可。

5 結束語

React native 可以多平臺共用,像網頁一樣隨時更新,隨時發布。受到了諸多公司和開發人員的推崇,它能夠提高程序開發的工作效率,又能幫助公司有效縮小成本,這會成為一個優秀的框架在未來的軟件開發中。這種程序能夠被有效應用,一次編寫就能夠在多個移動平臺進行應用,最重要的是它的運行效率和本地程序完全相同。在這些優點下。利用React native 跨平臺移動APP 開發方法節省了開發的人力時間成本,能夠在當前社會得到廣泛的應用。

猜你喜歡
跨平臺界面程序
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
跨平臺APEX接口組件的設計與實現
測控技術(2018年9期)2018-11-25 07:44:58
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
人機交互界面發展趨勢研究
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
主站蜘蛛池模板: 尤物国产在线| 国产精品白浆在线播放| 99久久这里只精品麻豆| 欧美三级日韩三级| 五月天综合网亚洲综合天堂网| 手机精品福利在线观看| 国产91成人| 国产成人狂喷潮在线观看2345| 欧美色综合网站| 国产精品毛片一区视频播| 日韩毛片基地| 国产交换配偶在线视频| 国产精品三级av及在线观看| 亚洲成a人片7777| 国产jizzjizz视频| 东京热一区二区三区无码视频| 青青草国产精品久久久久| 尤物在线观看乱码| 久久中文字幕av不卡一区二区| 欧美一级在线| 怡春院欧美一区二区三区免费| 婷婷在线网站| Jizz国产色系免费| 久久免费精品琪琪| 亚欧美国产综合| 99热6这里只有精品| 亚洲欧美自拍中文| 免费观看三级毛片| 无码高潮喷水在线观看| 人与鲁专区| 日韩一级二级三级| 天堂成人av| 亚洲国产成人在线| 久久久久国产精品嫩草影院| 女人18毛片一级毛片在线 | 国产精品熟女亚洲AV麻豆| 欧美97色| 国产日韩丝袜一二三区| 久久国产av麻豆| 91尤物国产尤物福利在线| 欧美成人综合在线| 亚洲精品黄| 欧美另类视频一区二区三区| 欧美一区二区自偷自拍视频| 日韩最新中文字幕| 国产精品极品美女自在线| 一级毛片中文字幕| 国产精品免费p区| 波多野结衣一区二区三区四区视频| 色老头综合网| 亚洲无码熟妇人妻AV在线| 国产午夜一级淫片| 波多野结衣中文字幕一区| 免费一级毛片不卡在线播放| 首页亚洲国产丝袜长腿综合| 亚洲av无码人妻| 2021国产乱人伦在线播放| 中文字幕 欧美日韩| 国产精品护士| www.99精品视频在线播放| 欧美日韩中文国产va另类| 欧美成人精品高清在线下载| 国模视频一区二区| 成人欧美在线观看| 国产成人调教在线视频| 最新日本中文字幕| 国内a级毛片| a级毛片一区二区免费视频| 亚洲精品福利视频| 久久这里只有精品66| 亚洲综合九九| 99re热精品视频国产免费| 成人在线综合| 亚洲永久精品ww47国产| 色综合色国产热无码一| 欧美成人午夜视频| 伊人网址在线| 国产青榴视频在线观看网站| 久久男人资源站| 99在线视频免费| 国产门事件在线| 国产成人高清在线精品|