详解微信小程序与HTML5的差异

微信小程序的页面粗略看与HTML类似,也是基于标记语言和样式渲染,而且多数css样式可以使用。实际上从视图层的角度来说,小程序与传统HTML5还是有明显的区别。

开发工具不同

区别于H5的开发工具+浏览器Device Mode预览的模式,小程序的开发基于自己的开发者工具,可以实现同步本地文件+开发调试+编译+预览+上传+发布等一整套流程。

开发语言不同。

小程序自己开发了一套WXML标记语言和WXSS样式语言,并非直接使用标准的HTML5+CSS3。

组件封装不同

小程序独立出来了很多原生APP的组件,在HTML5需要模拟才能实现的功能,小程序里可以直接调用组件。

小程序开发者工具

微信小程序的开发工具,基于MINA框架(现已取消该名称),现在官方公布的工具名为微信web开发者工具。小程序开发工具是一种基于Native System系统层的框架,由于并非运行在浏览器中,所以JavaScript在web中的一些诸如Document、Window等方法无法使用。

执行速度

从执行的速度方面,普通HTML5和小程序有哪些不同呢,下面是简单比较:

传统HTML5在加载的时候受限于网络环境,需要顺序加载HTML、CSS、JS,然后返回数据,最后渲染页面显示在浏览器中。用户经常需要等待很长时间,体验会受到影响。

相比之下,小程序的两个线程:Appservice Thread和View Thread会同时进行、并行加载,甚至Appservice Thread会更早执行,当视图线程加载完,通知Appservice,Appservice 会把准备好的数据用setData的方法返回给视图线程。

小程序的这种优化策略,可以减少用户的等待时间、加快小程序的响应速度。

语言层面的比较

标签的差异

WXML在语法上更接近XML语言,遵循SGML规范,区别于HTML语言随意的标签闭合方式,WXML语言必须包括开始标签和结束标签

小程序HTML5说明
<view><div>默认样式 display:block
<text><h1>...<h6>
<p>
<span>
<text>具有长按选中的属性
<icon><i class="icon"></i><icon>可以直接用微信组件默认的图标。
<input type="text"><input />
<input type="checkbox"><checkbox-group>
    <checkbox />
</checkbox-group>
<input type="radio"><radio-group>
    <radio />
</radio-group>

文件引入

文件引入在模块化页面结构中非常有用。

WXML提供两种文件引入方式,import和include。区别在于:import可以引入定义好的template模板,模板是有作用域的;而include就是拷贝一个公用的代码片段到目标文件中,适合做公共页面片的拆分。

尺寸单位

WXSS支持的单位有px、rem和rpx,其中rem和rpx可以针对屏幕容器进行适配,px则为固定尺寸。

在iPhone6上,1rpx=0.5px。建议:开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。

在WXSS和WXML中定义的rpx单位最终会转换为在手机端可以识别的rem单位。

所以工程师拿到750的设计稿,在PS中量取的容器大小,可以直接定义为rpx,不需要进行2倍尺寸的换算。

view {
    font-size: 26rpx;
    width: 400rpx;
    height: 400rpx;
}
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值