原生應(yīng)用程序:(NativeApp)
原生APP就是利用Android、iOS平臺官方的開發(fā)語言、開發(fā)類庫、工具進(jìn)行開發(fā)。比如安卓的java語言,iOS的object-c 語言。在應(yīng)用性能上和交互體驗上應(yīng)該是最好的。
優(yōu)點:
1、可訪問手機所有功能、可實現(xiàn)功能最齊全;
2、運行速度快、性能高,絕佳的用戶體驗;
3、支持大量圖形和動畫。不卡,反應(yīng)快。
4、比較快捷地使用設(shè)備端提供的接口,處理速度上有優(yōu)勢。
缺點:
在過去主要是成本高、周期長,Android和iOS都需要單獨開發(fā)。
更新版本需要重新下載安裝包。
混合應(yīng)用程序(Hybrid App)
即利用了原生APP的開發(fā)技術(shù)還應(yīng)用了HTML5開發(fā)技術(shù),是原生和HTML5技術(shù)的混合應(yīng)用。混合比例不限。
優(yōu)點:
1、開發(fā)周期短;
2、功能更新發(fā)布快;
缺點:
1、用戶體驗不如本地應(yīng)用;
2、性能稍慢(需要連接網(wǎng)絡(luò));
Web版APP (Web App)
本質(zhì)就是瀏覽器功能的疊加,用普通Web開發(fā)語言開發(fā)的,通過瀏覽器運行。
優(yōu)勢:
1、支持范圍廣;
2、開發(fā)成本低、周期短。
缺點:
1、對聯(lián)網(wǎng)要求高,離線不能做任何操作;
2、功能有限;
3、運行速度慢,頁面不能承載太多東西;
4、圖片和動畫支持性不高;
5、如果用戶使用更多的新型瀏覽器,那么就會出現(xiàn)運行問題。
Web App、Hybrid App、Native App 技術(shù)特性
手游app與手機App
手游一般使用引擎開發(fā),現(xiàn)在著名的有cocos2d和unity3d。兩者都是使用引擎自帶的語言進(jìn)行開發(fā),主流的分別是c++和c#,雖然在開發(fā)過程中也有按鈕等控件的概念,但當(dāng)運行時由引擎渲染后就變成了一副簡單的圖片:
手機App一般使用Android SDK開發(fā),使用Java編寫。通過Android提供的服務(wù),我們可以獲取App當(dāng)前窗口的視圖信息,進(jìn)而查找和操作按鈕等控件,以完成自動化測試,如Uiautomator。這個過程是標(biāo)準(zhǔn)化的,從技術(shù)上來說沒有任何難度,因此各個公司各個App自動化測試的方法都大同小異。