会vue学uniapp要多久 小白都首选uni

会vue再上手uni-app难度大吗?
uni-app就是基于vue开发的框架 , 如果你会vue的话 , 入门应该是没啥问题 , 如果上手去做项目的话 , 还是有些难度的 。具体哪些难度我们得搞清楚uni-app到底是什么 。uni-app是一个使用 Vue.js 开发所有前端应用的框架 , 开发者编写一套代码 , 可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台这是官网介绍的原话 , 咋一听很厉害的样子 。
发布到多个平台只需要一套代码 , 这样的话效率高 , 成本又低 。那为何大公司没有采用uni-app进行开发呢?1.我们先搞懂它为何能跨多个平台从上图我们可以看出uni-app跨平台的原因了:适配每一个终端!这就很像是java虚拟机了 , 不过java虚拟机是程序运行时工作 , 而uni-app是编译时工作 。可以这样理解 , java虚拟机是在程序运行时 , 进行适配平台 , uni-app是在编译时 , 根据你选择的编译平台进行适配 。
在编译时解决平台问题 , 这是目前很多跨平台框架的首选解决方案 , 即保证效率又方便开发者 。但这种方案也有缺点 , 如果平台变动或更新 , 那么有可能导致你app某些功能无法使用 , 必须等着uni-app维护升级 。这就是uni-app的跨平台原理 , 现阶段的跨平台方案没有完美的 , 都是有利有弊 。2.如果会Vue , 是不是相当于会uni-app是的 , uni-app开发页面用的就是Vue组件上图代码是uni-app登陆模版项目里面的 , 可以看出来 , 用的就是Vue的template模版开发 。
一般不涉及到平台性的组件都是使用Vue开发的 , 所以如果你项目对跨平台要求不高 , 而且会Vue的话可以直接上手开发uni-app哪些组件是涉及到平台性的呢?比如弹窗 , 我们用Vue的话一般在template写个dialog , 而uni-app可以直接通过uni.showModal实现 弹窗 。当然这个例子不太严谨 , Vue也能封装一个这样实现 。
这里主要讲的是跨平台 , 使用uni-app提供的组件基本不用担心平台适配问题 。为什么会Vue上手uni-app仍然有难度这里说的难度不是指写代码的难度 , 代码都是用Vue写的不存在啥难度 。1.难度是对跨平台而言的 , 你需要懂各平台运行app的原理 。uni-app代码编译打包后 , 移动端基本是运行在安卓的webview或ios的WKWebView 。
但是安卓或ios平台为了效率或者安全性 , 不会去支持H5的一些危险特性或者功能 , 当然H5是安全的们这里的危险只是安卓和ios认为的 。比如ios的WKWebview , 对H5一些新的css不支持或者不会太早的更新适配 。如果你不了解移动端webview的差异性 , 那么很容易踩雷 , 而且这些错误都是无法通过debug发现的 。
2.uni-app无法适配的工作需要开发者来实现有些适配工作是uni-app无法通过编译完成的 , 这就是需要开发者去实现了 。比如开发中 , div、ul、li等得改为view , 微信的wxcomponet不支持H5等等 。这里就增加了很多的开发成本 , 很多不支持跨平台的vue组件用不了 。开发久了你可能会有这样的感觉 , 会Vue开发uni-app比从头学uni-app开发都难!总结如果你会Vue , 使用uni-app开发的话 , 上手是比较简单的 , 但是如果项目涉及到跨平台的话 , 就得斟酌下了 , 会有很多坑 , 一旦影响到业务功能的实现 , 就得不偿失了 。

推荐阅读