目前愈來愈多的移動端混合開發方式,下面列舉的大多數我都略微的嘗試過,就初步的認識寫個簡單的心得:react
開發方式 | 開發環境 | 是否須要AndroidSDK | 支持跨平臺 | 開發語言&技能 |
MUI | Win+HBuilder | 否 | 是 | Html5+Css3 Javascript |
DeviceOne | Win+DeviceOne | 否 | 是 | JavaScript |
ReactNative | Win+AndroidSDK+Node | 須要 | 是 | React |
Xamarin | Win+AndroidSDK+VisualStudio | 須要 | 是 | C# Xaml |
Qt | Win+Qt | 須要 | 是 | C++ Qt |
一、MUI我想這個應該是不少會Html的人的首選,上手速度極快,可是也是我我的最不推薦的一個,打包出來的APP就是webView,經過Bridge調用原生接口,App啓動慢,吃內存,特別是配合Chrome調試,翻~~牆是必須的,並且特吃內存,一個頁面修改,調試,修改,幾回內存就吃到好幾百MB了,地圖SDK封裝太死,接口太少,簡單的打個mark什麼的還行,作map更多功能的app不推薦android
二、DeviceOne 這個我只是剛開始用的時候體驗了一把,後來就沒玩了,須要下載他們基於Eclipse開發的IDE,DeviceOne,經過服務器端打包,調試需在app設置調試服務器IP跟Port,純Javascript(原生寫法)開發,知名度不如MUI,除了官方文檔甚少,不過官方用戶羣裏面響應跟支持很及時,也算是前期在培養用戶羣體吧。web
三、ReactNative 簡稱RN,最剛開始推出的是MAC平臺開發IOS的,後來纔在Win平臺退出開發Android的,,高級的功能須要有原生基礎,須要有React基礎,根據官方的Quick Start部署Android你會被坑進去,官方說運行React-Native run-android就能運行了,太坑了,不信你進去刷新下頁面試試,你要先運行react-native start 啓動服務,再運行react-native run-android 運行app調試,模擬器使用搖一搖功能進入dev setting在debug server裏面設置你開發機器的ip跟host才行,然而這些都是官方沒告訴你的。最終打包的app依舊是webview的不過跟MUI比簡直是一個天上一個地底,由於能夠流暢得讓你懷疑人生面試
四、Xamarin,這個是微軟爸爸把收費的廠商收購的過來而後開源免費給開發者用的,支持跨平臺(界面必須用Xamarin.Forms)這裏咱們只說Android,Xamarin官方文檔過期,可能你參照官方的例子來敲代碼,不少都會莫名的錯誤,跑不起來,是的!我深有體會,因此我打算仍是玩原生去。再就是若是你用Vs 2015來開發Xamarin在界面那一塊很卡很卡,你會發現你寫個style,selector等等都沒智能提示,layout從source到design切換會卡死,並且常常VS無響應死掉,可是若是你換Xamarin來作就體驗比較好了,source到design切換很流暢,寫style,color,selector等都有智能提示,可是:Xamarin不支持中文。。。。你寫的string.xml等資源文件都不能有中文。。。。由於他不支持。。。並且會打包一個Runtime到APK裏面去,Release版我不知道多大,反正debug版本50MB是有的後端
五、Qt,Qt是使用C++開發,因此固然支持跨平臺了,他分好幾個版本,你須要下載對應的版本才行,不過如今搞C++去寫Android App的人多嗎?我沒體驗過,這裏只介紹Qt能夠開發,若是你使用QML還好,使用QtWidget真的很無奈。react-native
我的推薦排序:服務器
ReactNative 對於高級功能能須要原生基礎的可能要求較高,像通用的第三方SDK Github上都有人封裝過,直接能夠拿來用,開發上手較快,用戶羣體大,網上資料多app
Xamarin 這個要配合使用,界面用AndroidStudio來作,畢竟是官方自家的東西,支持很到位,後端你用VisualStudio來寫 (目前個人作法)ui
DeviceOne 能夠考慮,畢竟官方支持很及時debug
Mui 這個能夠玩玩,瞭解瞭解,對於簡單的列表,表單等要求不高的app能夠用這個作
以上純爲我的觀點,僅供非原生開發且徘徊在選擇開發方法的新手參考