当前位置:首页 > 科技  > 软件

Vercel推出的前端AI工具v0,会改变前端么?

来源: 责编: 时间:2023-09-18 21:40:20 195观看
导读大家好,我卡颂。最近,Vercel推出了一款AI代码生成工具 —— v0[1],可以快速生成前端组件代码。这款AI工具会影响现有前端开发模式么?本文会从如下角度展开讨论:v0是什么?能做什么?v0生成的代码包含哪些部分?会对现有前端开发

IJx28资讯网——每日最新资讯28at.com

大家好,我卡颂。IJx28资讯网——每日最新资讯28at.com

最近,Vercel推出了一款AI代码生成工具 —— v0[1],可以快速生成前端组件代码。IJx28资讯网——每日最新资讯28at.com

这款AI工具会影响现有前端开发模式么?本文会从如下角度展开讨论:IJx28资讯网——每日最新资讯28at.com

  • v0是什么?能做什么?
  • v0生成的代码包含哪些部分?会对现有前端开发产生什么影响?

v0是什么

v0是Vercel推出的一款「前端组件代码生成工具」,当前还处于Alpha阶段,要想试用需要先排队。IJx28资讯网——每日最新资讯28at.com

他的使用方式如下:IJx28资讯网——每日最新资讯28at.com

首先,用自然语言描述需求。IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

v0会根据需求生成组件代码:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

我们可以继续对不满意的地方提出修改意见,比如「背景请使用渐变蓝色」:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

此时,会生成一个新的版本(这里是v1)。具体来说,每个修改意见都会产生一个新的版本。当我们再提出 —— 「内容宽度为500px」,此时会产生v2:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

现在你明白这款产品为什么叫v0了吧?v0指产品的最初版本,开发者可以基于v0不断迭代新的版本。而迭代的方式,就是不断提出新需求或修改意见。IJx28资讯网——每日最新资讯28at.com

有同学可能会问:我直接向chatGPT提需求不也能生成代码,v0有啥优势?IJx28资讯网——每日最新资讯28at.com

v0的优势主要体现在两点:IJx28资讯网——每日最新资讯28at.com

  • 可以针对组件不同部分单独修改。
  • UI与样式分离。

让我们细细聊一下。IJx28资讯网——每日最新资讯28at.com

可以针对组件不同部分单独修改

如果直接让chatGPT生成代码,那么他会生成一大段代码。比如,我让chatGPT生成上面提到的天气预报组件。下面截取了他返回代码的一部分,注意其中红框中组件背景色是白色:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

现在,我继续提问:「背景请使用渐变蓝色」,chatGPT重新输出了组件代码,并把背景色改为渐变蓝色:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

可以看到,每次提出修改意见,chatGPT都得重新生成完整代码,比较低效。IJx28资讯网——每日最新资讯28at.com

那我只让chatGPT输出修改部分的代码呢?比如这样提问 —— 「内容宽度为500px,只给出修改的代码」。IJx28资讯网——每日最新资讯28at.com

他确实只输出了需要修改的代码:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

但这样也存在一个弊端 —— 当应用庞大时,需要让chatGPT知道我们想修改哪部分代码。IJx28资讯网——每日最新资讯28at.com

比如下面是个邮箱收集页面,现在我们希望将标题改为渐变色。当我们向chatGPT提到「标题」时,他能理解指的是邮箱收集页的标题。IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

但当应用变得复杂,存在很多「带标题的组件」,让chatGPT理解你的需求就得费一番功夫了。IJx28资讯网——每日最新资讯28at.com

使用v0就没有这方面困扰。我们可以对v0生成页面中的每个组件、每个元素单独提问。比如,对于上述「将邮箱收集页标题改为渐变色」的需求,首先用v0生成邮箱收集页。IJx28资讯网——每日最新资讯28at.com

现在我们希望将标题改为渐变色,只需要选择标题部分并提出「增加一个渐变色」:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

就能得到如下结果:IJx28资讯网——每日最新资讯28at.com

IJx28资讯网——每日最新资讯28at.com

即使再复杂的页面,在提问时,v0会将组件对应的上下文一并发送给大模型,模型能清楚知道要修改哪个组件。IJx28资讯网——每日最新资讯28at.com

UI与样式分离

v0生成的React组件代码中,样式与UI分别基于两个库:IJx28资讯网——每日最新资讯28at.com

  • 样式:基于TailwindCSS
  • UI:基于shadcn[2]

样式部分

为什么生成代码的样式部分要使用TailwindCSS呢?IJx28资讯网——每日最新资讯28at.com

在我上一篇讲TailwindCSS的文章中我提到一个观点 —— 随着AI生成代码的普及,类似TailwindCSS这样的「原子化CSS」会越来越普及。IJx28资讯网——每日最新资讯28at.com

这是因为,在有限的未来,大模型输出的token限制还会一直存在,而「原子化CSS」相比「语义化CSS」能用更少的字符表达更丰富的样式信息。IJx28资讯网——每日最新资讯28at.com

这里有两层意思,首先来看比较好理解的,对比下面两段代码:IJx28资讯网——每日最新资讯28at.com

