uni-app高频面试题
谈谈你对uni-app的理解🍕
uni-app是一个使用vue.js开发所有前端应用的框架,开发者编写一套代码,可以发布到iOS、Android、web(响应式)、以及各种小程序(微信 / 支付宝 / 百度)、快应用等多个平台。
优点:
- 跨平台。 正真做到一段代码多端发行,支持原生代码混写和原生sdk集成
- 运行体验良好。 组件、api与微信小程序一致,兼容weex原生渲染
- 通用技术栈,学习成本更低。 vue的的语法,微信小程序的api,对于前端开发人员来说更容易上手
- 开放生态,组件更丰富。 支持通过npm安装第三方包;支持微信小程序自定义组件以及sdk;兼容mpvue组件及项目;app端支持与原生混合编码
缺点:
- 缺少APP的灵活性,动画使用不方便,css动画使用多了会卡顿,所以整体APP的界面只能中规中矩
- 兼容性问题依然有很多小细节问题
- uvue 没有提供的原生功能,需要原生可发协助开发
- 对于三端同时上线,一端存在 bug 的情况,Weex 并不能保证做到牵一发而不动全身。需要更加的小心
uni-app的功能框架图
效 果 图
uni中如何为不同的平台设置不同的代码
mpvue 是一个使用 Vue.js 开发小程序的前端框架,由美团点评技术团队开发在2018年3月开源。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。
条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。
条件注释的语法 官网条件注释
写法:以 #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾。
- #ifdef:if defined 仅在 某平台存在
- #ifndef:if not defined 除了 某平台均存在
- %PLATFORM%:平台名称
效 果 图
该大写的必须大写
- H5
// #ifdef APP-PLUS
平台特有的API实现
// #endif
uniapp中封装接口请求相较于微信小程序有什么要注意的
uniapp和微信小程序都提供了网络请求API(uni.request(object) 和 wx.requ