我们常说的流应用到底是什么?

流应用是DCloud公司开发的一种可以让手机App安装包实现边用边下的技术。基于HTML5+规范的即点即用应用,开发者按照HTML5+规范开发的应用,可以在支持HTML5+流应用的发行渠道实现即点即用的效果。

流应用是基于 HTML5+规范的即点即用应用,开发者按照 HTML5+规范开发的应用,可以在支持 HTML5+流应用的发行渠道实现即点即用的效果。

流应用

流应用是 DCloud 公司开发的一种可以让手机 App 安装包实现边用边下的技术。利用 js 的动态语言特点,把手机端 App 的安装包拆解,流式下载到手机端。类似流媒体边看边下一样,流应用也可以边用边下。再辅以特殊的压缩解码技术,使得流应用可以在 5 秒内完成 App 的下载-安装-启动全过程。

DCloud 流应用引擎是一款基于 HTM5+的技术的增强型 js 引擎,它首先对 H5 进行了大幅强化,让 js 可以调用 40 万原生能力,并且大幅提升了 H5 的性能体验。经过强化过后,使得基于 HTML5+开发的流应用可以达到原生应用的标准。

边用边下依赖于动态语言的支持,所以流应用的客户端安装包是使用 HTML 和 JS 这种动态语言来编写的,但是为了保证 App 的功能和体验仍然是原生效果,使用了经过强化的 js 引擎,这种称之为 HTML5+的引擎可以使得 js 调用几十万原生 API,包括离线使用、本地设备能力调用以及强化的渲染引擎,使得流应用仍然做到了和原生一样的功能和体验。

流应用的离线能力并非 web 缓存,是原生存储,不会被三方清理软件清理缓存而导致流应用失效。流应用结合了原生 App 和 Web App 的优势,又消除了各自的缺点,虽然是体验良好的 c/s 结构,但又让 client 秒开秒更新,是移动互联网 App 的更高级形态。

流应用即点即开,无需下载安装,即可以保证离线运行,又能够使用所有原生的能力。流应用类似流媒体,在应用第一次安装时,动态下载首页的程序及相关资源,快速打开 App 首页,并持续下载后续程序,下次可离线从本机运行。

在功能和体验与原生接近的前提下,流应用拥有原生 App 也无法比拟的 6 大特点:

1.以往获取一个 App 要经历下载、安装、启动等过程,至少一分钟,点击若干次。而流应用做到了 5 秒开完成全部过程。以往 App 从下载到启动激活的激活率不足 50%,而流应用的激活率在 95%以上。

2.流应用比原生 App 的包体积缩小至原来的 10%,安装几千个流应用也不会让手机变卡变费电。

3.流应用更新是在使用时自动差量更新,一般每次更新消耗几 K 流量左右。流应用可以方便的通过社交网络分享。

4.可以方便的进入到 App 的内容页面,可以实现搜索直购、扫描直购、分享直购等各种营销新方式。

5.流应用基于 HTML5,使用 DCloud 的 MUI 框架开发流应用,可以自动兼容多个平台。

流应用的重要前提是功能和体验要足够好,达到原生 App 的效果。过去业内也有 HTML5 强化引擎或 hybrid 方案,比如 phonegap/cordova,但其在功能和性能上与原生应用相差还非常远。HTML5+做到了这一点,传统 HTML5 效果不佳的窗体切换、长列表滚动、下拉刷新、大容量选项卡切换等问题都被解决,体验流畅,用户很难感知到与原生的区别。而且 HTML5+强化引擎使得 js 可以调用原生几十万 API,扫一扫、摇一摇、开关蓝牙、获取 IMEI 等各种原生 API 都可以随意使用。

■ 流应用小结 ■

流应用是一种实时应用程序,它以流的形式实时交换数据。它与Web应用程序的主要区别在于,流应用程序通常不需要用户发送HTTP请求,数据可以以持续的方式发送。

流应用程序通常使用特定的协议来传输数据,例如HTTP流,WebSocket或TCP。许多流应用程序使用持续连接来提高性能,因为它们不需要每次传输数据都重建连接。

