前端真的很 low 并且没技术含量吗?答案当然是不是。前端朋友们的工作主要是有 h 五小程序或者是管理后台以及新的跨平台的 app 的开发。 今天呢,我们拿一个典型的例子来跟大家介绍前端组建化对工程的影响,包括工程的研发效率和质量。我们可以看一下这个界面, 很常见的管理后台的界面,过滤列表,真相改查以及对每个数据的操作。对于做前端的朋友们,很多人还是停留在写很多的 htm 的标签,很多的 gs 代码去做这样的操作, 这是极其耗时并且繁琐的工作。那么当你在做研发的时候,你是否有想过如何通过什么方式可以去优化,让整个研发的效率和质量得到一定的提高和保证呢?在这种情况下呢,就能体现出来不同工程师对工作的 差异了。有的人手速飞快,一天写好多代码,然后完成一个很常见的功能。有的人通过思考做组建化以及更高级的封装,达到几行代码就实现整个不同的功能, 比如这样子,是的,你没有看错,就是这么几行代码就实现了整一个商品 sku, 真山白茶等等的操作。 这呢就是前端主线化所起的作用了。回过头来,当我们把前端标准化,主线化,最终配置化就实现了,那么软件的整个质量就不取决于个人的差异,而是我们已经把标准定好了。其他的同事,不管他是初级、中级、高级,他们通过统一的标准和配置写出来的代码的质量是统一的, 这对一个软件的可维护性和质量有充分保证,那么你可以想象一下,在你日常工作当中是否存在很多重复性的工作,可以去通过 做组建化的方式去优化呢?千万不要用体力上的勤劳来掩盖思维上的懒惰。好了,如果你有兴趣,后面抽时间再告诉大家这一套组建化是怎么去做的。我是你的朋友小南。
粉丝2.6万获赞6.7万

