HTML5.dcloud.io-stream-app
dcloud.io提出的Stream App
本文仅仅是关于dcloud.io提出的SteamApp初探,所有内容请参考其官网。
1. Application promotion by scaning QR Code
传统方式: 1. 扫描二维码, 跳转App Store/Market 2.下载App 3.启动App
StreamApp方式: 1. 扫描二维码 2.下载 & 启动 (仅Android平台 360手机助手)
2. HTML5 Plus
HTML5 Plus 文档
http://www.html5plus.org/doc/
2.1 What's HTML5 Plus?
HTML5 Plus是一套HTML5的扩展规范。该规范可参考 http://www.html5plus.org/doc/h5p.html
HTML5 Plus规范包括的能力有 Ref[5.2]:
Accelerometer, Audio, Barcode, Camera, Contacts, Device, Downloader, Events, Gallery, Geolocation,
IO, Key, Maps, Messaging, NativeObj, NativeUI, Navigator, OAuth, Orientation, Payment, Proximity, Push,
Runtime, Share, Speech, Statistic, Storage, Uploader, Webview, XMLHttpRequest, Zip
2.2 Native.js
一种通过js调用几十万原生API的技术。
同时HTML5 Plus Runtime还实现Native.js, 支持Android/iOS。
Android: http://www.html5plus.org/doc/zh_cn/android.html
iOS: http://www.html5plus.org/doc/zh_cn/ios.html
2.3 HTML5 Plus Runtime
HTML5 Plus Runtime实现Native.js, 闭源的。
Maybe: 通过扩展webkit来实现。
3. mui
3.1 What's mui?
mui是一个前端框架, 依赖于HTML5+。
开源
mui包含JavaScript, CSS, Font, Icon
轻量,体积小
基于ratchet (http://goratchet.com/, Build mobile apps with simple HTML‚ CSS‚ and JS components.)
mui github
https://github.com/dcloudio/mui
mui文档
http://dev.dcloud.net.cn/mui/ui/
4. HTML5 Plus SDK
封装HTML5 Plus(H5+) Runtime得到的HTML5 Plus SDK,主要应用于:
A: 使用H5+ SDK进行本地打包
HBuilder支持云端打包, 包的大小限制为40M以下。
B: 原生代码来扩展H5+ Runtime的能力
C: 集成SDK到已有的App Project中。替换原有的webview 或者 运营HTML5 Plus App。
| 集成方式 | 应用场景 |
|
Widget插件 |
在现有应用的基础上使用HTML5 Plus SDK显示一个手机端的HTML5 Plus APP |
| Webview | 显示一个支持HTML5 Plus扩展能力的WebView |
4.1 Android Platform
SDK zip: 36M
SDK包含: assets, libs, res, src

SDK中包含的lib, 所有的lib有16M。
| libs包含的库 |
|
AMap_3DMap_V2.4.1.jar |
4.2 iOS Platform
SDK zip: 136M
SDK包含: inc, Bundles, Libs
Bundles: 4.3M Libs: 337M

Libs包含的所有library和framework
| Libs包含的所有library和framework |
|
AMapSearchKit.framework |
引入SDK到已有App Project中会使最终的安装包变大;以及可能带来的library冲突。
5. HTML5 Plus/MUI Application
HTML5, CSS, JavaScript, HTML5 Plus Runtime, Mui Framework
5.1 HTML5 Plus vs. React Native
http://ask.dcloud.net.cn/question/2900
| React Native | HTML5 Plus | |
| 开发语言 |
JavaScript JSX(JavaScript syntax extension) |
HTML5 CSS JavaScript |
| 平台支持 | iOS 7+; Android 4.1+ | iOS 5+; Android 2.3+ |
| 运行时的大小 | ||
| 性能 | Android平台有卡顿 (2016.02) | |
| 文档 | 相对完备,组织有序 | 质量比较差,组织杂乱 |
5.2 Manifest.json文档说明 manifest配置
http://ask.dcloud.net.cn/article/94
Manifest.json文件是HTML5 Plus App的配置文件。
用于 配置应用信息, App图标和启动图片, 配置SDK信息(地图,支付,推送),
模块裁减以及权限配置, 配置页面引用关系。
6. HBuilder
开发HTML5 Plus App, Stream App的IDE。
基于Eclipse开发。
7. Stream Application
http://dcloud.io/ (官网)
7.1 What?
HTML5 Plus Application + Page Reference Configuration
A: 页面引用关系
用来描述App Project中页面与项目资源文件之间引用的关系
B: 生成页面引用关系

"Project"右击->发行->发布为流应用
生成页面引用关系的方法: HBulder扫描代码; 通过运行应用; 手动配置。
页面引用关系本质是 有向无环图。
7.2 Traits
差量更新+即时更新
多端发布(iOS, Android等)
可提高用户转化率 (“实现5秒内完成App的安装和启动”)
基于DCloud快码提高转化率
7.3 Cons
依赖网络, 本地缓存较弱
仅Android平台
流畅度稍弱 (Android版本的)
Case1: Hello mui 中的 chat列子,键盘第一次响应非常慢。
Case2: Hello mui 中的 image viewer列子,图片滑动迟钝(视不同的Android设备)。
7.4 Company Behind Stream Application
DCloud 数字天堂
7.5 DCloud快码
DCloud快码是DCloud推出的App推广码。
快码一个码集成了多个推广信息,包括 流应用、原生App地址、微信公众号、微博等信息,使用不同软件扫码可以得到不同结果。
微信扫快码
关注微信公众号或下载App,下载App时又会根据设备支持情况秒装流应用或下载原生App
微博扫快码
访问关注微博
DCloud快码的申请
只有发布过流应用的App才可以申请快码
7.5 Is Stream Application suppored on iOS Platform?
iOS Platform不支持。
7.6 vs. React Native
7.7 Scenario & Case
应用场景
从Wap站点/Mobile站点迁移
某单一功能点独立为流应用
对交互流畅度不高的应用
案例
应用案例包括: 京东秒杀,有道词典 Ref[6]
应用案例多分布于 O2O, 资讯, 电商 行业。
Reference
1. 流应用
http://www.dcloud.io/streamapp.html
http://ask.dcloud.net.cn/docs/ (文档)
2. ratchet
https://github.com/twbs/ratchet
Build mobile apps with simple HTML, CSS, and JS components.
3. 关于DCloud的一些视频教程
http://edu.yuantuan.com/course/explore/DCloud
4. DCloud - 流应用专题
http://edu.yuantuan.com/course/171/lesson/list
5. HTML5 Plus
5.1 http://www.html5plus.org
5.2 http://www.html5plus.org/doc/zh_cn/runtime.html
6. 流应用案例
http://dcloud.io/case/#group-1
Others
1. wex5
http://www.wex5.com/wex5/
2. App Promotion
http://buildfire.com/free-app-promotion/
http://www.shoutmeloud.com/how-to-promote-android-app-game.html
HTML5.dcloud.io-stream-app的更多相关文章
- 基于Html5的移动端APP开发框架
快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业AP ...
- html5页面打包成App - Android或Iphone安装程序
下载安装前端开发工具:HBuilder 官网下载:http://www.dcloud.io/ 根据官网说明安装 * 打开登录HBuilder,把做好的H5页面通过添加app项目把H5的文件夹加入进来( ...
- 利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
我比较喜欢听音乐,特别是周末的时候,电脑开着百度随心听fm,随机播放歌曲,躺在床上享受.但碰到了一个烦人的事情,想切掉不喜欢的曲子,还得起床去操作电脑换歌.于是思考能不能用手机控制电脑切换歌曲,经过一 ...
- HTML5定稿:手机App将三年内消失,互联网世界的第二次大战
HTML5与app以对立竞争的产品形态展现在大众视野.从去年开始又有一大批技术派或者创业者盯向html5领域,移动游戏的爆发和微信朋友圈等众多平台为HTML5导流,能不能颠覆,或许只是时间上的问题. ...
- 杂项:DCloud.io
ylbtech-杂项:DCloud.io 1.返回顶部 1. DCloud.io,数字天堂(北京)网络技术有限公司. 国内HTML5产业的领军企业,W3C会员,HTML5中国产业联盟发起单位Dclou ...
- java.io.stream
1. package com.io.Stream; import java.io.*; public class NyFileInputStream1 { /** * 读取文件的streamIO * ...
- Elasticsearch搜索异常-------org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: parse_exception
异常问题: Caused by: org.elasticsearch.index.query.QueryShardException: Failed to parse query [LOL: Uzi和 ...
- java温故而知新(6)深入理解IO Stream
一.什么是IO Stream Stream 是在编程语言中对输入输出的总称 (一种比喻的称谓.Stream 为流水,输入输出实际上就是指数据的流动,数据由一个地方运动的另一个地方,就像流水一样,程序员 ...
- Dcloud课程1 APP的架构有哪些
Dcloud课程1 APP的架构有哪些 一.总结 一句话总结:B/S架构和C/S构架 1.APP的分类? 主流的四大APP系统:1.苹果ios系统版本,开发语言是Objective-C:2.微软Win ...
随机推荐
- spring3 项目更新
列志华 (组长) http://www.cnblogs.com/liezhihua/ 团队guihub https://github.com/LWHTF/OrderingFood 黄柏堂 http:/ ...
- Python使用MySQLdb报Library not loaded: libmysqlclient.18.dylib错误
Library not loaded: libmysqlclient.18.dylib就是找不到这个文件,首先要确定是否有这个文件 可以使用find命令,确认位置后可以使用如下两种方法:1.制作软连接 ...
- Josn序列化与反序列化
using System.Web.Script.Serialization; /// <summary> /// 序列化器 /// </summary&g ...
- 重走java--Step 3
java基础(三)之枚举用法用法一:常量 public enum Color { RED,GREEN,RED,YELLOW;}用法二:枚举中自定义方法/** * 枚举中自定义方法 */publi ...
- datasnap的初步 生命期LifeCycle
datasnap的初步 生命期LifeCycle TDSServerClass有一个属性LifeCycle,这个属性有三个值,很好理解1.Session,这是默认值.就是一个连接,一个Sessio ...
- C#中string在内存中是如何表示的
不知道你是否有过和我一样的疑问,不同编码的字符串是如何存储在运行时的内存中的呢,计算机在操作string类型的对象时,如何知道这个string是什么编码呢?和文本文件那样有类似BOM的东东在strin ...
- 深入理解js——自由变量和作用域链
自由变量:在A作用域中使用变量X,却没有在A作用域中声明(在其他作用域中声明),对于A作用域来说X就是一个自由变量. var x=10; function fn(){ var b=20; consol ...
- libpng安装与配置(Win7+VS2010)
一.下载 libpng:http://libmng.com/pub/png/libpng.html zlib:http://www.zlib.net/ IDE:VS2010 二.编译 将下载的两个zi ...
- Appium学习路—脚本篇(启动app)
启动之前的准备 1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch 2.iOS的测试只能在mac本上做 ...
- NetworkComms 文件上传下载和客户端自动升级(非开源)
演示程序下载地址:http://pan.baidu.com/s/1geVfmcr 淘宝地址:https://shop183793329.taobao.com 联系QQ号:3201175853 许可:购 ...