这种方法为开发人员提供了更多的灵活性,以便他们可以与来自不同领域的客户端交互,例如多媒体应用程序,社交网络应用程序和虚拟现实应用程序等。

开发人员可以将流应用程序用于多种不同的目的,包括推送到客户端的实时消息,交易处理,流媒体内容传输,可视化多媒体内容传输,社交网络管理,流应用程序管理,以及机器学习和深度学习等等。

例如,流应用程序可以用于实时更新交易信息,例如股票市场的实时交易信息。使用流应用程序可以实现低延迟的实时交互,并显著地提高客户端体验。

此外,与传统的web应用程序不同,流应用程序使开发人员能够构建更轻,更可扩展的应用程序,因为它们只需要使用更少的步骤就可以完成任务,基本上可以说,它们可以迅速地构建出功能强大的应用程序,并且能够以更简单,更高效的方式推送消息和内容。

因为它们旨在提供实时,有效的信息,因此流应用程序具有广泛的应用,并在诸如财务数据和媒体视频方面越来越受欢迎。事实上,在最近几年,流应用程序一直在不断地发展和继续成长,已经成为许多应用领域,特别是移动应用程序开发和互联网应用程序开发的基础。


☀ 番外:关于HTML5 和 HTML5+

HTML5

就是传统意义上的 HTML5。目前最新的 HTML 规范,互联网的下一代标准,W3C 联盟制定,手机端主要由 webkit 实现规范,对用户来说就是浏览器实现了它。

HTML5+ / HTML5Plus

通过 HTML5 开发移动 App 时,会发现 HTML5 很多能力不具备。为弥补 HTML5 能力的不足,在 W3C 中国的指导下成立了中国HTML5+产业联盟,推出 HTML5+ 规范。

HTML5+ 扩展了 JS 对象 plus,使得 JS 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。同时实现了 Android 和 IOS 的解析引擎,使得开发者的代码编写一次,可跨平台运行。

除了功能外,HTML5+ 很重要的特点是提供了原生的渲染能力,通过 plus.webview、 plus.nativeObj、 plus.nativeUI,让开发者可以使用 JS 来调用原生渲染能力,实现体验的大幅提升。

原生的 API 多达 40 万,HTML5+ 的封装并非把 40 万 API 都封装了一遍,而是分成了 2 个层面:HTML5+ 规范和Native.js

Native.js

手机 OS 的原生 API 有四十多万,大量的 API 没有被 HTML5+ 封装。所以 Native.js 把四十多万原生 API 映射成了 JS 对象,通过 JS 可以直接调 IOS 和 Android 的原生 API。这部分就不再跨平台,写法分别是 plus.ios 和 plus.android。

上面的 HTML5+ 就是 Native.js 一个实现好的子集。Native.js 不是 JS 框架,是技术!

使用 Native.js 需要对原生语法和 API 十分的了解,你至少要学过 Android 或者 IOS 开发,否则只能复制别人代码。

HTML5+ Runtime / 5+ Runtime

HTML5+ Runtime 是 Native.js 的运行环境。相当于 .NET 之于 C#,JRE 之于 JAVA,有把 Native.js 映射到 JAVA 和 ObjectC 代码的原生 API 功能,从而实现原生的调用。

对于 HTML5+ Runtime 和 Native.js 的关系可以理解成:Native.js 是一种语言(语法基于 JS),HTML5+ Runtime 是这语言的运行环境!

HTML5+ SDK / 5+ SDK

软件开发工具包,它和 Android SDK,IOS SDK 一样。

HTML5+ SDK 是把 HTML5+ Runtime 封装为原生 SDK ,它有 3 个用途:

  • 使用 HTML5+ SDK 实现本地打包。
  • 通过原生代码扩展 HTML5+ Runtime 的功能。
  • 在现有原生项目中使用 HTML5+ SDK 替换原有的 webview,以获得更强的 web 增强表现。

- 资料来源:uniapp、HTML5、HTML5+、HTML5+ Runtime、HTML5+ SDK、Native.js 名词解释


☀ 番外:原生App和webApp的区别小结