好,这节课开始呢,我们就来说一下关于组建上的事情,那组建上的事情呢,无非就是副组建引入子组建的方式是什么样的,对吧?然后并且呢还有这个组建之间的传直,比如说父传子啊,子传父啊这些这样一些内容。 好,那么现在呢,咱就把这块整体说一下,那么这块呢,也是属于 set up 的一部分,因为我可能会在 set up 里边去操作,所以说呢,干脆把这块笔记呢就写到 set up 里边了哈。呃,因为是这样的,咱们 已经在上节课说过这个路由了,他是第六块哈,那我现在要写组建一块呢,我就写到了四点八之后啊,就四点九啊,来到这呢,咱写一下这个笔记,四点九就是组建的操作,比如说我们这课要讲的是父传子,那父做什么事子怎么接受,对吧?那我们这呢,现在回顾一下选项式 api 的操作啊,就是我们的 vr 的一些写法。那比如我现在呢要有一个子组件,那我这呢可以先新建一个吧, 那我这新建一个组建,比如说就叫 list 吧,随便写一个啊,然后这呢这是子组件, ok, 行,那现在呢,我要在副组件中引入这个组件,那我这就引 proto, 然后这有个 list, 是吧?然后这有 让我们去找到我的这个对应的路径。好,然后下面是 list 点儿, ok, 然后在这儿呢有 export 啊, part 有一个地方的好,然后这里,哎,地方啊 好,然后在这呢有一个 ctrl nast, 然后再往下,这里边呢有一个 list, 是吧?然后呢你可以把 list 呢给它放到这儿啊, list, okay, 那这样的话呢,我们数据就出来了,是吧?这十五键引入没有问题,那么要给他传直呢,也比较简单,我们可以再定一个数据,比如说呢,就叫 m s j 啊,这是数据,这是传过去的数据。好, 那么我在这呢就可以写一个 m s j 等于 m j, 是吧?然后这儿呢就通过 props 呢进行接收,然后这儿呢我就 s pro 啊,笔放进去,然后这儿有一个 pro s, 当然 pro s 有很多写法,比如说我就直接这么去想哈,我定义他的类型和默认值了啊,然后这儿呢有一个 m s j 啊,这肯定都是没有问题的,我们刷新一下啊,这是没有问题的, ok, 当然这是我们熟悉的 view 二写法,那在 view 三中该怎么办呢啊? view 三呢,我们可以也这么去写,但是呢,有一个比较重要的东西就是塞大,是吧,你也 也可以直接通过 set up 的语法糖去做,都是可以的。那现在呢,我们就通过几个方式呢来实现啊?第一个方式呢,就是我们直接去写这种语法堂形式啊,写语法堂形式,比如说我这呢直接给他写一个 set up 啊,就是我们这的 set up 的语法啊。好,那么呃,首先呢,我们要引入也是跟之前一模一样的啊,引入,然后引入完事以后呢,就可以直接在这提供了啊,就不需要再什么呃,这个 compoints 啊之类的啊,直接用就可以了。好,我们刷新一下 来,小心。好,大家看是不是呢,比之前稍微方便了一点,对吧?那你要传值该怎么办呢?哎,比如或者定一个值就叫 msj, 对吧?然后这呢就等于二 ef, 它是一个响音的,这是负传过去的数据。 好,然后呢我这地方呢就可以给他写 m s j, 然后等于 m s j 了。好,这样就没有问题了。 ok, 然后呢这个子这儿呢,我现在写 m s j 肯定是不行的,对吧?那我要去接收。那怎么去接收呢?有很多方式,比如啊,我们这 这个地方呢,也是一个 set up 的一把糖。好,那我们就可以通过某一个东西了,比如说我们可以通过这个底饭的 plus plus 啊,就它啊,这有个 view, 这,这有一个。呃, from view 就可以了啊,只不过呢我们是引入过这个插件啊,所以说这一步呢就不需要了啊,我们直接写它就可以了啊,直接写它就行了。好,然后这儿呢,你要写的是这个 m i j, 对吧?那你可以定义它类型,比如它类型呢是一个字串类型,然后它有它的默认值啊,比如它的默认值呢?哎,是一个。 呃,一一吧,我随便写啊,那这时候我们再来看刷新一下。好,你看这数据呢,也都给他拿过来了,是吧?那如果说你这并没有给他传呢,他就会走那一串一的这个数据啊,这就是通过三大法与法行的形式啊,如何传?如何接?好吧,这呢我们就记录一下啊。 呃,那这个地方的腹啊腹,哎,可以这样去传。好,我把这呢都给他拿过来, 然后这个地方的子呢?哎,就可以通过刚才我们的方式去积,当然其实呢还有很多很多的方式。那决定了是你的需求啊,那比如说在他的官网里边呢,他也收到了一个这样东西,我们把这个赛道打开啊, 然后这呢他说 set up 这个函数时,他将接收两个参数,一个是 props 啊,还有一个。好,那我们就先单看这一个 props 啊,他说这个 set up 函数呢,第一个参数呢就是 props, 那这个 pro 词就是什么?就是你传过来的一个东西,我们可以在 set up 里边呢去把它拿到。好吧,那,那什么意思呢?就是你看现在呢,我通过啊,这个负啊,通过这儿 miz 传过去,对不对?你也可以怎么写呢?也可以这样去写。 好,我们就采用选 a p l, 然后这 sport 你放是吧?然后呢就跟他这个官方里边写的是一模一样的啊,首先呢,你这儿可能会写一个 set up 啊,是的,然后这儿呢就有一个 pros。 好,我们现在呢去 consolelog 打印一下这个 pros 吧。好,那么在这儿呢 就可以打印一下 pros, 来看一眼 pros 是什么样子啊?刷新一下。好,这时候呢,在这个地方呢啊,我们有一个 pros, 我打开这个地方的一个 tag 啊,哎,他这并没有显示出来一些内容。呃,这有个啊,没关系啊,那我们就呃先给他啊,这还有一个 pros 没有写到啊,我这呢再写一个 m s j 啊, m s j。 好,刷新一下,我们再来看一眼。好,这时候呢,你就看到这个地方是不是有数据啊啊,这个选项 a p i 呢,就几乎类似了哈,那你也可以针对于这样拿到那个 force 啊,拿到 pro s 的数据啊,就是你 pro s 点 m f j 啊,当然他这也讲到了,如果你传多个呢啊,你也可以把它结构出来啊,通过 to i f s 啊,把它结构出来,比如说你在这地方呢可以进行二次的一些调整啊,比如你可以复个值,对吧?那我假如说不叫 m x j, 是吧?我叫这个 o b g 吧,随便啊,那就可以 i f, 哎,或者说直接放它就行了啊,直接放它,然后这样呢蕊衬出去这个 o b g, 好吧,然后你这样放这个 o b g 啊,上心一下,哎,这样的话呢, 也是没有问题的,你可能会针对于这个值呢进行一些改造啊,或者说,呃,这个二次的一些计算呀,等等一些操作啊,这样的写法也是 ok 的。好吧,这就是我们所说的直接通过依法行式啊,通过依法行式,比如这种啊,或者说呢,你也可以通过选项 api 的啊,这种以及这种啊, 以及我们下面的最后这个,是吧?这个一开始演示这个也是可以的啊,这就是妇产子啊,那在我们这个 vivo 三中呢,灵活境比较高了啊,你有很多写法,那这一不同写法呢,也有不同的操作,但是大家呢?呃,以上那些东西都比较简单,大家至少要记得这个哈,至少要记得这个啊,笔犯的 pros, 这个是比较重要的。 好,那么有关于组建之间的这个内容,比如说父算子啊,父怎么传,子怎么金,我们就先说到这里。

