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开发的话,上手是比较简单的,但是如果项目涉及到跨平台的话,就得斟酌下了,会有很多坑,一旦影响到业务功能的实现,就得不偿失了。
如果你项目不涉及到移动端,就只在web和小程序上运行的话,可以使用uni-app开发。
都说后端造语言,移动端造系统,web端造框架。但在这个前端大融合的时代,系统框架已分的没那么清楚。
而作为开发者,我们得知道,效率和成本是对立存在的,切勿因此失彼!
我是非著名攻城狮,原创不易,如果我的回答对你所帮助,还请点赞支持!
北京天立计算机学校不错,挺注重素质培养的 参考资料: 你好!学做网站并不难,只要你肯用功用心去,当然也要找到好的指导老师,其实要说要的话动态网站是有点难学的。因为它用到编写代码。如ASP,JAVA...
我们是外贸建站公司,为你解答,首先看你们公司预算,和后期是否有专人维护。 我们都是使用主流的wordpress,确保后期无限升级。 1-模板建站:快速,方便,重点是找一套符合你需求的主题,然后调试好框...
首页标题就是在(zài)浏览器中搜(sōu)索(suǒ)相关词的(de)时候可以看到显示的(de)网站名称和描述,首页标题主要是为了(le)在(zài)搜(sōu)索(suǒ)引(yǐn)擎检索(su...
是的,医院网站一定要前置审批才可以进行备案。 1、网站都是要备案。医疗网站备案尤其麻烦,备案前需要去卫生厅申请前置 审批,需要准备一大堆资料,有了前置审批,才能拿去备案,工信部才会审核,备案代理公司才...
1、织梦CMS的默认模板在\templets\default文件夹里,一般有首页,列表页,内容页,头部,尾部的模板!index.htm-----首页模板footer.htm------尾部模板head...
爬虫目前主要开发语言为java、Python、c++ 对于一般的信息采集需要,各种语言差别不大。c、c++ 搜索引擎无一例外使用C\C++ 开发爬虫,猜想搜索引擎爬虫采集的网站数量巨大,对页面的解析要...
今天给各位分享怎么看域名过期的知识,其中也会对怎么看域名过期没进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!文章目录列表: 1、如何查看域名到期 2、请问怎么查看域名的过期...
用户登录成功后,将用户名保存Session Session["usrename"]=username; 退出后Sessssion["username"]=string.Empty; 在页面的Page_...