原生app和webapp的区别为:来源不同、开发成本不同、流畅度相对不同。

一、来源不同

1、原生app:原生app是与移动设备所安装的操作系统所使用的同一种编程语言开发的APP。

2、webapp:webapp是由html5所做的网站通过一些打包平台或者使用工具打包而成的软件。

二、开发成本不同

1、原生app:原生app开发成本高,需要使用单独的开发工具进行开发。

2、webapp:webapp开发成本低,不需要使用单独的开发工具进行开发。

三、流畅度相对不同

1、原生app:原生app完美适配移动设备,流畅度相对较高。

2、webapp:webapp兼容适配移动设备,流畅度相对较低。

相关参考:原生app、webapp、混合app有哪些区别?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nacos注册中心客户端容灾

目前Nacos客户端有一个FailoverReactor来进行容灾文件的管理,可以通过在指定磁盘文件里写入容灾数据来进行客户端使用数据的覆盖。FailoverReactor目前会拦截Nacos客户端查询接口调用,以getAllInstances接口为例,目前FailoverReactor的工作流…

【合集】SpringBoot——Spring,SpringBoot,SpringCloud相关的博客文章合集

前言 本篇博客是spring相关的博客文章合集,内容涵盖Spring,SpringBoot,SpringCloud相关的知识,包括了基础的内容,比如核心容器,springMVC,Data Access;也包括Spring进阶的相关知识&…

免费的网页数据抓取工具有哪些?【2024附下载链接】

在网络上,有许多网页数据抓取工具可供选择。本文将探讨其如何全网采集数据并支持指定网站抓取。我们将比较不同的数据采集工具,帮助您找到最适合您需求的工具。 网页数据抓取工具种类 在选择网页数据抓取工具之前,让我们先了解一下这些工具…

TC397 EB MCAL开发从0开始系列 之 [21.2] FlsLoader配置实战 - 擦除读写Pflash

一、FlsLoader配置1、配置目标2、目标依赖2.1 硬件使用2.2 软件使用2.3 新增模块3、EB配置3.1 配置讲解3.2 模块配置3.2.1 MCU配置3.2.2 PORT配置3.2.3 FlsLoader配置3.2.5 Irq配置3.2.6 ResourceM配置4、ADS代码编写及调试<

[ 蓝桥杯Web真题 ]-布局切换

目录 介绍 准备 目标 规定 思路 解法参考 介绍 经常用手机购物的同学或许见过这种功能&#xff0c;在浏览商品列表的时候&#xff0c;我们通过点击一个小小的按钮图标&#xff0c;就能快速将数据列表在大图&#xff08;通常是两列&#xff09;和列表两种布局间来回切换。…

电机:有刷直流电机的原理

一、什么是有刷直流电机 直流有刷电机&#xff08;Brushed DC Motor&#xff09;&#xff0c;定子是用永磁铁或者线圈做成&#xff0c;以形成固定磁场。在定子一端上有固定碳刷&#xff0c;或者铜刷&#xff0c;负责把外部电流引入转子线圈。而转子是由线圈构成&#xff0c;线…

邮件营销软件:10个创新邮件营销策略,提升投资回报率(一)

电子商务和电子邮件营销密不可分。尽管电子商务在蓬勃发展&#xff0c;而很多人对邮件营销颇有微词。但是在电子商务中&#xff0c;邮件营销的确是一种有效营销方式。在本文中&#xff0c;我们将讨论一下邮件营销在电子商务中的有效运用&#xff0c;帮助您的企业在今年尽可能地…

2023-12-05 Qt学习总结6

点击 <C 语言编程核心突破> 快速C语言入门 Qt学习总结 前言十八 QMessageBox消息对话框十九 Qt布局管理总结 前言 要解决问题: 学习qt最核心知识, 多一个都不学. 十八 QMessageBox消息对话框 QMessageBox消息对话框是Qt中的一个提供用户交互界面的对话框窗口。 它通常…

MyBatis 四大核心组件之 ParameterHandler 源码解析

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

【图片版】计算机组成原理考前复习题【第2章 运算方法和运算器-1】

