殘酷的移動(dòng)互聯(lián)網(wǎng)競爭環(huán)境下,HTML5技術(shù)一直受到各方關(guān)注,“HTML5顛覆原生App”的爭論也從未停止過,不管怎樣HTML5生態(tài)的構(gòu)建方興未艾。不過對(duì)于移動(dòng)開發(fā)者來說更關(guān)心的問題是如何低成本、周期短開發(fā)出體驗(yàn)效果好的App,所以當(dāng)下用HTML5遠(yuǎn)比賭HTML5更現(xiàn)實(shí)。于是,一個(gè)一直被提及但是從沒有占據(jù)過統(tǒng)治地位的概念又一次走進(jìn)了移動(dòng)開發(fā)者們的視野,那就是跨平臺(tái)開發(fā)。
AD:WOT2015互聯(lián)網(wǎng)運(yùn)維與開發(fā)者大會(huì)熱銷搶票
目前國內(nèi)外已經(jīng)有很多基于HTML5的跨平臺(tái)開發(fā)工具,你并不需要任何的原生應(yīng)用編程經(jīng)驗(yàn),你只需要一些HTML的相關(guān)知識(shí),懂一些CSS和JavaScript,運(yùn)用工具中所提供的各種豐富的功能模塊,便可在很短時(shí)間內(nèi)完成App的開發(fā)而且讓你的App具備完美的原生體驗(yàn)。
推薦幾款跨平臺(tái)工具
1、Appcelerator
Appcelerator的Titanium開發(fā)平臺(tái)使開發(fā)者可以通過HTML、PHP、JavaScript、Ruby、Python等Web編程語言開發(fā)手機(jī)、平板和桌面的原生App。其優(yōu)勢在于它可以讓用戶輕松地訪問超過300個(gè)API以及定位信息。
此外,Appcelerator提供針對(duì)特定行為或事件定制的統(tǒng)計(jì)。App的數(shù)據(jù)既可儲(chǔ)存在云端,也可儲(chǔ)存在設(shè)備上。
2、APICloud
APICloud是一款“云端一體”的移動(dòng)開發(fā)平臺(tái),信仰“云端一體”的理念,重新定義了移動(dòng)應(yīng)用開發(fā)。APICloud為開發(fā)者從“云”和“端”兩個(gè)方向提供API,簡化移動(dòng)應(yīng)用開發(fā)技術(shù),讓移動(dòng)應(yīng)用的開發(fā)周期從一個(gè)月縮短到7天。APICloud由“云API”和“端API”兩部分組成,可以幫助開發(fā)者快速實(shí)現(xiàn)移動(dòng)應(yīng)用的開發(fā)、測試、發(fā)布、管理和運(yùn)營的全生命周期管理。
2、PhoneGap
PhoneGap是一個(gè)免費(fèi)且開源的開發(fā)環(huán)境,使開發(fā)者可以開發(fā)出在Android、Palm、黑莓、iPhone、iTouch及iPad等設(shè)備上運(yùn)行的App。其使用的是HTML和JavaScript等標(biāo)準(zhǔn)的Web開發(fā)語言。開發(fā)者使用PhoneGap進(jìn)行開發(fā),可調(diào)用加速計(jì)、GPS/定位、照相機(jī)、聲音等功能。
PhoneGap還提供Adobe AIR App以及在線的培訓(xùn)課程,幫助開發(fā)者了解原生API并在他們自己的平臺(tái)上開發(fā)移動(dòng)App。
4、NativeScript
NativeScript是使用移動(dòng)平臺(tái)的JavaScript引擎來進(jìn)行跨平臺(tái)開發(fā)。邏輯部分自然無需多說,關(guān)鍵在于如何使用平臺(tái)特性。NativeScript是通過反射得到所有平臺(tái)API,預(yù)編譯它們,然后將這些API注入到JavaScript運(yùn)行環(huán)境,接下來在Javascript調(diào)用后攔截這個(gè)調(diào)用,并運(yùn)行native代碼。NativeScript是使用大量web開發(fā)的技巧來進(jìn)行app開發(fā),因?yàn)楣ぞ哝満驼Z言都非常熟悉受到了很多前端開發(fā)者的歡迎。
5、Kinvey
Kinvey同樣是一個(gè)為移動(dòng)應(yīng)用開發(fā)者提供后臺(tái)創(chuàng)建服務(wù)的平臺(tái)。Kinvey強(qiáng)調(diào)加速移動(dòng)應(yīng)用開發(fā)與銷售的“即取即用”理念。Kinvey的中間層與數(shù)據(jù)層均托管在多個(gè)云服務(wù)提供商處,包括Rackspace、Amazon與Microsoft。所有通過Kinvey存儲(chǔ)的數(shù)據(jù)都會(huì)有四種方式備份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服務(wù)器,假如其中一兩個(gè)出現(xiàn)了故障,用戶的數(shù)據(jù)依然安然無恙。
總結(jié):
關(guān)于HTML5和原生App的爭論一直在繼續(xù),不論最后誰能取勝,開發(fā)者更關(guān)心App的開發(fā)速度和最終體驗(yàn)。合理的使用工具會(huì)讓開發(fā)效率大大提升,甚至達(dá)到事半功倍的效果,希望能有一款適合您。
期待未來有一天,App開發(fā)可以像在紙上畫畫一樣簡單。
聲明:IT之家網(wǎng)站刊登/轉(zhuǎn)載此文出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或論證其描述。
開源精選》是我們分享Github、Gitee等開源社區(qū)中優(yōu)質(zhì)項(xiàng)目的欄目,包括技術(shù)、學(xué)習(xí)、實(shí)用與各種有趣的內(nèi)容。本期推薦的是一個(gè)開源的 HTML5 視頻播放器插件——MuiPlayer。
MuiPlayer 是一個(gè)開源的HTML5視頻播放插件,其默認(rèn)配置了精美可操作的的播放控件,涉及了常用的播放場景,例如全屏播放、播放快進(jìn)、循環(huán)播放、音量調(diào)節(jié)等功能。支持 mp4、m3u8、flv 等多種媒體格式播放,解決大部分兼容問題,同時(shí)適應(yīng)在PC、手機(jī)端播放。
使用 npm 安裝:
npm i mui-player --save
使用 yarn 安裝:
yarn add mui-player
1 使用 script 標(biāo)簽引入:
<!-- 引入基礎(chǔ)樣式文件 mui-player.min.css -->
<link rel="stylesheet" type="text/css" href="css/mui-player.min.css"/>
<!-- 引入基礎(chǔ)腳本 mui-player.min.js -->
<script type="text/javascript" src="js/mui-player.min.js"></script>
<!-- 指定播放器容器 -->
<div id="mui-player"></div>
或者使用模塊管理器引入:
import 'mui-player/dist/mui-player.min.css'
import MuiPlayer from 'mui-player'
2 定義播放器容器
<div id="mui-player"></div>
3 初始化構(gòu)建播放器
// 初始化 MuiPlayer 插件,MuiPlayer 方法傳遞一個(gè)對(duì)象,該對(duì)象包括所有插件的配置
var mp = new MuiPlayer({
container:'#mui-player',
title:'標(biāo)題',
src:'./static/media/media.mp4',
})
以上就能為初始化構(gòu)建一個(gè)具有默認(rèn)配置控件的視頻播放器。
更多API基礎(chǔ)配置: https://muiplayer.js.org/zh/guide/api.html#%E4%B8%BB%E8%A6%81%E9%85%8D%E7%BD%AE
更多內(nèi)容大家可自行前往閱讀。
開源地址:https://gitee.com/muiplayer/hello-muiplayer
Video.js是一個(gè)基于HTML5世界而構(gòu)建的網(wǎng)絡(luò)視頻播放器。它支持HTML5和Flash視頻,還可以通過插件支持全球最受歡迎的視頻網(wǎng)站。它支持桌面和移動(dòng)設(shè)備上的視頻播放。該項(xiàng)目于2010年中期啟動(dòng),現(xiàn)在該播放器已用于超過400,000個(gè)網(wǎng)站,可見其受歡迎程度,所以它可能真的是你一直在尋找的Web端的視頻播放器!在Github上也有了超過20k+的star數(shù)!
https://github.com/videojs/video.js
你可以有很多種方法來使用,不管是使用cdn還是下載下來靜態(tài)資源文件,亦或者是使用npm安裝都可以獲取它:
<link href="./video-js.min.css" rel="stylesheet"> <script src="./video.min.js"></script>
npm install video.js
接下來,使用Video.js就像創(chuàng)建<video>元素一樣簡單,但具有額外的數(shù)據(jù)設(shè)置屬性。也就是一個(gè)配置對(duì)象,以下代碼是一個(gè)最簡單的示例:
<video id="my-player" class="video-js" controls preload="auto" poster="封面url,設(shè)置就可以顯示封面" data-setup='{}'> <source src="視頻URL" type="video/mp4"> </source> </video>
當(dāng)頁面加載時(shí),Video.js將找到此元素并自動(dòng)在其位置設(shè)置播放器。如果你不想使用自動(dòng)設(shè)置,可以不使用data-setup屬性并使用videojs函數(shù)手動(dòng)初始化<video>元素:
var player = videojs('my-player');
相關(guān)回調(diào)函數(shù)
var options = {}; var player = videojs('my-player', options, function onPlayerReady() { videojs.log('Your player is ready!'); this.play(); this.on('ended', function() { videojs.log('Awww...over so soon?!'); }); });
Video.js的文檔相當(dāng)?shù)脑敿?xì),本文篇幅不宜過長,如果你已經(jīng)對(duì)它感興趣,那么你就可以對(duì)照文檔準(zhǔn)備學(xué)習(xí)下了,由于其功能很強(qiáng)悍,那么相對(duì)應(yīng)的文檔也就非常的詳細(xì),分為詳細(xì)的API文檔和學(xué)習(xí)指南,通過閱讀文檔來實(shí)現(xiàn)你想要的功能(下面是一個(gè)簡單的截圖,使用了瀏覽器自帶的翻譯功能,很容易也能看懂):
官網(wǎng)也提供了一些比較高級(jí)的用法的demo,下面是一個(gè)帶播放列表的示例(此示例不足以體現(xiàn)他的強(qiáng)大):
可切換視頻
畫中畫
豐富的菜單按鈕工具(包括音頻、多語言等設(shè)置),支持中文語言包
除了以上demo所展示的,還包括自定義皮膚、React中使用、插件等功能,可以說是非常的豐富了,要比自帶的Video標(biāo)簽功能豐富了無數(shù)倍,有視頻網(wǎng)站開發(fā)的朋友可以嘗試使用它,我相信它一定對(duì)你有所幫助!
插件千千萬,好用的卻不多,特別是相對(duì)復(fù)雜的,要么收費(fèi),要么功能不夠強(qiáng)大,但是有很多開發(fā)者貢獻(xiàn)了開源的項(xiàng)目供開發(fā)者使用才造就了如今技術(shù)的蓬勃發(fā)展,Video.js只是其中一個(gè),本文只是提出來這樣一個(gè)必須贊一個(gè)的插件,其詳細(xì)的內(nèi)容遠(yuǎn)不止于此,感興趣的話可以閱讀相關(guān)文檔學(xué)習(xí),如果你有更好的建議,也可以在評(píng)論區(qū)留言分享,希望對(duì)你有所幫助!
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。