真正的Hybrid APP沒你想的那麼簡單

2021-01-11 IT168

  很多開發者在跨入移動應用開發領域都會選擇Hybrid App為切入點,因為它介於web-app、native-app這兩者之間,兼具「Native App良好用戶交互體驗的優勢」和「Web App跨平臺開發的優勢」。這樣的模式可以降低開發門檻,用較少的成本達到跨平臺開發移動應用的目的。

  在移動應用開發盛行的今天,HTML5的問世讓更多的人寄予厚望,這也就催生了PhoneGap這類移動應用開發Hybrid框架,它完全採用HTML5的界面布局,而本地能力通過Native橋接為JS函數在HTML5頁面中調用,達到Hybrid App的效果。

  然而,Hybrid App的精髓在Hybrid,也就是混合上,既然是混合,就要考慮到混合比例,就像鋼筋混凝土,如果混合比例不當就會讓一個建築搖搖欲墜。

  一般,Hybrid App的混合主要包含兩部分,一部分是Native,一部分是Web。但不管是Native還是Web,都具有各自的UI和布局能力、數據交互能力和腳本調用能力等。所以,Hybrid App更是一種開發模式,如何有效混合使用是個很大的技巧。筆者經過多種Hybrid開發框架的使用,進行了一些總結,希望與開發者一起探討和了解Hybrid。

  根據混合的程度,Hybrid App通常分為三種類型:Web主體型、多View混合型、單View混合型。

  Web主體型:

  移動應用的主體是Web View,即主要以網頁語言編寫界面,穿插Native功能的Hybrid App開發類型。appMobi、PhoneGap都屬於Web主體型移動應用中間件。

  HTML5作為一個HTML 4.0.1和XHTML 1.0的升級版,基於舊版本有更強大的表現功能,並加入了Local Storage等技術,確實為Web頁面提供了更大的想像空間和更多的可能性。但HTML 5處在目前的發展階段,受到瀏覽器兼容性和手機硬體性能水平的影響,它所能提供的功能與Native仍然有很大差距。

  這種方式由於太過偏重於HTML5,用戶體驗性相對比較差,甚至會受困於瀏覽器之爭。

  多View混合型:

  即Native View和Web View獨立展示,交替出現。AppCan和Rexsee都屬於多View混合型,它們可以在HTML5無法勝任的時候採用Native View來進行補充。這種方式雖然對HTML5做了一定性的彌補,但是一個界面中HTML5可能無法勝任的僅僅是其中一部分,卻要把整個界面全部推翻,重新使用Native來實現,對於開發成本是極高的,所以實際使用中,很多開發者可能因為各種因素,特別是成本上的考慮會對HTML5的弊端進行妥協。這造成多View的混合型框架在實際應用中跟Web主體型並無太大的差異。這也是為什麼有的開發者願意選擇其他框架而不選擇多View混合型框架的原因,它的Native View有如雞肋般的存在,讓開發者無能為力。

  單View混合型:

  即在同一個View內,同時包括Native View和Web View。互相之間是覆蓋(層疊)的關係。這種模式可以很好的讓Native View和Web View和諧共存,充分發揮Native和HTML5的優勢,最小可以達到控制項級的Native界面交互體驗。烽火星空的ExMobi和Titanium就是具有這種特性的框架,它們可以讓開發者更加靈活的做出選擇,而不需要考慮太多的成本因素。

  另外,不管是哪種類型的Hybrid框架,以HTML5為開發主體的做法可能導致的各種瀏覽器兼容性問題以及用戶體驗和界面性能問題,都讓開發者需要思考,Native在Hybrid中的作用以及Native 的使用方式。

  在Hybrid App中,Native 的使用方式也有講究,主要包括:純原生程序方式調用、JS橋接類調用和標籤庫插件方式調用。

  純原生程序方式調用:

  即完全編寫純原生程序來實現Native效果,比如AppCan、PhoneGap等,這種方式雖然可以完全調用原生的所有能力,由於結構化不強,需要開發者獨立編寫不同平臺的原生程序,門檻很高,所以對於大部分開發者是不合適的。

  JS橋接類調用:

  這種方式通過把Native的能力統一封裝為JS橋接類,通過編寫JS即可繪製原生界面,達到Native效果,但是由於其封閉性和語法的特殊性,很多開發者很難適應這種寫法,不僅JS的輕量級特性沒有很好發揮,還無端增添了開發者的開發難度。就像拿籃球來當足球踢一樣,不僅踢不出足球的靈活,反而降低了活動的趣味性。

  所以,JS橋接類一般更適合提供非界面的原生能力,對於繪製界面則顯得有些力不從心。

  標籤庫插件方式調用:

  標籤庫是指跟HTML5標籤類似一種標籤語法,這種標籤通過Native View方式來解析展示,而不是通過Web View方式展示,這就大大降低了開發者的調用難度,通過編寫簡單標籤即可實現複雜的Native效果,並且這種方式的標籤完全可以擴展,通過插件的方式運行在Hybrid App框架中,對於開發者有更多的靈活選擇,而且很容易模塊化,達到標籤庫的復用和擴展。比如烽火星空的ExMobi就是這樣的方式調用Native界面的,它不僅可以不需要寫原生程序,更是採用了比寫JS還簡單的標籤庫方式來讓開發者調用,即可達到Native效果。

  筆者認為,真正的Hybrid App框架並不局限於PhoneGap、Appcan這樣的傳統開發框架那麼簡單,它既不是在HTML5的外表下套個殼,也不是HTML5和Native的各自為政。做為一種開發模式,Hybrid App框架技術也在不斷變革,就像烽火星空的ExMobi那樣具備強大的Native布局能力和HTML5的靈活展現能力,能夠讓Native和HTML5可以友好共存,並以標籤化的方式更方便開發者的隨意調用和擴展。選擇具有強大技術實力的Hybrid App框架對開發者提供的不僅僅是便捷,而是一種先進的開發模式和思維方式。

  除此之外,ExMobi框架提供開發上的便捷,還包括對OFFICE文檔的轉換能力、推送的統一處理、數據的壓縮和加密、應用的下載和更新、對不同數據的集成能力和統一的轉換能力以及持續更新的本地能力調用。

  而且,在不少CIO看來,Hybrid App框架不僅僅是提供開發上的能力,它只是整體的企業移動戰略中的一部分,應用的管理、設備的管理、應用不同層面的安全需要以及靈活的部署模式也都是企業移動戰略中的核心部分,如果開發者全部自己實現將是很大的工作量,所以選擇一個平臺型的Hybrid App框架是很有必要的。烽火星空的ExMobi就是這樣的一個基於Hybrid App的移動應用平臺,它從開發(IDE環境)、集成(IT系統對接、雲服務)、打包(各個作業系統的應用打包)、發布(應用的運行)、管理(日誌管理,更新管理)上提供了一套完整的移動化應用解決方案。所以,建議開發者根據自己的實際情況,選擇合適的Hybrid App框架。

