整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          維基百科推出iOS原生應用,可實現(xiàn)應用內編輯

          基百科是全球最大的在線百科全書,擁有眾多擁篤。這樣一個知識利器目前在桌面端和移動端均有入口。但是,其移動端應用一直使用的是 HTML5 封裝,也就是說,目前 iOS 和 Android 上的維基百科并不是原生的。

          直到一個多月前,維基百科率先在Google Play上推出了其原生應用,并且支持應用內編輯。現(xiàn)在,iOS 平臺也迎來了屬于它的原生維基百科應用。維基百科 for iOS 放棄了之前所采用的開源框架 PhoneGap,而改用 Objective C 寫成。

          一起通過幾組對比圖來看看維基百科的這款新 app 都做出了哪些改進:

          • 一直處在頁面最上方的搜索欄被移除,頁面更清爽簡潔

          • 加入了導航界面,搜索內容可以細化到具體的門類

          • 提供分享功能、收藏功能(用于離線閱讀)

          • 最重要的功能改進——在應用內直接編輯。之前的版本需轉入 web 頁面才能編輯。

          • 用戶甚至無需登錄便可編輯內容,只需要點擊頁面上的小鉛筆就可以完成。

          • 在功能設計上也有人性化的改進,比如,通過左上角的”W“按鈕可以訪問“收藏頁面”、“近期閱讀“等常用功能。

          [本文參考以下來源: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>
          

          Recorder

          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


          主站蜘蛛池模板: 在线观看免费视频一区| 亚洲一区二区在线免费观看| 精品人无码一区二区三区| 日韩一区二区三区视频| 日韩精品无码一区二区三区不卡| 美女视频一区二区| 国产在线一区二区三区av| 国产精品99精品一区二区三区| 亚洲乱码一区二区三区国产精品 | 韩国精品一区视频在线播放| 日韩免费一区二区三区在线| 亚洲一区免费视频| 日韩一区二区超清视频| 午夜影院一区二区| 丰满爆乳无码一区二区三区| 在线|一区二区三区| 国产无吗一区二区三区在线欢| 国产精品资源一区二区| 日本强伦姧人妻一区二区| 日韩十八禁一区二区久久| 一区二区三区午夜| 亚洲一区二区三区自拍公司| 久久婷婷色一区二区三区| 亚洲国产成人精品无码一区二区 | 国产一区二区中文字幕| 日韩精品一区二区三区四区| 一区二区三区日韩精品| 国产一区二区三区乱码网站| 成人精品视频一区二区三区尤物| 午夜一区二区免费视频| 一区二区三区国模大胆| 伊人久久大香线蕉av一区| 日韩精品中文字幕无码一区| 亚洲熟妇AV一区二区三区浪潮| 怡红院一区二区三区| 国产精品被窝福利一区| 色偷偷久久一区二区三区| 亚洲AV日韩AV一区二区三曲| 国产一区二区三区免费在线观看| 一区二区三区四区国产| 高清一区二区三区日本久|