天天看點

移動開發-混合App介紹

3種開發類型的原理和對比

移動開發-混合App介紹
移動開發-混合App介紹
移動開發-混合App介紹
移動開發-混合App介紹

什麼是混合App(Hybrid App)

  • Hybrid App是指介于web-app(網頁APP,如京東web)、native-app(原生應用,如手機上面的APP應用)這兩者之間的app,它雖然看上去是一個Native App,但隻有一個WebView ( WebView,可以類比成iframe ),裡面通路的是一個Web App,就是包了個用戶端的殼,其實裡面是HTML5的網頁。
移動開發-混合App介紹

混合開發簡介

  • 現在app開發方類型有幾種?
    • WebApp:就是在浏覽器中運作的web應用
    • NativeApp:用android和Object-C等原生語言開發的應用
    • HybridApp:就是外面是原生的殼,裡面是webapp應用,兼具2者的優勢
  • 企業如何選擇用那種方式開發産品呢?
    • 企業要根據自身的特點進行app開發方式的選擇,不要為了混合而混合。

      混合app的開發方式是未來的主流趨勢。

  • 移動端開發有哪些架構

    主流的:Ionic、React Native

    非主流:Html5+、AppCan、Jquery Mobile(主要用于做移動Web)

  • 混合app Ionic (Html5+ AppCan) 需要送出到伺服器上面做打包
  • 原生app React Native RN

HTML5+

  • 首先要認識Html5+聯盟是什麼?

    HTML5中國産業聯盟,簡稱“HTML5+聯盟”,是為了更好的推進HTML5的商用、更好的為HTML5開發者服務而由産 業鍊主流廠商共同組成的一個聯盟。

    聯盟緻力于整合産業鍊資源,建立圍繞HTML5開發者的生态系統,通過産業鍊共同為HTML5開發者服務。

    W3C中國是聯盟的指導機關。

    CSDN 和 DCloud 是聯盟的秘書處機關。

  • Dcloud官網
    • 官網位址
    • Emmet文法
    • 案例
    • Dcloud4個核心産品
      • HBuilder:是一款web開發工具。它能大幅提升開發效率,對程式員也設計了更人文關懷的UI,它包括最全面的文法庫和浏覽器相容性資料。到現在 已經有兩年的時間了,到現在大概有幾十萬的開發者在使用。
      • 5+Runtime:是一個H5的增強引擎。這是一個可以去調用H5的能力和原生作業系統的産品。
      • MUI架構:是高性能的前端架構,可用開發高性能App,也是目前最接近原生App效果的架構,可以有效解決HTML5原生開發中遇到的部分問題,同時體積也小。
      • 流應用:會讓使用者感覺一點開就可以用,這也是颠覆現有的應用方式的主要因素,給最終使用者去使用應用有更好的體驗。
      • 如果手機上安裝用360手機市場的話,html5+開發的移動掃一下二維碼,隻需要一點點流量就能夠使用了。
  • Html5+的優點
    • 提供了一個自定制的IDE工具,支援非常好,輕量級,甚至不需要安裝直接解壓縮就可以使用
    • 開發出來的app的性能很好,使用者體驗很高
    • 豐富的api支援,号稱有40萬+
  • Html5+的缺點
    • 打包比較麻煩,需要上傳源碼,有些公司可以不希望公開源碼
    • 從新學習樣式
  • 國産的(愛國)

AppCan

  • 官網位址
  • 首先來認識AppCan是什麼?
    AppCan.cn開發平台是基于HTML5技術的跨平台移動應用快速開發一體化解決方案。開發者利用HTML5+CSS3+JavaScript技術可 以快速地開發與本地應用體驗相媲美的移動應用。AppCan.cn平台提供了UI快速開發架構、本地功能調用API接口、應用打包系統、IDE內建開發環 境和本地應用調試模拟器,預置數百套界面模闆和數十種應用插件,提供多套應用模闆。完善的架構接口,人性化的開發環境,豐富的開發資源,強大的服務支援, 使開發者可以快速邁入移動開發領域。
  • 項目示範

Jquery Mobile

  • 簡介
    • jQuery Mobile 是一個用于建立移動端web應用的的前端架構。
  • 網站

    官網位址

    中文網位址

    APi學習位址

  • Jquery Mobile是做什麼的?

    jQuery Mobile 是針對觸屏智能手機與平闆電腦的網頁開發架構。

    jQuery Mobile 工作與所有主流的智能手機和平闆電腦上:

    jQuery Mobile 建構于 jQuery 以及 jQuery UI類庫之上,如果您了解 jQuery,您可以很容易的學習 jQuery Mobile。

    jQuery Mobile 使用了極少的 HTML5、CSS3、JavaScript 和 AJAX 腳本代碼來完成頁面的布局渲染。

React Native 介紹

  • 官網位址
    • 官網
    • 中文網
  • React Native

    一次學習 ,多處使用

    (一次打包,多處使用)

  • React native原理圖
  • React Native核心實作是什麼?
    • React Native裡面沒有webview,這貨不是Hybrid app,裡面執行JS是用的 JavascriptCore。
    • 把Native code十來個最基本核心的類(RCTDeviceEventEmitter、RCTRenderingPerf等)、或元件(RCTView、RCTTextField、RCTTextView、RCTModalFullscreenView等)封裝成二十來個基本元件(Popover、Listview等)
    • 實作了一套類似css的子集,用來解決樣式問題,相當複雜和強大,靠這個才能将Native的核心元件組成JS層的基本元件再組成業務端的業務元件
    • 在React Native中,寫JS的工程師解決的是「将基本元件拼裝成可用的React元件」的問題,寫Native Code的工程師解決的是「提供核心元件,提供足夠的擴充性、靈活性和性能」的問題。
    • jsx=js+xml webpack以子產品化的思想解決問題,主要是處理jsx文法轉換成js文法
  • React Native的優點有哪些?
    • 不用Webview,徹底擺脫了Webview讓人不爽的互動和性能問題。
    • 有較強的擴充性,這是因為Native端提供的是基本控件,JS可以自由組合使用。
    • 可以直接使用Native原生的「牛逼」動畫。
    • 可以通過更新遠端JS,直接更新app。
  • 現在那些公司在用React Native
    • 案例位址