会vue再上手uni-app难度大吗?

发布时间:2020年10月06日 阅读:209 次

uni-app就是基于vue开发的框架,如果你会vue的话,入门应该是没啥问题,如果上手去做项目的话,还是有些难度的。具体哪些难度我们得搞清楚uni-app到底是什么。uni-app是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Androi

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端造框架。但在这个前端大融合的时代,系统框架已分的没那么清楚。

而作为开发者,我们得知道,效率和成本是对立存在的,切勿因此失彼!


我是非著名攻城狮,原创不易,如果我的回答对你所帮助,还请点赞支持!

",
Tag:的话 平台 都是 难度 开发者
相关文章