啊,因为最近有很多人就问我啊,编辑器怎么去用,用什么来好啊?我,我其实跟大家推荐大家可以用 vs co 的,我 觉得还是一个相当不错的一个编辑工具,其实他装好了之后就是这个样子,然后 vs 扣的呢?大家可以看 vs 扣的,他从看代码的角度来讲,他的观赏性还是不错的,就是他里边他通过各种高亮给你展示出来的代码结构,让你看起来稍微有一种赏心悦目的感觉,然后 他这个是怎么达到的呢?这个就是我们在用 vs 扣的时候,他本身只是一个变音机器,但是如果你想让他变得比较好用的话,其实你是可以 安装很多插件的。 vs 扣的他的一个好处就是他是一个开源平台,所以很多的开发者给他贡献了很多的这个插件,很多插件都非常的好用,比如说我给大家推荐几个啊,我自己最推荐的一个叫 night owl, 这个是叫黑夜猫头鹰,它是一个主题插件,就是装了之后你的 visco 的会变得很漂亮,就像我这样子,我这个好看,也是因为我装了这个黑夜猫头鹰的这个插件,它就会让你的整个的高亮看起来就非常的漂亮。然后除了这个之外呢, 有一个叫 pray tear 的一个插件, pray tar, 这个插件是如果你是做前端开发的,那我强烈建议你要装这个 pray tar 这个插件 pra tear, 它的作用是帮我们来做 cold format, 就是帮我们来把代码进行格式化的,就是很多情况下我们会发现自己写的代码不好看 啊,是因为我们不,不是很不是很很会去把这个代码做一个很好的格式化。我们俩举个例子大家就明白了。比如说我现在这个是一个加巴斯 creeper 的代码,这个代码里边假设我把它整的就写的很乱, 写成了那么长一行,这长一行肯定已经超过八十个字符了,这在我们编程来讲是不对的,我们应该保证每一行在八十个字符以内, 因为我装了 pray tea 这个插件,我一点保存,它自动就会把我这个代码给它格式化成一个最好的一个格式。其实 prata 它有一些预定的预先的一个设定,它是根据一个比较好的方式来帮你把你的代码格式化成一个固定方式,这个非常好, 非常好用。如果你是做前端开发的话,给大家推荐一下,现在我们组内就就都在用这个,这样的话就可以保证大家的代码在格式上是一致的。然后格式一致他就有一个很大的好处,就是我们在写代码的时候,因为 比如说你在公司开发一个项目,你在公司开发项目的话,那你不可能是一个人在开发,你肯定是你们组内会有很多的程序员,很多的程序员他就有可能,呃,我们在开发一个项目的时候, 可能我和另外一个成全在改相同的一个代码,这个时候他就会这个代码就会出现冲突,就是我在 往服务器上提交的时候,他也在提交,这个时候我们改了相同代码会有冲突。如果说我们两个的代码的格式有很大差别的话,那你在做代码的末制的时候,就代码的合并的时候,你就会很很很头疼,你就要处理很多的这种跟格式相关的问题。 但是如果你们都用了相同的普瑞特,你们的格式是一样的,那这个时候你只需要处理代码逻辑部分,交缠到一起的部分,其他部分你不用管。像之前我们没有用普瑞特,就大家都没有,所有人都用,之前有的人用了,有的人没有用。我们有一个文件,他的这个代码量比较大, 在和那个代码的时候,如果你跟别人发生了冲突,你,你和那个代码,你就会非常非常的头痛,需要花很多的功夫来改那个,所以这个翡翠可以帮助我们解决 个问题,然后剩下一个,嗯,给大家介绍一下,大家一定要装的就是 gear guitar, 不知道大家都清楚吗? get 是一个就是软件协作的一个工具,版本控制的工具。我们在开发软件的时候,第一是我们需要知道软件历史的版本,为什么需要知道历史的版本呢?那是因为 有这个历史他有一个很大的好处,就是比如说我们代码改错了之后,我们可以回缩到之前的一个版本里边去。如果你装了这个给的 gurf 这个插件,就是刚才这个 get graph 这个插件啊,白格位。如果你要装的话,其实你就可以把这个插件这个蓝点开,就这个按钮点开了之后,你直接想装什么插件,你直接搜就可以了。比如说你搜 get, 他就会把跟 get 相关的插件都给你列出来,然后你就直接点击,没有装的话这儿有个 install 直接安装就可以了。 然后如果说有很多类似的插件,你装哪个呢?你就可以看一下他这边会有七百一十五 k, 就是说这个插件已经有七百一十五 k 的人装了,然后标星是四点二五,四点二五星就已经比较高了,那就证明这个插件用的人非常多,而且他的质量也非常好,那大家就可以来装这个。然后呢接着给大家介绍这个给的古拉夫 girlf, 它有一个特别大的好处,就是比如说我把我的命令长打开之后,这个有一个 gilograph vo girlf, 就是去看一下我们这个 项目,他的一个历史的版本,这里就会给你列出来这个项目都有谁改过,在什么时间,这是时间。 然后这个是人名,就是谁改的,这个是改修改的时间,然后这里是 cmeat message, 也就是当我们在做代码提交的时候,你需要写一段话,正就是写一下你为什么要做这个提交,这是很关键的,我们通过这个文字就能 大概了解。哎,这个项目到底就这个改动,他到底改了点啥?然后当你点开的时候,你就可以看到 这个修改,改了哪几个文件啊?这个改的不多,所以就可以不用管,我们可以找一个改的多一点的,比如说这个,这也是一个 啊,随便找一个我看看,这也是一个,然后这个点开了之后,他就可以帮你这有一个上下按钮,就是你可以看这个,这个人到底改了哪些内容,你就点上下,只改了一个就不管了,再找一个多一点的啊,比如说这个, 这怎么全是一个的,想给大家找一个多点的,还不好找也是一个。 这个比如说这个有两个,那它的一个好处就是它会给你列出来 这个这次提交都改了哪些文件,然后当你点击这个文件的时候,你还可以看到他修改了哪些内容,你点上下他就会给你切换到这还是只有一个改动, usb 加一减一,他这啊这个这个 ok, 这个你点上下的时候,他就会给你切换到下一个改动的点,这样的话你就可以看到这次的改动究竟改了哪些文件,然后这些文件分别改动了哪些点, 乖乖改动了哪些点,对于我们来看代码的话其实是非常方便的,然后呢他还有一个好处,就是 比如说啊,我们这次发板了之后发现这个代码有点问题,那我想要去看一下究竟是哪一个改动导致我出现的问题,那这个时候怎么办呢?你可以右键一点,这里有拆 cout, 就是你可以 会把代码回缩到之前的某一个版本,然后你看一下这个版本有没有问题,如果这个版本也有,你可以再往前回缩,然后这个时候如果说这个版本没有,你可以往后一点,这个时候你就很容易定位到到底是哪一次的改动导致了你这个问题。所以说这个是迪德国尔夫,这是非常方便的一个功能。然后还有一个插件给大家推荐是 叫 guitar lens, 这个插件非常的好,它可以帮助我们看一下我们当前这个文件里边究竟谁在什么时间点改动了这一行,比如说你想看一下这一行是谁改的,你就把你鼠标放到这儿, 你只要把鼠标放到这一行,他就会告诉你是谁在什么时间点在六年前改的一个代码,然后 come message 是什么,他为什么改的这行代码?然后你放到这的时候,他还会给你有 一个详细的说明,你还可以看到底他改了什么样的内容。那这有什么好处呢?就是比如说啊,你们,你们在代码你们组内发现了一个问题,然后你定位到这个问题是 这一行代码引起的,那这个时候怎么办?你只需要把鼠标放到这,然后他就会告诉你这个代码是谁改的,然后你一看我靠我改的这个代码就知道了,这原来是自己给自己埋的锅,这就知道怎么去处理了。 然后除了这个之外,还有一些比较好用的,比如说 geet histree, 这是我们 geet 的版本的一个一个东西,这个其实也是非常好,就推荐大家去装。 然后还有就是除了这些我推荐的之外,还有就是比如说你是啊写弗拉特的,那你就要装这个弗拉特的插件,如果你是写 c 的,你就要装 c c 呀的这个插件,就是你是写什么样的语言的,你就把这个语言相关的插件也装。比如说你写 passan 的,你就在这儿敲一个 passan, 他就会把拍损相关的插件给你列出来,我已经装了这个,你要想装其他的,你就直接点一个安装就可以了,但是这个只有两星可能就不太好,你就不用装了,你就装一个标星多一点的,大概就是这样,就是你要装一些啊好用的插件,然后再加上你使用什么样的语言,你就安装这门语言的插件就可以了。 然后还有一个给大家提醒一下,就是在在这个 vs 扣的里边,比如说我在搜索的时候是,嗯, ctrl 加 f, 他会调出这个搜索框。在调出搜索框的时候,比如说我想搜这个泰斯的迪塔 dto data, 大家可以看到 test data 的时候,他会把这几个都标出来,包括这个也给我标出来了,这是因为在搜索的时候我们可以这这里有两个空支键,我不知道大家能看清吗?放大点,这里有两个, 这个是包,是说他是啊 match case, 就是说他大小写也要匹配,如果你这个不勾的话,他不区分大小写,哪怕你这是个大写的底,他也会会给你匹配出来。如果你把这个勾了,大家可以看到这儿,这个就没有被匹配到,然后只有这个, 就你看点上下就没有,就说他要要求你的大小写完全匹配,当你把这个去掉之后,他就会忽略大小写的匹配, 然后后边这个指的是全部匹配,就是比如说我现在是个胎斯的 data, 如果不勾这个,就是他只要部分匹配到他就可以,包括这个胎斯的 data, 后边还有个 iq, 他都能给我匹配到,比如说这个, 这都是能够匹配到的,如果你把这个勾上的话,他就只是全匹配,然后除了这两个之外呢?后边还有一个正德表达式的匹配,如果大家对正德表达式很熟悉的话,用正德表达式来搜也是很方, ok, 这个是搜索方面的,搜索方面呢,在文件内部搜索是 come on 的 f, 这是在单个文件内部搜索的,然后如果你是在整个项目搜索,就是 come on, 加 shift, 加 f, 他就会在你整个项目当中去搜索,就搜索的内容会更多一点, 然后剩下一个还有一个技巧,就是如果说你不想这么麻烦,只是单纯的我想把这几个都改了,这怎么办呢?你就把这个双击,然后 ctrl d, 他就会把这几个都选中, 然后都选中了之后,比如说我想把它改成,哈哈,你这一敲,所有的都会被改成,哈哈,这个就很方便,这是一些快捷的一些方式。 ok, 那这个就先跟大家说这么多,然后看看大家还有什么样的问题。 对,就是刚才,刚才有 朋友也跟大家回啊,说了一下,我用的这个啊,我用的这个是 vs 扣的,我再跟大家打一下 vs 扣的。 vs 扣的。我跟大家敲出来了, vs 扣的 这个叫 vs code, 它是微软推出的一个编辑器,我我觉得对于初学者来讲, vs code 还是相对比较好用的。就如如果大家是初学者,然后想用一款编辑器的话,就大家可以用 vs code, 然后它有非常多的插件,非常好用, 这个在各个平台都有,包括 windows、 麦克,还有利尿斯迪亚都有,他穿插件的方式应该都是一样的,就不管你是在 什么样的平台。爸爸,哎,宝贝,把奶奶爷爷叫上。好的,哈哈哈,就不管你是 什么样的平台,你装插件都是点击左边蓝,这有个 excession, excession 就是它的插件,你直接点开,然后在这边搜索,你就可以装你想要的插件就可以了。我是强烈大家推荐大家如果说写代码的话用 vs 扣的非常的方便。

