為當(dāng)下炙手可熱的技術(shù),圍繞APP和HTML5難免少不了各種爭辯。而在“互聯(lián)網(wǎng)+”時(shí)代,許多面臨轉(zhuǎn)型的傳統(tǒng)企業(yè),也在選擇轉(zhuǎn)型工具時(shí),陷入了HTML5或APP的糾結(jié)抉擇之中……到底該選擇HTML5還是APP呢?本信息圖從終端用戶的使用情況、技術(shù)體驗(yàn)、推廣與收費(fèi)模式、開發(fā)者服務(wù)支持,以及傳統(tǒng)企業(yè)互聯(lián)網(wǎng)化對(duì)HTML5和APP的運(yùn)用等多方面進(jìn)行了充分比較,為HTML5&APP的抉擇提供了重要參考依據(jù)。
們都知道APP的開發(fā)方式具有很多種,比如原生APP因?yàn)閮?yōu)點(diǎn)較多也成為人們比較喜歡的一種開發(fā)方式,在此之前小編就已經(jīng)寫過關(guān)于“原生APP的優(yōu)勢是什么?原生APP的開發(fā)過程主要分別都有哪些?”一文,有興趣的朋友可以去看看。但我們今天提到的是另外一種基于HTML5的開發(fā)方式。濟(jì)南文匯傳媒的小編為您分析一下使用HTML5去開發(fā)移動(dòng)APP具有的優(yōu)勢和劣勢。
濟(jì)南APP開發(fā)定制/文匯傳媒
HTML5開發(fā)移動(dòng)APP的優(yōu)勢?
1、成本比較低
因?yàn)镠TML5在開發(fā)技術(shù)上難度低并且在開發(fā)時(shí)需要存儲(chǔ)的數(shù)據(jù)少,這樣成本自然就下降了。
2、可以跨平臺(tái)
我們知道APP平臺(tái)有兩種Android和ios,HTML5可以同時(shí)適應(yīng)這兩種平臺(tái),不用再為一些界面顯示問題煩惱。
3、轉(zhuǎn)化率較高
利用HTML5的APP引流是很容易的,比如vx、瀏覽器、搜索引擎等,這樣的大流量是更容易進(jìn)行用戶轉(zhuǎn)化率的。
濟(jì)南APP開發(fā)定制/文匯傳媒
當(dāng)然除了以上的優(yōu)勢,還有HTML5開發(fā)移動(dòng)APP的劣勢。
1、受到網(wǎng)絡(luò)的限制
一旦網(wǎng)速很差的話,那么HTML5的應(yīng)用就很難打開,所以是受到網(wǎng)絡(luò)的限制。
2、用戶體驗(yàn)性差
HTML5的應(yīng)用可能在操作上比較差,這就使得用戶的體驗(yàn)度也跟著變差。
以上就是濟(jì)南文匯傳媒的小編為您分析的關(guān)于利用HTML5去開發(fā)移動(dòng)APP所具有的的優(yōu)勢和劣勢,如果您還知道其他關(guān)于HTML5的開發(fā)APP的知識(shí)也可以留言補(bǔ)充!
來越多的開發(fā)者熱衷于使用html5+JavaScript開發(fā)移動(dòng)Web App。不過,HTML5 Web APP的出現(xiàn)能否在未來取代移動(dòng)應(yīng)用,就目前來說,還是個(gè)未知數(shù)。那么,有什么辦法,既可以使用HTMl5開發(fā)應(yīng) 用,又可以將其簡單封裝成APK文件呢?
一、Android SDK中的WebView
1.在要Activity中實(shí)例化WebView組件:WebView webView=new WebView(this);
2.調(diào)用WebView的loadUrl()方法,設(shè)置WevView要顯示的網(wǎng)頁:
? 互聯(lián)網(wǎng)用:webView.loadUrl("http://www.qietu.com");
? 本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.調(diào)用Activity的setContentView( )方法來顯示網(wǎng)頁視圖
4.用WebView點(diǎn)鏈接看了很多頁以后為了讓W(xué)ebView支持回退功能,需要覆蓋覆蓋Activity類的onKeyDown()方法,如果不做任何處理,點(diǎn)擊系統(tǒng)回退剪鍵,整個(gè)瀏覽器會(huì)調(diào)用finish()而結(jié)束自身,而不是回退到上一頁面
5.需要在AndroidManifest.xml文件中添加權(quán)限,否則會(huì)出現(xiàn)Web page not available錯(cuò)誤。
? <uses-permission android:name="android.permission.INTERNET" />
缺點(diǎn):如果是載入的是普通網(wǎng)頁,沒有什么問題,但如果是html5,封裝后,在android2.3以上才能正常訪問,android2.2及以下,SDK中的WebView還沒完全支持HTML5
下面是具體例子:
MainActivity.java
??? package com.android.webview.activity; ?
??? import android.app.Activity; ?
??? import android.os.Bundle; ?
??? import android.view.KeyEvent; ?
??? import android.webkit.WebView; ?
??? public class MainActivity extends Activity { ?
??????? private WebView webview; ?
??????? @Override
??????? public void onCreate(Bundle savedInstanceState) { ?
??????????? super.onCreate(savedInstanceState); ?
??????????? //實(shí)例化WebView對(duì)象 ?
??????????? webview=new WebView(this); ?
??????????? //設(shè)置WebView屬性,能夠執(zhí)行Javascript腳本 ?
??????????? webview.getSettings().setJavaScriptEnabled(true); ?
??????????? //加載需要顯示的網(wǎng)頁 ?
??????????? webview.loadUrl("http://www.qietu.com/"); ?
??????????? //設(shè)置Web視圖 ?
??????????? setContentView(webview); ?
??????? } ?
??????? @Override
??????? //設(shè)置回退 ?
??????? //覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法 ?
??????? public boolean onKeyDown(int keyCode, KeyEvent event) { ?
??????????? if ((keyCode==KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { ?
??????????????? webview.goBack(); //goBack()表示返回WebView的上一頁面 ?
??????????????? return true; ?
??????????? } ?
??????????? return false; ?
??? }
在AndroidManifest.xml文件中添加權(quán)限
??? <?xml version="1.0" encoding="utf-8"?>
??? <manifest xmlns:android="http://schemas.android.com/apk/res/android"
????????? package="com.android.webview.activity"
????????? android:versionCode="1"
????????? android:versionName="1.0">
??????? <uses-sdk android:minSdkVersion="10" />
??????? <application android:icon="@drawable/icon" android:label="@string/app_name">
??????????? <activity android:name=".MainActivity"
????????????????????? android:label="@string/app_name">
??????????????? <intent-filter>
??????????????????? <action android:name="android.intent.action.MAIN" />
??????????????????? <category android:name="android.intent.category.LAUNCHER" />
??????????????? </intent-filter>
??????????? </activity>
??????? </application>
??????? <uses-permission android:name="android.permission.INTERNET"/>
??? </manifest>
二、使用PhoneGap
??? PhoneGap是一個(gè)用基于HTML,CSS和JavaScript的,創(chuàng)建移動(dòng)跨平臺(tái)移動(dòng)應(yīng)用程序的快速開發(fā)平臺(tái)。它使開發(fā)者能夠利用 iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手機(jī)的核心功能——包括地理定位,加速器,聯(lián)系 人,聲音和振動(dòng)等,此外PhoneGap擁有豐富的插件,可以以此擴(kuò)展無限的功能。PhoneGap是免費(fèi)的,但是它需要特定平臺(tái)提供的附加軟件,例如 iPhone的iPhone SDK,Android的Android SDK等,
詳細(xì)方法請(qǐng)見:http://phonegap.com/start#android
優(yōu)點(diǎn):在Eclipse中加入SDK,編程自由,完美適應(yīng)不同設(shè)備屏幕大小,適合高手使用。
缺點(diǎn):沒有使用布局,直接加載網(wǎng)頁,不能添加廣告。
----------------
切圖網(wǎng)(qietu.com)最早將psd轉(zhuǎn)html服務(wù)模式帶到國內(nèi),并首個(gè)提供響應(yīng)式、webapp前端開發(fā)的公司。專注web前端開發(fā)技術(shù),關(guān)注用戶體驗(yàn),加我們公眾微信賬號(hào):qietuwang(長按復(fù)制)
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。