uni-app和HTML的区别

939 阅读2分钟

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。

ice.jpeg

对于web前端开发者来说不用花费大量的学习成本上手,只需要了解常用的一些uni-app与HTML的区别,比如:

1.传统概念的转换:组件/标签,以前是html标签,现在是小程序标签

2.div改成view

3.span/font 改成text

4.a标签改成navigator

5.img改成image

6.select改成picker

7.ul/li 没有了,用view 代替

8.audio不在推荐使用,改成api方式

9.input 还在,但type属性改成了confirmtype

10.iframe 改成 web-view

像form、button、checkbox、radio、label、textarea、canvas、video 这些还在,其实老的HTML标签也可以在uni-app里使用,uni-app编译器会在编译时把老标签转为新标签。但不推荐这种用法,调试H5端时容易混乱,基于元素的选择器也会出问题。

除了改动外还新增了一些移动端常用的组件,比如:

scroll-view 可区域滚动视图容器

swiper 可滑动区域视图容器

rich-text 富文本(不可执行js,但可渲染各种文字格式和图片)

progress 进度条

slider 滑块指示器

switch 开关选择器

camera 相机 live-player 直播

map 地图

cover-view 可覆盖原生组件的视图容器

(cover-view需要注意:uni-app的非h5端的video、map、canvas、textarea是原生组件, 层级高于其他组件。如需覆盖原生组件,比如在map上加个遮罩,则需要使用cover-view组件)

以前dom操作,改成vue的MVVM模式:

alert,confirm 改成 uni.showmodel ajax 改成 uni.request cookie、session 没有了,local.storage 改成 uni.storage uni-app的js api还有很多,但基本就是小程序的api,把wx.xxx改为uni.xxx即可

css区别

选择器有2个变化:*选择器不支持;元素选择器里没有body,改为了page 单位方面:px无法动态适应不同宽度的屏幕,rem只能用于h5、rpx只能用于微信小程序。 为此uni-app新增了 upx ,通吃所有端、所有屏幕宽度的动态单位 upx

从HBuilderX 2.0.5起,已经支持rpx的正常着色和px 2rpx的ide代码提示转换功能。 官方也修改了uni-app文档中关于尺寸单位的介绍,不再推荐upx的使用,而推荐rpx。

uni-app推荐使用flex布局,并默认就是flex竖列布局