做前段的小伙伴们,不知道有没有这样的困惑,有时候你从培训班里做的项目,或者说你在网上找到开源的项目,你自己看视频也好,或者按照自己的思路去敲一遍他们做的这种项目也好,你会发现你做他们的项目会非常简单,往往你面试成功,进到企业里面,让你去接手维护一个老的项目, 或者说是在老项目的基础上去添加新功能,你会觉得特别复杂,有的时候代码也看不懂,为什么呢?你要知道就是网上一些开源的项目或培训班里面教的项目, 他们都不会是特别复杂的业务,因为公司里面的项目,他是结合公司的业务。比如说一个页面有一个副组件,那么这个副组件里面可能引三到四个组组件, 往往在企业里面他不是这样的,就是一个页面他有一个大的副组件,那么副组件里面有可能会引四到五个自主件,那么这个自主件里面有可能继续去引四到五 制度键,制度键里面有可能还会引制度键,也就是他欠到程度比较深,有可能你看别人的代码,你会发现哦,这个代码有大概将近一千行,几百行代码, 这时候你看这个代码接触这样的项目,其实你会产生这种所谓的恐惧感,再加上你技术掌握的不是特别熟练,其实整个的这个过程是有一套所谓的万能公式,那么这个万能公式是啥呢?你可以想象一下, 前端再拿到一个交付网之后,说白了就干两件事,第一件事是我要写静态页面,第二件事和后端链条,那么先说静态页面这件事,那么静态页面说白了就是我们要拆分组建,因为我们都是组建化开发, 一个页面应该拆分成四个组件还是五个组件,那么这些组件应该是父子关系还是兄弟关系?那么确立好他们的关系,一组装就组装成这个页面,第二步就是和后端连跳,这个页面我 应该拆分成几个二甲壳的结构,请求每一个二甲壳的结构口,我应该给他传什么样的参数,后端应该给我返回什么样的参数,你们可以想象一下,后端返回的参数基本上就是支付、串数或者对象,要不就这三个的组合。那么其实这一整套啊, 比如说你拿到 you 的交互稿,你不知道怎么样下手,不知道怎么样写代码,不知道怎么样才能总结,或者说你拿到一个特别复杂的交互,我应该怎么样把它简化, 如何合理的拆分这个组件,使这个城市更加分明,你写的代码更容易维护,包括如何设计这个数据结构, 数据结构也就是数据嘛,因为咱们都是数据全都省部,一方面我们前段选两用,另一方面还有后段的开发进度。那么这一整套其实是有所谓的方法论的,那么这个方法论就是万能公司,那么这里面讲的是啥呢?理论结合实践,有代码,有 v 一的代码,也有 vi 的代码。

