合合信息啟信產(chǎn)業(yè)大腦攜手市北新區(qū)打造“一企一畫像”平臺,加速數(shù)字化轉(zhuǎn)型重慶:力爭今年智能網(wǎng)聯(lián)新能源汽車產(chǎn)量突破 100 萬輛,到 2027 年建成萬億級產(chǎn)業(yè)集群微信iOS最新版上線:iPhone用戶可在朋友圈發(fā)實(shí)況照片了蘋果有線耳機(jī)或?qū)⑼.a(chǎn)沖上熱搜!閑魚相關(guān)搜索量暴漲384%2024 vivo開發(fā)者大會官宣:OriginOS 5/自研藍(lán)河系統(tǒng)2降臨真·AI程序員來了,阿里云「通義靈碼」全面進(jìn)化,全流程開發(fā)僅用幾分鐘東方甄選烤腸全網(wǎng)銷量及銷售額領(lǐng)先鴻蒙PC要來了 界面很漂亮!余承東:目前華為PC將是最后一批搭載Windows上半年中國AR/VR出貨23.3萬臺,同比下滑了 29.1%IDC:2024 上半年中國 AR / VR 頭顯出貨 23.3 萬臺,同比下滑 29.1%英特爾AI加速器Gaudi3下周發(fā)布,挑戰(zhàn)NVIDIA統(tǒng)治地位!大屏技術(shù)邂逅千年色彩美學(xué)!海信激光電視成為電影《只此青綠》官方合作伙伴OpenAI將最新AI模型o1擴(kuò)展到企業(yè)和教育領(lǐng)域三星新專利探索AR技術(shù)新應(yīng)用:檢測屏幕指紋殘留,提高手機(jī)安全性猛瑪傳奇C1:直播圖傳技術(shù)的革新者JFrog推出首個(gè)運(yùn)行時(shí)安全解決方案,實(shí)現(xiàn)從代碼到云的全面軟件完整性和可追溯性亞馬遜推出一大波生成式 AI 工具,購物體驗(yàn)全面升級機(jī)器人公司1X推出世界模型Apple Intelligence測試版現(xiàn)已開放革命性AI對話系統(tǒng)Moshi問世:機(jī)器也能說人話了?
  • 首頁 > 數(shù)據(jù)存儲頻道 > 數(shù)據(jù)庫頻道 > 軟件架構(gòu)

    這6款混合開發(fā)框架,比原生更香嗎?

    2022年11月30日 11:49:16   來源:51CTO

      譯者 | 陳峻

      眾所周知,根據(jù)使用場景的不同,我們往往需要針對智能手機(jī)、平板電腦以及可穿戴設(shè)備等不同平臺,開發(fā)相應(yīng)的應(yīng)用。如果為每一類應(yīng)用都去編寫?yīng)毺氐某绦虼a的話,不但耗時(shí),而且無法實(shí)現(xiàn)代碼的重用。因此,我們需要引入混合應(yīng)用開發(fā)的機(jī)制。

      通常,我們可以使用各種現(xiàn)成的框架,去編寫一個(gè)混合應(yīng)用,然后將其存儲在原生的容器中,以實(shí)現(xiàn)在不同的平臺上,部署此類原生應(yīng)用?梢,合適的平臺框架,能夠給混合應(yīng)用的開發(fā),帶來事半功倍的效果。下面,我將向你介紹目前6種最為實(shí)用的開發(fā)框架。

      React Native

      作為一個(gè)JavaScript框架,React Native可以被用于開發(fā)跨平臺的移動應(yīng)用。由于該框架帶有一種可用于開發(fā)用戶界面的獨(dú)特語言—JSX,因此用戶可通過React編寫出HTML和CSS。同時(shí),它的用戶界面組件也被設(shè)計(jì)成為能夠給最終用戶帶來快速且愉快的體驗(yàn)形式。

      與其他大多數(shù)需要重新編譯代碼、或重新啟動應(yīng)用,才能見效的開發(fā)框架不同,React Native的誘人之處在于,它能夠快速展示應(yīng)用被更改的效果。

      由于React Native在每個(gè)平臺上都會使用JavaScript引擎,因此你可以去訪問由庫和開源工具所組成的龐大生態(tài)系統(tǒng)。同時(shí),它也允許用戶無縫地將部分應(yīng)用代碼移植到另一個(gè)平臺上。

      對于某些具有動態(tài)、復(fù)雜或高級設(shè)計(jì)的接口來說,React Native可能并非完美的框架。由于可供你使用的自定義模型數(shù)量比較有限,因此你往往需要針對應(yīng)用中重要的復(fù)雜性部分,從頭開始開發(fā)與構(gòu)建。初學(xué)者則需要花費(fèi)一段時(shí)間,去掌握該框架的全面功能。

      總的說來,React Native不但縮短了開發(fā)時(shí)間,而且能夠與第三方應(yīng)用相兼容,值得大家學(xué)習(xí)。

      Ionic

      曾為NHS(英國國家醫(yī)療服務(wù)體系)和西南航空等組織提供數(shù)百萬強(qiáng)大應(yīng)用的Ionic,是業(yè)界領(lǐng)先的混合應(yīng)用工具包。它允許用戶使用單一的代碼庫,為多個(gè)平臺開發(fā)出混合移動應(yīng)用。

      Ionic擁有一套為移動優(yōu)化了的HTML庫、CSS背景模式以及JavaScript組件。這些基本工具都能夠幫助用戶構(gòu)建出用戶友好的、交互式的多平臺應(yīng)用。

      Ionic的另一個(gè)優(yōu)勢是,它包含了一套針對攝像頭、GPS以及健康套件的額外功能,以便你增加自己的應(yīng)用功能集。同時(shí),你也可以在編寫代碼時(shí),通過測試每個(gè)組件,以盡早地發(fā)現(xiàn)各種錯(cuò)誤與缺陷。

      由于Ionic包含了一組高效的響應(yīng)式部件,因此它在保證了靈活的用戶體驗(yàn)的同時(shí),也節(jié)省了你在開發(fā)過程中花費(fèi)的寶貴時(shí)間和精力。

      不過,Ionic最大的局限在于,其開發(fā)出的應(yīng)用程序嚴(yán)重依賴于原生的插件。雖然此類插件旨在達(dá)到與原生應(yīng)用相當(dāng)?shù)男阅埽遣⒎撬袑?shí)例都可以用到它們。也就是說,你可能很難為自己正在開發(fā)的應(yīng)用找到其合適的插件。

      Xamarin

      作為相對較新的原生編譯框架,Xamarin可以被用來開發(fā)出那些需要保持原有的外觀和用戶體驗(yàn)的高性能應(yīng)用。2016年,微軟收購了Xamarin項(xiàng)目社區(qū),并使之成為微軟生態(tài)系統(tǒng)中,用于開發(fā)應(yīng)用程序的流行工具。

      由于Xamarin能夠使用C語言,以及基于.NET層面的其他原生庫,來開發(fā)應(yīng)用程序,因此它可以在不犧牲性能的情況下,將帶有原生庫的高端應(yīng)用,部署到不同平臺的程序中。這與其他流行的混合框架相比,顯然提供了更好的用戶體驗(yàn)。

      不過,與原生應(yīng)用相比,Xamarin在性能上存在著一定的局限性。因此,它不一定是某些復(fù)雜應(yīng)用的最佳選擇。同時(shí),由于該框架中也不提供熱重載的相關(guān)功能,因此其某些功能可能無法在特定的平臺上被實(shí)時(shí)更新。

      總的說來,作為混合開發(fā)需求的一項(xiàng)不錯(cuò)的選擇,Xamarin具有強(qiáng)大的支持、全面的資源,并能夠讓你的應(yīng)用具有接近原生的性能。

      Flutter

      根據(jù)Google的定義,F(xiàn)lutter通過一個(gè)直觀的UI工具箱(其中包括插件庫和創(chuàng)新的用戶界面),讓用戶控制應(yīng)用的組件,進(jìn)而實(shí)現(xiàn)類似原生的性能。例如,F(xiàn)lutter的App Builder就能夠讓你混合和匹配各種功能。而使用其hotloader特性,你可以在調(diào)試代碼時(shí),即時(shí)進(jìn)行更改,進(jìn)而簡化了整個(gè)開發(fā)過程。此外,由于Flutter能夠支持開發(fā)出不限于Android或iOS的應(yīng)用,因此它已得到了廣泛的使用。

      對于初學(xué)者來說,由于Flutter使用的是Dart,這種并非針對應(yīng)用開發(fā)的流行語言,因此其學(xué)習(xí)曲線較為陡峭。而且,雖然由其提供的內(nèi)置小部件(widgets)對于應(yīng)用而言非常重要,但是一旦缺少了第三方庫,就意味著開發(fā)者需要額外地用自己的代碼去實(shí)現(xiàn)。

      總的說來,F(xiàn)lutter仍然是不錯(cuò)的選擇。它不但能夠通過一流的UI元素來提供字體選項(xiàng),而且可以通過各種小部件,來改善應(yīng)用的整體性能與用戶體驗(yàn)。

      NativeScript

      作為一個(gè)開源的框架,NativeScript可以讓用戶使用JavaScript和CSS等Web技能來構(gòu)建應(yīng)用程序。而憑借著出色的特性和整體性能,NativeScript能夠與最新的移動版本、資源庫以及命令行界面相兼容。

      該架構(gòu)的一項(xiàng)實(shí)用特性是它可以實(shí)時(shí)地更新應(yīng)用,而無需手動刷新。當(dāng)然,與大多數(shù)其他混合應(yīng)用框架不同,NativeScript并不使用Web技術(shù)。

      總的說來,該框架不僅功能豐富,便于使用,而且性價(jià)比高,能夠給開發(fā)人員帶來流暢的使用體驗(yàn)。

      Apache Cordova

      Cordova使用CSS3、JavaScript以及HTML5,來創(chuàng)建跨平臺的應(yīng)用。通過擴(kuò)展其HTML5和CSS3特性,該框架增加了諸如:加速器、指南針、麥克風(fēng)以及文件系統(tǒng)等額外功能,從而能夠與目標(biāo)設(shè)備協(xié)同工作。

      同時(shí),憑借著此類額外功能,開發(fā)者既可以快速、靈活地構(gòu)建原生應(yīng)用,又能夠訪問第三方的插件和工具箱。

      雖然Cordova自身已包含了大量的平臺插件與功能,但是就算你沒找到合適的插件,也可以輕松地編寫出自己的插件,并通過JavaScript代碼的形式連接到系統(tǒng)級的代碼中,以確保提供原生的性能。

      與Ionic類似,該框架也包含了近似原生的小部件、選項(xiàng)卡以及可重排的列表等特性。同時(shí),由于Apache Cordova能夠提供兩種工作流方法以及一種跨平臺的工作流方法(即:CLI),因此由其開發(fā)的應(yīng)用程序可以在不同的移動操作系統(tǒng)上運(yùn)行。

      此外,CLI還提供一個(gè)獨(dú)特的接口以協(xié)助開發(fā)者將插件植入應(yīng)用之中。也就是說,以平臺為中心的工作流,可以幫助你先構(gòu)建單個(gè)平臺應(yīng)用,然后再將其修改為并不復(fù)雜的形式。

      選擇合適的框架

      綜上所述,不同的混合框架有著適合不同應(yīng)用場景的獨(dú)特賣點(diǎn)。例如,NativeScript的主要吸引力在于,你不需要事先了解應(yīng)用會運(yùn)行在iOS還是Android平臺上。你更應(yīng)該仔細(xì)考慮的是,待開發(fā)應(yīng)用的并發(fā)性、兼容性以及成本等因素,并據(jù)此來選擇適合的框架。

      文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹(jǐn)慎對待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。

    即時(shí)

    TCL實(shí)業(yè)榮獲IFA2024多項(xiàng)大獎,展示全球科技創(chuàng)新力量

    近日,德國柏林國際電子消費(fèi)品展覽會(IFA2024)隆重舉辦。憑借在核心技術(shù)、產(chǎn)品設(shè)計(jì)及應(yīng)用方面的創(chuàng)新變革,全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)成功斬獲兩項(xiàng)“IFA全球產(chǎn)品設(shè)計(jì)創(chuàng)新大獎”金獎,有力證明了其在全球市場的強(qiáng)大影響力。

    新聞

    敢闖技術(shù)無人區(qū) TCL實(shí)業(yè)斬獲多項(xiàng)AWE 2024艾普蘭獎

    近日,中國家電及消費(fèi)電子博覽會(AWE 2024)隆重開幕。全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)攜多款創(chuàng)新技術(shù)和新品亮相,以敢為精神勇闖技術(shù)無人區(qū),斬獲四項(xiàng)AWE 2024艾普蘭大獎。

    企業(yè)IT

    重慶創(chuàng)新公積金應(yīng)用,“區(qū)塊鏈+政務(wù)服務(wù)”顯成效

    “以前都要去窗口辦,一套流程下來都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。

    3C消費(fèi)

    “純臻4K 視界煥新”——愛普生4K 3LCD 激光工程投影

    2024年3月12日,由愛普生舉辦的主題為“純臻4K 視界煥新”新品發(fā)布會在上海盛大舉行。

    研究

    2024全球開發(fā)者先鋒大會即將開幕

    由世界人工智能大會組委會、上海市經(jīng)信委、徐匯區(qū)政府、臨港新片區(qū)管委會共同指導(dǎo),由上海市人工智能行業(yè)協(xié)會聯(lián)合上海人工智能實(shí)驗(yàn)室、上海臨港經(jīng)濟(jì)發(fā)展(集團(tuán))有限公司、開放原子開源基金會主辦的“2024全球開發(fā)者先鋒大會”,將于2024年3月23日至24日舉辦。