整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML5来了:5个好用的混合式App开发工具

残酷的移动互联网竞争环境下,HTML5技术一直受到各方关注,“HTML5颠覆原生App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾。不过对于移动开发者来说更关心的问题是如何低成本、周期短开发出体验效果好的App,所以当下用HTML5远比赌HTML5更现实。于是,一个一直被提及但是从没有占据过统治地位的概念又一次走进了移动开发者们的视野,那就是跨平台开发。

AD:WOT2015互联网运维与开发者大会热销抢票

目前国内外已经有很多基于HTML5的跨平台开发工具,你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识,懂一些CSS和JavaScript,运用工具中所提供的各种丰富的功能模块,便可在很短时间内完成App的开发而且让你的App具备完美的原生体验。

推荐几款跨平台工具

1、Appcelerator

Appcelerator的Titanium开发平台使开发者可以通过HTML、PHP、JavaScript、Ruby、Python等Web编程语言开发手机、平板和桌面的原生App。其优势在于它可以让用户轻松地访问超过300个API以及定位信息。

此外,Appcelerator提供针对特定行为或事件定制的统计。App的数据既可储存在云端,也可储存在设备上。

2、APICloud

APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。

2、PhoneGap

PhoneGap是一个免费且开源的开发环境,使开发者可以开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。其使用的是HTML和JavaScript等标准的Web开发语言。开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。

PhoneGap还提供Adobe AIR App以及在线的培训课程,帮助开发者了解原生API并在他们自己的平台上开发移动App。

4、NativeScript

NativeScript是使用移动平台的JavaScript引擎来进行跨平台开发。逻辑部分自然无需多说,关键在于如何使用平台特性。NativeScript是通过反射得到所有平台API,预编译它们,然后将这些API注入到JavaScript运行环境,接下来在Javascript调用后拦截这个调用,并运行native代码。NativeScript是使用大量web开发的技巧来进行app开发,因为工具链和语言都非常熟悉受到了很多前端开发者的欢迎。

5、Kinvey

Kinvey同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。

总结:

关于HTML5和原生App的争论一直在继续,不论最后谁能取胜,开发者更关心App的开发速度和最终体验。合理的使用工具会让开发效率大大提升,甚至达到事半功倍的效果,希望能有一款适合您。

期待未来有一天,App开发可以像在纸上画画一样简单。

声明:IT之家网站刊登/转载此文出于传递更多信息之目的,并不意味着赞同其观点或论证其描述。

开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个开源的 HTML5 视频播放器插件——MuiPlayer。


MuiPlayer 是一个开源的HTML5视频播放插件,其默认配置了精美可操作的的播放控件,涉及了常用的播放场景,例如全屏播放、播放快进、循环播放、音量调节等功能。支持 mp4、m3u8、flv 等多种媒体格式播放,解决大部分兼容问题,同时适应在PC、手机端播放。


特点

  • 各浏览器平台播放 ui 不能统一
  • ui 扩展之间以及状态处理容易产生冲突
  • 在不同环境下(android、ios、pc)针对 h5 video api 可能触发事件的时机尽不相同
  • 媒体格式存在各种兼容问题,muiplayer 处理了大多数在不同环境下播放的兼容问题
  • 具有丰富的参数可以自定义播放器实例,通过轻松的配置即可完成自定义场景的视频播放

快速开始

  • 安装

使用 npm 安装:

npm i mui-player --save

使用 yarn 安装:

yarn add mui-player
  • 使用

1 使用 script 标签引入:

<!-- 引入基础样式文件 mui-player.min.css -->
<link rel="stylesheet" type="text/css" href="css/mui-player.min.css"/>

<!-- 引入基础脚本 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 初始化构建播放器

// 初始化 MuiPlayer 插件,MuiPlayer 方法传递一个对象,该对象包括所有插件的配置
var mp = new MuiPlayer({
    container:'#mui-player',
    title:'标题',
    src:'./static/media/media.mp4',
})

以上就能为初始化构建一个具有默认配置控件的视频播放器。

更多API基础配置: https://muiplayer.js.org/zh/guide/api.html#%E4%B8%BB%E8%A6%81%E9%85%8D%E7%BD%AE


效果演示

  • 基础效果

  • 直播模式

  • 播放字幕

  • 播放弹幕

  • 多窗口播放


更多内容大家可自行前往阅读。

开源地址:https://gitee.com/muiplayer/hello-muiplayer

Video.js是一个基于HTML5世界而构建的网络视频播放器。它支持HTML5和Flash视频,还可以通过插件支持全球最受欢迎的视频网站。它支持桌面和移动设备上的视频播放。该项目于2010年中期启动,现在该播放器已用于超过400,000个网站,可见其受欢迎程度,所以它可能真的是你一直在寻找的Web端的视频播放器!在Github上也有了超过20k+的star数!



Github地址

https://github.com/videojs/video.js

快速开始

你可以有很多种方法来使用,不管是使用cdn还是下载下来静态资源文件,亦或者是使用npm安装都可以获取它:

<link href="./video-js.min.css" rel="stylesheet">
<script src="./video.min.js"></script>

npm install video.js

接下来,使用Video.js就像创建<video>元素一样简单,但具有额外的数据设置属性。也就是一个配置对象,以下代码是一个最简单的示例:


 <video id="my-player" class="video-js" controls preload="auto" poster="封面url,设置就可以显示封面" data-setup='{}'>
 <source src="视频URL" type="video/mp4">
 </source>
 </video>


当页面加载时,Video.js将找到此元素并自动在其位置设置播放器。如果你不想使用自动设置,可以不使用data-setup属性并使用videojs函数手动初始化<video>元素:


var player = videojs('my-player');

相关回调函数


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的文档相当的详细,本文篇幅不宜过长,如果你已经对它感兴趣,那么你就可以对照文档准备学习下了,由于其功能很强悍,那么相对应的文档也就非常的详细,分为详细的API文档和学习指南,通过阅读文档来实现你想要的功能(下面是一个简单的截图,使用了浏览器自带的翻译功能,很容易也能看懂):




demo预览

官网也提供了一些比较高级的用法的demo,下面是一个带播放列表的示例(此示例不足以体现他的强大):



可切换视频



画中画



丰富的菜单按钮工具(包括音频、多语言等设置),支持中文语言包




除了以上demo所展示的,还包括自定义皮肤、React中使用、插件等功能,可以说是非常的丰富了,要比自带的Video标签功能丰富了无数倍,有视频网站开发的朋友可以尝试使用它,我相信它一定对你有所帮助!

总结

插件千千万,好用的却不多,特别是相对复杂的,要么收费,要么功能不够强大,但是有很多开发者贡献了开源的项目供开发者使用才造就了如今技术的蓬勃发展,Video.js只是其中一个,本文只是提出来这样一个必须赞一个的插件,其详细的内容远不止于此,感兴趣的话可以阅读相关文档学习,如果你有更好的建议,也可以在评论区留言分享,希望对你有所帮助!