相關焦點

  • iOS hybrid App 的實現原理及性能監測
    現在,我也覺得開發是一個可以終身做下去的事業,不過除了事業我還想追求更多的東西,從這些年的經歷來看,其中貫穿始終的就是在不停的學習,想明白這一點後,我開始除技術之外更廣領域的學習,比如日語,畫畫,設計,鋼琴等等,給自己的定位也變成了在今後作為一名終身學習者。
  • 保時捷Cayenne S e-hybrid首試:插電並非想省油
    低調暗露身份 螢光綠是「破綻」除非你是極度了解保時捷,不然眼前這輛Cayenne S e-hybrid很容易被矇混過關,因為保時捷毫不顧及Cayenne S e-hybrid插電式混合動力的身份,沒給它製造出位的元素,它看起來還是跟普通Cayenne沒有差別。
  • 可能沒你想的那麼簡單
    你知道水果和蔬菜的區別嗎?你可能會認為你知道。但實際上大多數人會把一些最常見的水果和蔬菜混淆。掌握一點植物學知識,你就會發現世界上到處都是你不知道的水果和漿果其實就是水果和漿果。究竟是什麼讓水果成為水果。傳統的經驗法則是,如果一件農產品有種子,它就是果實。
  • WebApp與Native App再戰一輪?
    還有各種開發、打包web/hybrid應用的產品:Cordova, Crosswalk,nw.js,Electron。它們也許在各自領域有所成功,但整體的現狀和處境很難說web app對native app的世界造成了足夠威脅。但Web app也在不斷反思和演進,近來一系列技術革新與發展讓web app成為作業系統頭等公民的目標變得不同以往的清晰。
  • 土埋酒可不是隨便埋的,沒你想的那麼簡單
    這也引發了一陣白酒收藏熱,那麼白酒儲存的時間為多久呢?有的人問,如果將白酒放在土裡面保存可以嗎?但是土埋酒可不是你想的那麼簡單,不是自己就可以隨便埋的。今天,小李就給大家講一講關於土埋酒的事情。一、為什麼要選擇土埋酒?中國作為一個酒文化源遠流長的國家,在什麼事情上都喜歡討一個好的意頭。
  • 科學家:右腦發育遠沒你想的那麼簡單
    科學家:右腦發育沒你想得那麼簡單相關科學家的研究表明,判斷一個孩子是否聰明,思維是否敏捷,右腦的發達與否是個重要因素。科學家認為,右腦發育的重要性遠沒你想的那麼簡單。3)形象思維能力需要依靠右腦完成:想讓孩子更好地適應新媒體時代,形象思維能力必不可少,因為計算機很有可能替代人類的左腦功能,而右腦的創造力和想像力則是人工智慧所欠缺的。4)左腦開發建立在右腦開發的基礎之上:左腦負責計算、分析、語言方面的功能,但這些必須建立在接受事物的基礎之上才能完成。倘若右腦開發得不好,左腦也很難提取到信息和圖像。
  • 破蛋,不是你想的那麼簡單~
    破蛋,不是你想的那麼簡單~ 昨日和朋友聊天,朋友講他每次看到五大聯賽有比分正為0:0的比賽,就忍不住想去滾大球
  • 懂車人:真正的含義沒那麼簡單
    雖說我們國內的經濟不斷的發展,人們的收入和生活消費的水平也得到了一個很大的進步,人們擁有資金之後會買一些之前沒有能力購買的東西,用來改變自己的生活,最近幾年我們國內非常流行購買車,人們購買它的意願也逐漸增高,如今車在我們國內大部分的城市中都已經完成了基本的普及,朋友們想去哪都可以駕駛著車直接滿足他們的需求
  • 沒你想的那麼簡單!
    這些問題,回答起來可不是那麼簡單。圖/Wikipedia可是,你想過沒有,彎曲的結構為什麼會加速空氣的流動?回憶一下漂流時的經歷:是不是河道窄的時候河水流速快,河道寬的時候就是流速慢?空氣就像河道裡的水,彎曲程度越高,相當「河道」越窄,氣流的速度自然就變快了。▲ 一隻煽動翅膀的北極海鸚,能夠隱約看出來翅膀上側的弧度。
  • 真實情況沒你想的那麼簡單!
    我們一直被這首兒歌欺騙了,真實的情況沒你想的那麼簡單!如果你認為地球月球和太陽的關係跟下面的這個圖一樣,那麼你錯了。在太陽系中,太陽是唯一的一個恆星,地球太陽系中八大行星中的一個,而月球則是地球的衛星。
  • 沒那麼簡單
    沒那麼簡單   隨著越來越多的護膚品、保健品有了「抗糖化」概念的加持,「抗糖化」產品儼然成了護膚界的「扛把子」。什麼是「糖化」?「抗糖化」產品真的有讓人青春永駐的神奇功效嗎?「抗糖化」就能對抗我們身體的衰老嗎?
  • 沒你想的那麼簡單
    但事實真的是這樣麼,其實沒你想的那麼簡單,乳牙關鍵時刻能救命,是有條件的,家長可別交智商稅了。 已經脫落的乳牙是沒有用的 想提取出乳牙中有用的幹細胞需要在孩子乳牙未脫落之前,搖搖欲墜的時候去專業口腔機構拔牙,然後放到低溫的液氮中保存,整個過程需由專業人士進行操作。
  • 《倒忌時》一個app引發的血案,最終boss竟是……
    如今的現代社會,智慧型手機片地都是每一個人手機上都有無數個app。人們都習慣使用免費的app。每一個免費的app都會要求獲取你的用戶權限,比如手機的定位呀,諸如此類的。可能是閻王要你三更死,不會留你到5更。馬上得bgm一響起金髮妹就game over,就領了盒飯。她的男朋友也身受重傷,住進了醫院。住進醫院的金髮妹男朋友,這裡我們就把金髮妹的男朋友簡稱為沒膽子。始終活在金髮妹死去的陰影當中,非常擔心自己會是下一個受害者。這時女主奎恩登場,他在醫院過了實習期,成為了一個真正的護士。在走廊她去見了金髮妹的男朋友沒膽子。
  • 沒那麼簡單 智能門鎖安裝過程全記錄
    (原標題:沒那麼簡單 智能門鎖安裝過程全記錄) 說起智能電子門鎖
  • 寫給App創業者的一封信:自己做還是外包
    所以做為一個創業者一定要捫心自問,把產品,把需求想清楚,如果你自己想不清楚,你下面的產品經理也不會很清楚,畢竟能完全理解你現在、以及每時每刻想法的人很少。公眾號微信的流行,使得越來越多的創業者把視線轉移到微信上,微信公眾號的好處就是會讓創業的成本更加低廉,因為申請一個公眾號很簡單,如果你想創業,不想花一分錢,那麼公眾號是個不錯的選擇,公眾號可以讓你的創業成本低到零,前提是你連認證費用都不想花。
  • 想和《綠皮書》鋼琴家一樣出口成「詩」?多看看這 6個App
    我想如果要分享一些有關於現代詩的 app,很多人會馬上這樣問。   最近上映的《綠皮書》中有一段,鋼琴家教他的保鏢寫信,原信件是這樣的:   親愛的多洛瑞絲,我見到了整個鎮上所有的文化人。那些人誇誇其談,所有人。不過你知道,我應付得來,我很能吹牛的。我寫信的時候,我正在吃薯條,然後此時口有點渴了。
  • 你真的了解Hybrid APP嗎
    但是,你真的了解Hybrid APP嗎?移動端市場的紅利,讓不少廠商涉足Hybrid開發平臺。理論上解說很簡單,技術實踐卻很難,Hybrid App的精髓在混合上,就像水和麵粉,在大廚手裡比例拿捏的準確,美味出爐;而門外漢,只能是麵粉多了加水,水多了加麵粉,失之毫釐,謬之千裡。一般,Hybrid App的混合主要包含兩部分,一部分是Native,一部分是Web。
  • 蔡依林,沒那麼簡單
    就連華納總裁陳澤杉都說:「很少有歌手像蔡依林一樣,第一張唱片就紅了,可是卻那麼不討人喜歡 與此同時,媒體也沒能放過她。 儘管蔡依林拼了命想證明自己,他們還是把功勞都給了周杰倫。
  • 武漢「解封」背後,情況沒你想得那麼簡單
    大家有錢的出錢,有力的出力,各行各業真的只有你想不到的,沒有他們做不到的!雖說是一句玩笑話,可我卻在眼眶裡看到了淚花,在一個個忙碌的身影上見證了感動。經過兩個多月的艱苦奮戰,武漢逐漸恢復生機。然而,復工復產卻沒那麼簡單。
  • 想親手製作輔食,可以看這10個免費app
    如果你對市售輔食不放心,願意自己親手製作,可以下載應用程式尋求指導意見。我們在主流應用市場上找了10個專門針對嬰兒輔食製作的免費app並逐一測評,看看哪個更合你的心意吧。除了中文的app,讓我們再來看幾款英文的吧。如果你對自己的閱讀能力有自信,能熟練地看懂英文的食譜,那麼以下幾款各有特色的app也是不妨一試。適用於iOS設備的app:Baby Food Chart應該在什麼時候給寶寶的食譜中引入某種食物?