不做前端的人可能会觉得,哎呀,我这个页面上这些东西都是他们一个个写的,对吧?其实不是,你看啊,你看他是足垫库里边,你看按钮,看到没?这是一个按钮,他各式各样的按钮,大的小的啊,各种各样的图片的展示 啊,包括各种,你看咱经常在页面上见到各种弹窗,看到没?你看不同位置的弹窗啊,其实这些 都是很包括,你看啊,这个啊,我跟你讲这个,这个是日历吗?对不对?日历功能手机上经常会遇到吧, 对不对?各种日历功能,你看啊,其实到时候你比如说页面上我需要一个日历功能,我只需要安装这个组建库,你看在只需要这样引引入进来,然后再写这么一个标签,对,然后再写他对应的一些一个手信,然后他对应的 方法,然后这个功能就完成了。也就说比如说我们今天遇到一个需求,我要实现一个某个功能啊,那有线上的组建,很快很快就搞定,但是如果说这个东西让你自己手动去写的话,那我就 会费很长很长的时间。所以说你说这个开发难吗?也不难哦,好像一天就是用别人的轮子在这去堆堆啊,但是说不难吗?好像也难 啊,永远这样用别人的轮子堆,不是所有的场景都让你能堆,对不对?但是所以做一定程度啊,自己也要能够写轮子,你要能够达到这种境界,我觉得就就很厉害了, 所以我觉得我们用的开心,对吧?但是在用的过程当中也多去向一些优秀的框架去学习 学习别人的,你比如说哦,自己什么时候能够去封装类似这么多的一些组建让别人用,那就是牛逼的。