目录 前言 考前复习题&#xff08;必记&#xff09; 结尾 前言 在计算机组成原理的学习过程中&#xff0c;我们深入探索了计算机系统概述这一重要领域。计算机系统作为现代科技的核心&#xff0c;是整个计算机科学的基石。我们将学到的知识与理论转化为了能够解决现实问题的…

Python+unittest+requests接口自动化测试框架搭建 完整的框架搭建过程

首先配置好开发环境&#xff0c;下载安装Python并下载安装pycharm&#xff0c;在pycharm中创建项目功能目录。如果不会的可以百度Google一下&#xff0c;该内容网上的讲解还是比较多比较全的&#xff01; 大家可以先简单了解下该项目的目录结构介绍&#xff0c;后面会针对每个文…

docker 可视化工具操作说明 portainer

官网地址 https://docs.portainer.io/start/install-ce/server/docker/linux 1.First, create the volume that Port docker volume create portainer_data2.下载并安装容器 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restartalways -v /var/run/docker…

PWN动态调试

这篇文章就是来教大家学习怎么动态调试的&#xff0c;然后我还写了一篇关于动态调试的文章&#xff0c;不是buu上面的题&#xff0c;就是两道简单的栈溢出问题&#xff0c;那两道题挺有特点的。大家可以去看看。 每日3道PWN之课外2道&#xff08;第2.5天&#xff09;-CSDN博客 …

C#暂停和恢复(Thread.Suspend()和Thread.Resume() vs AutoResetEvent()和EventWaitHandle())

目录 一、Thread.Suspend()和Thread.Resume() 二、AutoResetEvent()和EventWaitHandle() 1.AutoResetEvent() 2.EventWaitHandle() 3.示例及生成效果 一、Thread.Suspend()和Thread.Resume() 自 .NET 2.0 以后&#xff08;含&#xff09;&#xff0c;Thread.Suspend() 和…

性能监控体系:InfluxDB Grafana Prometheus

InfluxDB 简介 什么是 InfluxDB &#xff1f; InfluxDB 是一个由 InfluxData 开发的&#xff0c;开源的时序型数据库。它由 Go 语言写成&#xff0c;着力于高性能地查询与存储时序型数据。 InfluxDB 被广泛应用于存储系统的监控数据、IoT 行业的实时数据等场景。 可配合 Te…

SSD基础架构与NAND IO并发问题探讨

在我们的日常生活中&#xff0c;我们经常会遇到一些“快如闪电”的事物&#xff1a;比如那场突如其来的雨、那个突然出现在你眼前的前任、还有就是今天我们要聊的——固态硬盘&#xff08;SSD&#xff09;。 如果你是一个技术宅&#xff0c;或者对速度有着近乎偏执的追求&…

电阻知识总结与详细选型指南

目录 1. 基础知识 1.1 电阻的定义和符号 1.2 电阻的公式 1.3 电阻的串联与并联 2. 参数选型 2.1 电阻值 2.2 功率 2.3 精度 2.4 温度系数 2.5 电压系数 2.6 包装类型 2.7 耐压 2.8 特殊应用需求 2.9 环保要求 3. 产品应用 3.1 电流限制和保护 3.2 电压分压和电…

【Qt开发流程】之容器类1:介绍及常用容器类和使用Java风格迭代器进行遍历

概述 Qt库提供了一组通用的基于模板的容器类。这些类可用于存储指定类型的项。例如&#xff0c;如果需要一个可调整大小的QString数组&#xff0c;可以使用QVector<QString>。 这些容器类被设计成比STL容器更轻、更安全、更易于使用。如果不熟悉STL&#xff0c;或者更喜…

低多边形3D建模石头材质纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

云计算在计算机领域的应用与发展

云计算在计算机领域的应用与发展 一、引言 随着科技的不断发展&#xff0c;计算机领域已经成为当今社会最为活跃和创新的领域之一。云计算作为一种新兴的计算模式&#xff0c;已经在计算机领域中得到了广泛的应用&#xff0c;并且正在不断地推动着计算机领域的发展。本文将探…