「原子化CSS」的实现:IJx28资讯网——每日最新资讯28at.com

<div class="m-1"></div>

「语义化CSS」的实现:IJx28资讯网——每日最新资讯28at.com

<div class="container"></div>
.container {  margin: 0.25rem;}

显然,从大模型的字符输出消耗来看,「原子化CSS」能用更少字符表达同样的样式。IJx28资讯网——每日最新资讯28at.com

第二层意思,「原子化CSS」(不管是TailwindCSS还是UnoCSS)都是基于设计系统的上层封装。上述m-1的类名背后,并不仅仅是margin: 0.25rem的意思,而是与其他类名一起构成的设计系统。IJx28资讯网——每日最新资讯28at.com

当整个应用都是基于设计系统实现时,整体来看,达到同样的布局效果,也会更省大模型的字符输出消耗。IJx28资讯网——每日最新资讯28at.com

UI部分

v0的UI部分非常有意思,他基于shadcn这个“组件”库。IJx28资讯网——每日最新资讯28at.com

为什么要给「组件」打引号,因为shadcn与一般的组件库完全不同。IJx28资讯网——每日最新资讯28at.com

对于一般的组件库,我们先通过npm安装它,将它作为项目的依赖,再在项目中引入。IJx28资讯网——每日最新资讯28at.com

比如,下面是引入antd中Calendar组件的方式:IJx28资讯网——每日最新资讯28at.com

import { Calendar } from 'antd';const App: React.FC = () => {  return <Calendar />;};

下面是引入shadcn中Calendar组件的方式,对比看看有啥区别?IJx28资讯网——每日最新资讯28at.com

import { Calendar } from "@/components/ui/calendar"const App: React.FC = () => {  return <Calendar />;};

antd中的Calendar来自于antd模块,而shadcn中的Calendar则来自于项目目录下的components目录。IJx28资讯网——每日最新资讯28at.com

这就是shadcn的理念 —— 0依赖,按需复制粘贴代码。IJx28资讯网——每日最新资讯28at.com

简单来说,如果你想使用shadcn中的某个组件,不是通过npm安装shadcn这个包,再引入组件。而是直接复制该组件的代码到项目目录下(当然,整个复制过程是通过cli工具完成的)。IJx28资讯网——每日最新资讯28at.com

这么做相比于传统组件库,有两个显著优势:IJx28资讯网——每日最新资讯28at.com

组件逻辑想改就改,不用担心组件没暴露对应的props。IJx28资讯网——每日最新资讯28at.com

毕竟,整个组件的源代码我们都直接复制下来了,改个逻辑还不简单?IJx28资讯网——每日最新资讯28at.com

UI与样式分离IJx28资讯网——每日最新资讯28at.com

复制下来的组件只包含基础样式,开发者根据需要增加自定义样式。IJx28资讯网——每日最新资讯28at.com

总结

了解了v0能做什么,以及输出代码的组成后,我们可以得出结论 —— v0是一款快速生成项目原型代码的AI工具。生成的原型代码中,UI与样式分离,其中:IJx28资讯网——每日最新资讯28at.com

  • UI:基于shadcn
  • 样式:基于TailwindCSS

UI部分之所以基于shadcn,显然是为了开发者导出代码后,可以方便的二次开发。IJx28资讯网——每日最新资讯28at.com

我们可以将v0当作一款应用场景更广的低代码工具,用于快速生成原型代码。从这个角度看,他对前端的影响还局限在提效工具上(而不是替代前端)。IJx28资讯网——每日最新资讯28at.com

与其担心v0会取代你的工作,不如担心隔壁悄悄使用v0的同事比你工作效率来的更高......IJx28资讯网——每日最新资讯28at.com

参考资料

[1]v0:https://v0.dev/。IJx28资讯网——每日最新资讯28at.com

[2]shadcn:https://ui.shadcn.com/。IJx28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-10415-0.htmlVercel推出的前端AI工具v0,会改变前端么?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 重新学习 scrollIntoview

下一篇: Java开发必安装插件-Maven Helper

标签:
  • 热门焦点
  • Rust中的高吞吐量流处理

    Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 2023 年的 Node.js 生态系统

    2023 年的 Node.js 生态系统

    随着技术的不断演进和创新,Node.js 在 2023 年达到了一个新的高度。Node.js 拥有一个庞大的生态系统,可以帮助开发人员更快地实现复杂的应用。本文就来看看 Node.js 最新的生
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了&ldquo;本地生活&rdquo;入口,位置较深,位于首页的&ldquo;充值中心&rdquo;内,目前主要售卖美食相关的
  • 中国家电海外掘金正当时|出海专题

    中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 东方甄选单飞:有些鸟注定是关不住的

    东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的&ldquo;7天甘肃行&rdquo;直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,&ldquo;7
  • 年轻人的“职场羞耻感”,无处不在

    年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元&ldquo;人在职场,应该选择什么样的着装?&rdquo;近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
  •  首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
  • DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    10月30日,据韩国媒体消息,自今年年初以来一直在上涨的 DRAM 存储器的交易价格仅在本月就下跌了近 10%,此次是全年首次降价,而NAND 闪存本月价格与上月持平。市
Top
Baidu
map