大家好,最近有人问我,就是安卓有没有像这个饿了么 ui 的那种,就是浅端框架,然后浅端组件,然后供这个开发者来使用。 这个安卓啊,其实是没有的,因为安卓的这个个性化是比较突出的,因为一个 app, 对吧?如果你都是千篇一律的话,那基本上是呃触动不了的,然后也是没人使用的,根本就没什么个性。所以啊,就是 app 主打一个就是个性化,然后就是每家 app 啊都是不一样的, 呃,然后也没有一个统一的一个库来进行使用。相反就是前端的话就是比较统一啊,基本上如果是后台管理的话,就是用那个饿了么 ui 那一套其实就可以拿下 啊,就是页面都差不多,对吧?然后能够运用于一些比较,呃,就是广泛的一些场景,但是安 就不行,安卓就没有一些这种比较通用的一些组件,其实有的话,对吧?也是一个 app 里面,然后去写一些比较基础的一些通用的库,然后去做一个单独的模块存在, 所以安卓并没有像这个前端有那么多的那个组件库,所以其实有的话也有一些那种库,但是基本上我觉得也是没有人使用的,比如腾讯也出了一些腾讯的就是那种比较统一的一个 ui, 但是那种的话,我觉得在实际工作项目当中啊,是用不上的,因为公司的 ui 设计是不可能按照 就是腾讯那一套,对吧?然后来进行一个设计,他是根据产品的一个文档然后进行来设计的,所以也是用不上的。嗯,有这些酷,但是,呃,不温不火啊,可以 作为参考,然后去封装一些底层的一些东西,然后在公司里面,但是如果想要去用一套,然后去覆盖所有的一些产品啊,基本上是很难做到的,因为大家也可以看到你用的每个 appui 都是不一样的,那不像前端,就是可能 一些推动组件都是可以使用的,然后用户也是无感知的,因为本身就是一个后台管理,但是不像这个, 呃,就是 c 端啊, a p p 属于 c 端,接近速带用户,然后去,嗯,去,然后去做一些东西是不一样的,所以 ap 开发起来啊,也是没那么容易的。就是,这就是为什么 ap 开发啊,很多,现在很多公司啊,不再招人了,也不再去使用了,是因为开发起来确实比较,嗯,怎么说呢, 笨重一点,然后比较慢一点,然后的话也是要,嗯,发版上线也是比较复杂的,特别是 ios 啊,还有人工审核 app, 就是安卓的话可能可以通过三方平台, 因为市场可能都不用上架,都可以去用,但是苹果是不行的,对吧?所以这也是安卓为什么就是 ap 开发这块就比较慢慢,处于一个比较劣势的一个情况。确实小程序可以替代很多,前端替代了很多,这也是一个非常现实的一个情况,所以也没有一个通用的组建库,也是适用于不了的。

今天我们看一个常用组件的综合实力,这也是他的参考代码。 这是一个登录界面,输入用户名密码,再点登录,然后这里点 首页和设置, 有个工具可以辅助理解布局, 这三块会联动显示, 这里点一面就有这两边对应显示, 这边也一样,这个是轮播图,界面和代码会高亮显示 guard 两边对应显示,这样更容易理解页面布局。