【轉】幾款移動跨平臺App開發框架比較

原文地址:https://www.cnblogs.com/songxingzheng/p/6482697.htmlhtml

 

整理目前流行的跨平臺WebApp開發技術的特色,僅供參考。前端

每一個框架幾乎都包含如下特性:react

  • 使用 HTML5 + CSS + JavaScript 開發
  • 跨平臺重用代碼
  • 豐富的UI庫
  • 提供訪問設備原生API的 JavaScript API 包裝器
  • 解決原生開發中機型適配的難題
  • 提供打包、部署的工具或服務
  • 都須要學習自身封裝的 JavaScript API

篩選框架的要求:android

  • 性能:運行速度快
  • UI:提供接近原生的UI體驗
  • 插件多,文檔豐富,開發效率高,容易擴展和維護
  • 知足業務需求

Cordova

Cordova 和 PhoneGap 的區別?
PhoneGap 是 Apache Cordova 的一個分發版,就像 Ubuntu 是 基於 Linux 的一個發行版,其代碼庫也基於 Cordova,只是 PhoneGap 關聯了 Adobe 的一些額外的商業工具或服務,例如 PhoneGap Build 和 Adobe Shadow,來幫助開發者簡化開發。
此外,二者提供的CLI工具、項目結構有差別,如:
Cordova 把 config.html 放在項目目錄下,而 PhoneGap 把它放在www 目錄下。git

優勢程序員

  • 開源免費,社區生態成熟,插件豐富
  • 支持離線場景應用
  • 開發工具選擇空間大

缺點:github

  • 只提供基礎訪問設備的接口,須要本身搭配其餘UI框架和JavaScript框架來搭配

UI框架web

參考資料

Cordova中文文檔
建立第一個App(英文)
利用 Cordova+Famous 建立高性能跨平臺APP
使用 Cordova 和 Vue.js 建立移動應用apache

Ionic

官網地址:http://www.ionic.wang/ (有案例)
Ionic = Cordova + AngularJS + 一套樣式庫。react-native

技術要求

  • HTML + CSS + AngularJS

優勢

  • 基於 Cordova
  • 漂亮的界面,追求性能,專一原生,免費開源
  • Angular JS MVVM 開發理念,數據雙向綁定
  • 繼承自 Cordova,可使用 Cordova 的插件

缺點

  • Angular JS 學習路線陡峭
  • Ionic 框架相比於原生的 Cordova 有所差別,Cordova 某些官方插件可能不適用於Ionic

AppCan

經過AppCan IDE集成開發系統、雲端打包器等,快速開發出Android、iOS、WP平臺上的移動應用。

有兩種方式建立項目:IDE 和雲端,而且IDE能夠同步到雲端。
免費用戶有100M空間、50個應用的限制。

優勢

  • 提供一體化解決方案,方便環境搭建、開發、調試、發佈
  • 框架自帶UI包,包含經常使用控件樣式
  • 框架對UI、動畫渲染進行過優化,反應速度快
  • 支持本地打包、雲端打包
  • 基於密鑰的代碼加密

缺點

  • 不開源,沒法修改、優化底層代碼
  • 分大衆版和企業版,大衆版免費,但功能有缺失,詳細見附錄
  • 暫不支持自行開發控件/,沒法調取android原生功能
  • 框架自帶功能過多,致使應用安裝包偏大。
  • 文檔偏少
  • 部分系統沒法使用IDE進行調試
  • 只能在服務器端發佈,沒法在本地發佈
  • IOS發佈,須要將證書上傳至服務器

參考:
Phonegap VS AppCan

使用案例
我愛我家App 等

附錄
企業版和大衆版主要有如下幾點區別:

  • 開發環境:
    企業版走獨立的開發環境與打包環境,企業版配備macmini打包服務器,能夠實現本地環境下建立項目,調試,打包;
    大衆版不論是建立項目仍是打包都須要依託於官方的服務器,須要在聯網的狀況下進行,打包須要將源碼上傳到官方服務器進行打包;
  • 版本控制:企業版獨立控制引擎插件的版本;
    大衆版官方統一維護,官方換哪一個版本開發者就須要使用哪一個版本,沒有選擇;
  • 協同開發:企業版可經過macmini後臺分配開發者或者應用管理員賬號,可實現協同開發。
    大衆版不能知足協同開發
  • 企業版有推送API接口
    大衆版沒有
  • 售後服務:企業版有獨立的售後團隊
    大衆版的入口是論壇

Dcloud

Dcloud組件

Dcloud和原生開發對比

特色:
雲編譯必須聯網獲取AppId

優勢:

  • 國內廠商,中文文檔
  • 對HTML5的性能、工具、能力都作了深刻擴展,提供 IDE 、雲服務等幫助節省時間
  • MUI 更貼近國內App使用習慣,提供模塊的詳細例子,如登陸,我的中心

缺點:

  • 部分操做須要具有原生開發經驗,如離線打包App
  • 新產品仍然有bug,還需改進

學習路線:

DCloud學習路線

APICloud

優勢:

  • 不懂原生開發,不懂後臺語言就可完成APP

缺點:

  • 更新速度快,版本不夠穩定
  • 面向不懂App開發人羣,不適合程序員和科技公司,過分依賴會下降技術水平
  • 涉嫌抄襲DCloud大量代碼

React Native

可以在Javascript和React的基礎上得到徹底一致的開發體驗,構建世界一流的原生APP。
僅需學習一次,編寫任何平臺。(Learn once, write anywhere)

缺點:

  • 初次學習成本高
  • 必須在不一樣平臺下寫兩套代碼,依賴暴露的接口

總結

通過一番對比,感受 Cordova 和 DCloud 更適合本次項目。

緣由:
Cordova

  • 生態成熟,有更多可搭配工具使用,開源代碼可自由定製;
  • 前端框架: famous 或 Framework7

DCloud

  • 國產中的開源,免費,性能不錯
  • 提供雲服務幫助打包和部署、測試,下降一部分門檻,減小時間;
  • 前端框架:MUI

其餘框架不適合的緣由
APICloud

  • 生態很差,名聲很差,面向羣體不適合;

AppCan

  • 閉源,商業化產品,免費版限制太多;

Ionic

  • AngularJS 學習曲線陡峭,須要時間;

React Native

    • 學習成本高
相關文章
相關標籤/搜索