① angular +ionic 如何打包成h5站点,不需要打包成app
一、先添加平台
二、打包
ioniccordovabuild橘唯browser
在项目中的platforms中的高伍物browser文件夹中就会有www文件戚液夹
② 如何让 H5 体验接近 APP:(一)触摸反馈
1、背景:
在开发h5页面的时候给页面一些可点雹冲早击元素加上一些触摸反馈,可以大幅度提升页面的整体体验源雀,使h5页体验更为接近APP
2、在页面上添加触摸反馈的三种方案:
(1)active 伪类
w3c 标准里对 active 的描述都是基于 mouse 事件的判纳,没有说明如何支持 touch事件:浏览器的理解和实际支持参差不齐
iOS 中需要绑定一个 touchstart 事件来激活:
③ H5必知必会之与App交互
奇技指南
2018年11月26日发表的“360 AI音箱H5开发实践”一文中,曾简单提到“与Native交互”。本文将就此主题深入探讨H5与App交互的几种常见模式。
本文内容如下:
H5,在中国被专门用来指代开发内嵌于手机应用中的网肆袜页的技术,外国好像并没有这个说法。从技术上讲,H5是HTML5即Hyper Text Markup Language(超文本标记语言)第5版的简称。而HTML只是开发网页要用到的多种技术之一。除了HTML,还要用CSS设计界面,用JavaScript实现交互,甚至要用Node.js实现服务端逻辑。为什么H5会被用来笼统地指代这些技术呢?我猜一是因为它简单,二是移动端网页开发技术又恰好需要这么一个概念。
移动端网页运行在手机应用内嵌的浏览器引擎中,这个没有UI的内核容器统称WebView,即iPhone的UIWebView(iOS 2.0–12.0)、宽指WKWebView(iOS 8.0+,macOS 10.10+)和Android的WebView。总之,WebView就是在手机应用中运行和展示网页的界面和接口(神奇的是,英文Interface,既可以翻译成“界面”也可以翻译成“接口”)。
H5与原生应用的交互都是通过原生应用中的WebView实现的。通过这个环境,H5可以调用原生应用注入其中的原生对象的方法,原生应用也可以调用H5暴露在这个环境中的JavaScript对象的方法,从而实现指令与数据的传输。
比如,在Android应用中,WebView类有一个公有方法addJavascriptInterface,签名为:
调用这个方法可以向WebView中以指定的名称name注入指定的Java对象object。这样,WebView中的JavaScript就可以通过name调用object的方法。比如:
在iOS或macOS中,需要通过创建WKWebView类的实例在应用中嵌入网页,交互过程类似。
所谓基础接口,就是首先要规定原生应用和JS分别在WebView里注入/暴露一个什么对象:
并约定在这两个对象上分别可以调用什么方法:
顾名思义,NativeBridge.callNative是由JS调用向Native传递指令或数据的方法,而JSBridge.callJS则是由Native调用向JS传递指令或数据的方法。方法签名中的参数含义如下:
基础接口只有两个对象和两慎雹配个方法,JS与App间的互操作则通过action和params来扩展和定义。
对于JS而言,虽然这里只定义了一个对象一个方法,但实践中,可以把action对应方法的实现附加到JSBridge上,只要把callJS实现为一个分发方法即可,比如:
这样,所有对callJS的调用,都会转化成对JSBridge上相应action方法的调用,优点是只需一行代码。
另一种实现方式是通过switch...case语句实现调用分发,比如:
这样实现的优点是所有方法一目了然,当然同样也是把所有相关接口都附加到同一个JSBridge对象上。
以上两种实现模式各有利弊。
由JS发起的单向调用App的操作,主要涉及加载URL和切换到原生界面,可对应如下action:
loadUrl调用的参考协议如下:
这里NativeBridge是App的原生对象,其callNative方法被调用时,会收到一个对象(字典/映射)参数。根据这个参数的action属性的值,App可知需要执行的操作是加载URL。于是再取得params属性中的url,发送请求即可。
loadContent调用的参考协议如下:
同上,这里通过params向App传递了必要参数,App负责切换到相应的原生界面。
由App发起的单向调用JS的操作,主要涉及用户点击后退按钮(<),可对应如下action:
can_back调用的参考协议如下:
此调用返回的值示例如下:
顾名思义,can_back用于App询问JS:在返回上一级界面前,是否弹窗提示用户?
返回值中的can如果是true,则直接返回,不提示;如果是false,则弹出一个确认框,请用户确认。另一个值target是与App约定的返回目标,比如prev表示返回上一级,top表示返回顶级,等等。
双向调用是JS先调用App,然后App在完成操作后再调用JS,双向通常都需要传递数据。双向调用主要涉及JS调用App原生组件和用户点击右上角按钮,可对应如下action:
loadComponent的参考协议如下:
在这个例子中,涉及JS调用App显示其实现的城市选择组件:type: 'location',用户选择完城市之后,App再调用set_location,将用户选择的城市名称传给JS:
JS根据拿到的值更新界面,完成一次双向调用。另一个例子是JS调用原生的日期选择组件,与此类似。
为什么叫displayNextButton?因为根据具体业务场景,可能存在如下三种情况:
displayNextButton协议的参考实现如下:
以上代码示例表明,JS调用App,告诉App显示“下一步”按钮,但是要禁用变灰,因为enable: false。如果传递的是enable: true,那么用户就可以点击“下一步”按钮了。点击之后,App再调用JS的save_form。最后,如果不想显示按钮,可以传递name: ''。
下面重点说一下用户点击“下一步”按钮,App调用save_form的场景。此时也分两种情况:
如果是JS通过App保存数据——可能因为App端实现了数据写入必需的加密机制——那么,JS可以在App调用save_form时将约定好的数据返回给App,由App去保存数据。
如果是JS直接保存数据,比如通过Ajax,那么在保存完数据之后,则还需要调用前面所说的App暴露的loadUrl或loadComponent方法,以告知App切换界面。当然这种情况下会出现第三次调用,但仍然属于双向调用。
本文介绍了JS与App交互的几种模式,而且只讨论了JS端的实现。在开发实践中,团队各端总会面临哪一端主导的问题。本文展示的参考实现就是H5端主导的一种实现形式。H5主导的特点是把主要业务逻辑都封装到WebView中,App主要协同配合,而优点是业务逻辑的变更不会蔓延到App。毕竟相对于H5,App的安装部署模式会造成多版本共存问题,需要尽可能控制新版本。假如由App端主导,将逻辑封装在App端,势必造成版本不受控,给整个项目或产品埋下隐患。
当然,事无绝对。具体情况还要具体分析。而且,哪方主导有时候也取决多方面因素。实践中还是要因人、因时、因势制宜。
④ H5页面与原生App(安卓,IOS)交互
在客户端项目中,同一个app会开发成两个版本,一个是安卓版本,一个IOS版本,公司必须有两个开发团队(一个安卓团队,一个IOS团队)来进行开发,这样一来,开发成本非常之高。所以,往往在实际项目-中,会嵌套很多H5页面,一个H5页面同时兼容安卓和IOS两个系统 ,这样一来,大大减少了开发成本,前端开发页面就必须和原生进行交互。
1. 页面开发 —— 前端开发人员将所有的页面按照移动webappp进行开发,做好不同屏幕的适配(宽度100%,视口为移动端视口 (快捷方式meta:vp tap),字体适配rem单位,设置html根标签的font-size然后根据媒体查询判断设备屏幕大小进而设置html根标签的不同汪盯fontsize,去除移动端高亮显示;小图标要善于使用字体图标(常用的字体图标库有阿里巴巴矢量图),改变input标签的默认样式可以采用隐藏input,然后通过字体图标来控制前面的图标,就可以做成自己想要的图标效果)
2.前端页面部署 —— 设置好入口文件(原生一进来就进入的页面,命名为index.html),部署到对应的服务器上,通过网址就能够访问到页面,将网址给app客户端开发人员,他们将app配置好环境后讲页面嵌套在app中。
3.进行数据对接:两种对接方式(1).前端页面自己通过ajax去后台拉数据,然后自己在页面上使用再提交给后台。前提是原生需要将对应的设备号,加密方式,请求数据所需要的各种参数通过回调函数传递给H5页面,H5页面拿到这些数据困基和后直接调后台的借口、获取到数据。(2).前端页锋辩面不用自己去后台拉取数据,而是通过回调函数,获取到原生app拉取的数据,前端页面将这些数据处理后又通过回调函数交给app,再又app发送给后台。两种调用的优劣比较:如果H5页面及数据不是很多,使用第二种方式比较合理,不用H5页面请求数据(不用封装请求,不用加密数据),不使用框架,大大减少了页面的大小,提高性能及用户体验。如果涉及到的前端页面非常多,数据交互比较复杂的话,就必须使用第一种对接方式了,app只需要将设备号,加密规则,参数传递给H5,H5根据页面需求自己向后台拉去和请求数据,直接交互,不再通过app进行转接,减小复杂程度。
⑤ h5页面和app的区别
h5页面和app的区别如下:
1、开发不同。
对于app开发,每一种移动操作系统都要重新开发一个app,比如安卓操作系统就需要基于Java开发app,而苹果操作系统就需源仔要基于Objective-C开发app。
h5页面是运行再浏览器端的应用,所以无论是什么操作系统只要可以打开浏览器就可以运行h5页面,因此不需要基于操作系统额外开发。
2、运行能力有差距。
移动app可以完全发挥手机硬件的优势,比如摄像头、获取本地信息等等,而h5页面则无法发挥这些功能,只能使用少量的硬件功能。
3、获取来源不同。
移动app需要用户下载安雹蚂汪装到自己的移动端手机上才可以使用,而h5页面则没有这些要求,只需要手机可以访问浏览器就可以使用h5页面,这一点比移动端app方便不少。
4、存储容量不同。
由于移动端app需要下载安装到本地才可以运行,所以与之相之是需要占用手机本地内存,且运行过程中会产生大量的临时数据或缓存数据也会占用大量的物乱存储空间。
h5页面由于运行再浏览器端,所以它消耗的是服务器端的内存,而不需要占用本地有限的内存空间,为用于节省了大量空间,但是缺点是对网络要求较高。
⑥ 红旗H5 的智联怎么关闭。就是不允许手机APP 操控汽车
可以在汽车的控制面板中关闭连接手机的权限。
红旗智联APP,可以通过手机查看车辆的故障检测、保养、胎压、违章等,且可以对车辆进行远程的控镇虚搭制,比如灯光、空调等,随着渐入炎热的夏季,提前开启空调的功能很是实用。
除了手机互联之外,H5还具备了手机远程操控的功能,通过手机,用户们可以对发动机、空调、车锁和座椅加热进行控制。誉蠢
介绍
2022款红旗H5,官方指导售价为:14.58-19.08万元,此次新车一共有6款配置车型可供选择,作为我们国内为数不多的在售B级轿车,红旗H5一直都有着较为良好的口碑表现。
在造御拿型设计上,2022款红旗H5基本上延续了现款车型的设计风格,前脸大尺寸的直瀑式进气格栅,极具视觉冲击力,加上两侧采用LED光源的前大灯,以及引擎盖上线条的勾勒,从而给人一种优雅大气的视觉感受。
⑦ h5做app和原生app有什么区别
原生app和h5做的app的区别:
1、开发方面的区别
目前React Native开发越来越火,微信小程序是基于React Native开发的,体验接近原生APP,发展前景值得重视。不过好在现在非原生APP同样可以调用蓝牙、相机等硬件,也能顺利发布到苹果APP store。
移动Web App
1、因为运行在移动设备的浏览器上,所以只需要一个开发项目
2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。
原生App
1、每一种移动操作系统都需要独立的开发项目
2、每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等
3、需要使用各自的软件开发包,开发工具以及各自的控件
2、能力方面的区别
移动Web App
只能使用有限的移动硬件设备功能。
原生App
能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。对于这一点感触很深刻,2016年做新年H5营销小活动的时候,就是因为没有考虑到H5不能使用移动硬件端重力加速器而导致临时替换设计方案。
3、获取方法的区别
移动Web App
1、从移动设备上的浏览器访问
2、不需要安装额外的软件
3、软件更新只需要服务器就够了
4、因为现在没有什么商品或卖场提供这种App,不过一般都是嵌套在系统内部,或者内部系 统中使用
5、跨平台开发,用户不需要去卖场来下载安装App
6、需要过度依赖网络,没有任何缓存数据
7、任何时候都可以发布App,因为根本不需要官方卖场的审核
8、如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进
9、所有的用户都是用同样的版本
原生App
1、直接下载到设备
2、以独立的应用程序运行(并不需要浏览器)
3、用户必须手动去下载并安装这些原生App
4、有一些商店与卖场来帮助用户寻找你的App,app store里面应有尽有。
5、原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
6、手机用户无法上网也可访问APP应用中以前下载的数据。
7、原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
8、APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
9、用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
如果企业选择商领云进行定制开发原生app,需要单独开发两套系统即ios和安卓系统。如果是通过商领云的在线制作app,则可以同时生成ios和安卓系统的app,并且还可以制作小程序、移动网站和微商城,非常方便,而且价格也只需几万左右,具体需要看功能需求。