基百科是全球最大的在線百科全書,擁有眾多擁篤。這樣一個知識利器目前在桌面端和移動端均有入口。但是,其移動端應用一直使用的是 HTML5 封裝,也就是說,目前 iOS 和 Android 上的維基百科并不是原生的。
直到一個多月前,維基百科率先在Google Play上推出了其原生應用,并且支持應用內編輯。現(xiàn)在,iOS 平臺也迎來了屬于它的原生維基百科應用。維基百科 for iOS 放棄了之前所采用的開源框架 PhoneGap,而改用 Objective C 寫成。
一起通過幾組對比圖來看看維基百科的這款新 app 都做出了哪些改進:
最重要的功能改進——在應用內直接編輯。之前的版本需轉入 web 頁面才能編輯。
用戶甚至無需登錄便可編輯內容,只需要點擊頁面上的小鉛筆就可以完成。
[本文參考以下來源:thenextweb.com]
者:Darrell Etherington
根據(jù)Bernstein Research公司分析師Toni Sacconaghi Jr的觀點,在HTML5的影響下,2015年蘋果營業(yè)利潤增長可能會遭受30%的損失。Forrester Research公司也曾指出,HTML5的出現(xiàn)還將影響蘋果通過原生應用中收獲的利潤。但從以下兩個原因可以看出,業(yè)內人士不應該低估iOS原生應用的長遠吸引力:
1.原生應用能夠突破其局限性
人們之所以認為HTML5將取代iPad和iPhone設備中的原生應用是因為它的網絡技術正在趕超iOS軟件的功能。雖然這是事實,但是HTML5永遠也不可能與原生應用相提并論,應為蘋果始終掌握著主要控制權,它可以決定哪些第三方應用軟件可以在iOS設備上運行。iOS每一次重大更新都能給開發(fā)者帶來新的API,而每一代新的硬件也都提供了新的網絡連接選項,收音機以及其它硬件功能。舉個例子來說,iOS 5便推出了1500款新型API,包括iCloud Storage,Newsstand以及Twitter。
只有蘋果能夠決定它的軟件可以做什么或不能做什么,以及何種硬件可以與之兼容;但是因為HTML5是基于所有瀏覽器而設置的,所以要求更多的技術妥協(xié)。同時,HTML5如果要使用iOS硬件的所用功能也擁有許多局限因素,盡管蘋果已經采取了一些改善措施,例如允許Safari使用更多的本地設備內存以及地理定位服務。雖然如此看來好像是HTML5正在迎頭趕上本機應用,但是事實上它卻永遠不可能超越它們,因為蘋果的移動技術還在不斷進化,并且通過iOS SDK給原生應用開發(fā)者提供更多的API選擇。
2.原生應用才剛超越移動網頁
在智能手機和平板電腦設備中,手機應用剛剛才開始趕超移動網頁,其人氣正處于高漲階段。應用商店的出現(xiàn)更是助長了這種趨勢,目前尚無跡象表明這種趨勢會放緩或者扭轉,雖然Vudu(注:一種新型電視節(jié)目服務),亞馬遜以及《金融時報》等公司最近都繞開蘋果App Store,創(chuàng)建了HTML5網頁應用。
顯然,很多公司寧愿選擇HTML5而不是蘋果的原生應用是因為,基于網頁的產品讓他們繞過蘋果這個中間商,避開蘋果營收抽成,直接獲取更大的利潤,并且能夠針對多個平臺一次性開發(fā)產品。但是從用戶體驗的角度來看,絕大多數(shù)用戶可能并不會支持應用大規(guī)模向HTML5領域遷移。雖然市場上將會有越來越多HTML5產品,但是原生應用的光芒也不會輕易被掩蓋,因為它有穩(wěn)定的離線訪問,特定的界面,可自由訪問特定硬件和軟件等功能。
我認為在今后幾年里,蘋果將繼續(xù)從原生應用中賺取更多利潤,HTML5無法對此造成嚴重影響。
注:原文發(fā)表于2011年9月13日,所涉事件和數(shù)據(jù)均以當時為準。
備做一個網頁版聊天界面,表情啊、圖片啊、上傳文件啊都應該要有,視頻就算了,語音還是要的。
本文記錄的是在網頁上用GitHub上的Recorder進行在線錄音和上傳到服務器,前幾天升了一下級,以后有時間再專門寫一篇記錄。
本示例代碼支持PC、Android、IOS(僅Safari)中使用,如果用RecordApp可增加對IOS(微信瀏覽器、小程序)的支持。
看萬遍代碼不如行動一遍,新建一個html文件,把下面三段代碼復制到文件內,雙擊瀏覽器打開就能進行測試。
<!-- 先加載js錄音庫,注意:你應該把js clone到本地使用 --><meta charset="utf-8" /> <script src="https://xiangyuecn.github.io/Recorder/recorder.mp3.min.js"></script> <input type="button" onclick="startRec()" value="開始錄音"> <hr> <input type="button" onclick="playRec()" value="結束并播放"> <input type="button" onclick="uploadRec()" value="結束并上傳"> <script> var rec; function startRec(){ rec=Recorder();//使用默認配置,mp3格式 //打開麥克風授權獲得相關資源 rec.open(function(){ //開始錄音 rec.start(); },function(msg,isUserNotAllow){ //用戶拒絕了權限或瀏覽器不支持 alert((isUserNotAllow?"用戶拒絕了權限,":"")+"無法錄音:"+msg); }); }; </script>
<script> function uploadRec(){ //停止錄音,得到了錄音文件blob二進制對象,想干嘛就干嘛 rec.stop(function(blob,duration){ /* blob文件對象,可以用FileReader讀取出內容 ,或者用FormData上傳,本例直接上傳二進制文件 ,對于普通application/x-www-form-urlencoded表單上傳 ,請參考github里面的例子 */ var form=new FormData(); form.append("upfile",blob,"recorder.mp3"); //和普通form表單并無二致,后端接收到upfile參數(shù)的文件,文件名為recorder.mp3 //直接用ajax上傳 var xhr=new XMLHttpRequest(); xhr.open("POST","http://baidu.com/修改成你的上傳地址");//這個假地址在控制臺network中能看到請求數(shù)據(jù)和格式,請求結果無關緊要 xhr.onreadystatechange=function(){ if(xhr.readyState==4){ alert(xhr.status==200?"上傳成功":"測試請先打開瀏覽器控制臺,然后重新錄音,在network選項卡里面就能看到上傳請求數(shù)據(jù)和格式了"); } } xhr.send(form); },function(msg){ alert("錄音失敗:"+msg); }); };</script>
<script> function playRec(){ //停止錄音,得到了錄音文件blob二進制對象,想干嘛就干嘛 rec.stop(function(blob,duration){ var audio=document.createElement("audio"); audio.controls=true; document.body.appendChild(audio); //非常簡單的就能拿到blob音頻url audio.src=URL.createObjectURL(blob); audio.play(); },function(msg){ alert("錄音失敗:"+msg); }); };</script>
GitHub地址:https://github.com/xiangyuecn/Recorder
在線測試: https://xiangyuecn.github.io/Recorder/
Recorder用于html5錄音,為一個純粹的js庫,支持大部分已實現(xiàn)getUserMedia的移動端、PC端瀏覽器,包括騰訊Android X5內核(QQ、微信)。
錄音默認輸出mp3格式,另外可選wav格式(此格式錄音文件超大);有限支持ogg、webm、amr格式;支持任意格式擴展(前提有相應編碼器)。
小巧:如果對錄音文件大小沒有特別要求,可以僅僅使用錄音核心+wav編碼器,源碼不足300行,壓縮后的recorder.wav.min.js不足4kb。mp3使用lamejs編碼,壓縮后的recorder.mp3.min.js開啟gzip后54kb。
由于IOS(11.X、12.X)上只有Safari支持getUserMedia,其他瀏覽器均不支持H5錄音,因此額外針對IOS對Recorder進行了進一步的兼容封裝,升級成了RecordApp,用于支持微信(含瀏覽器、小程序web-view),另外RecordApp對Hybrid App也提供了更加優(yōu)秀的支持。
由于RecordApp需要微信公眾(訂閱)號提供JsSDK錄音支持,所以開發(fā)難度會大些,但支持的環(huán)境更多。Recorder拿來就能用,具體使用哪個請參考下表:
如果這個庫有幫助到您,請 Star 一下。
原文作者:高堅果兄弟
原文地址:https://www.cnblogs.com/xiangyuecn/p/10772227.html
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。