国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

Vercel推出的前端AI工具v0,會改變前端么?

來源: 責編: 時間:2023-09-18 21:40:20 375觀看
導讀大家好,我卡頌。最近,Vercel推出了一款AI代碼生成工具 —— v0[1],可以快速生成前端組件代碼。這款AI工具會影響現有前端開發模式么?本文會從如下角度展開討論:v0是什么?能做什么?v0生成的代碼包含哪些部分?會對現有前端開發

I6J28資訊網——每日最新資訊28at.com

大家好,我卡頌。I6J28資訊網——每日最新資訊28at.com

最近,Vercel推出了一款AI代碼生成工具 —— v0[1],可以快速生成前端組件代碼。I6J28資訊網——每日最新資訊28at.com

這款AI工具會影響現有前端開發模式么?本文會從如下角度展開討論:I6J28資訊網——每日最新資訊28at.com

  • v0是什么?能做什么?
  • v0生成的代碼包含哪些部分?會對現有前端開發產生什么影響?

v0是什么

v0是Vercel推出的一款「前端組件代碼生成工具」,當前還處于Alpha階段,要想試用需要先排隊。I6J28資訊網——每日最新資訊28at.com

他的使用方式如下:I6J28資訊網——每日最新資訊28at.com

首先,用自然語言描述需求。I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

v0會根據需求生成組件代碼:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

我們可以繼續對不滿意的地方提出修改意見,比如「背景請使用漸變藍色」:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

此時,會生成一個新的版本(這里是v1)。具體來說,每個修改意見都會產生一個新的版本。當我們再提出 —— 「內容寬度為500px」,此時會產生v2:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

現在你明白這款產品為什么叫v0了吧?v0指產品的最初版本,開發者可以基于v0不斷迭代新的版本。而迭代的方式,就是不斷提出新需求或修改意見。I6J28資訊網——每日最新資訊28at.com

有同學可能會問:我直接向chatGPT提需求不也能生成代碼,v0有啥優勢?I6J28資訊網——每日最新資訊28at.com

v0的優勢主要體現在兩點:I6J28資訊網——每日最新資訊28at.com

  • 可以針對組件不同部分單獨修改。
  • UI與樣式分離。

讓我們細細聊一下。I6J28資訊網——每日最新資訊28at.com

可以針對組件不同部分單獨修改

如果直接讓chatGPT生成代碼,那么他會生成一大段代碼。比如,我讓chatGPT生成上面提到的天氣預報組件。下面截取了他返回代碼的一部分,注意其中紅框中組件背景色是白色:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

現在,我繼續提問:「背景請使用漸變藍色」,chatGPT重新輸出了組件代碼,并把背景色改為漸變藍色:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

可以看到,每次提出修改意見,chatGPT都得重新生成完整代碼,比較低效。I6J28資訊網——每日最新資訊28at.com

那我只讓chatGPT輸出修改部分的代碼呢?比如這樣提問 —— 「內容寬度為500px,只給出修改的代碼」。I6J28資訊網——每日最新資訊28at.com

他確實只輸出了需要修改的代碼:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

但這樣也存在一個弊端 —— 當應用龐大時,需要讓chatGPT知道我們想修改哪部分代碼。I6J28資訊網——每日最新資訊28at.com

比如下面是個郵箱收集頁面,現在我們希望將標題改為漸變色。當我們向chatGPT提到「標題」時,他能理解指的是郵箱收集頁的標題。I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

但當應用變得復雜,存在很多「帶標題的組件」,讓chatGPT理解你的需求就得費一番功夫了。I6J28資訊網——每日最新資訊28at.com

使用v0就沒有這方面困擾。我們可以對v0生成頁面中的每個組件、每個元素單獨提問。比如,對于上述「將郵箱收集頁標題改為漸變色」的需求,首先用v0生成郵箱收集頁。I6J28資訊網——每日最新資訊28at.com

現在我們希望將標題改為漸變色,只需要選擇標題部分并提出「增加一個漸變色」:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

就能得到如下結果:I6J28資訊網——每日最新資訊28at.com

I6J28資訊網——每日最新資訊28at.com

即使再復雜的頁面,在提問時,v0會將組件對應的上下文一并發送給大模型,模型能清楚知道要修改哪個組件。I6J28資訊網——每日最新資訊28at.com

UI與樣式分離

v0生成的React組件代碼中,樣式與UI分別基于兩個庫:I6J28資訊網——每日最新資訊28at.com

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

樣式部分

為什么生成代碼的樣式部分要使用TailwindCSS呢?I6J28資訊網——每日最新資訊28at.com

在我上一篇講TailwindCSS的文章中我提到一個觀點 —— 隨著AI生成代碼的普及,類似TailwindCSS這樣的「原子化CSS」會越來越普及。I6J28資訊網——每日最新資訊28at.com

這是因為,在有限的未來,大模型輸出的token限制還會一直存在,而「原子化CSS」相比「語義化CSS」能用更少的字符表達更豐富的樣式信息。I6J28資訊網——每日最新資訊28at.com

這里有兩層意思,首先來看比較好理解的,對比下面兩段代碼:I6J28資訊網——每日最新資訊28at.com

「原子化CSS」的實現:I6J28資訊網——每日最新資訊28at.com

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

「語義化CSS」的實現:I6J28資訊網——每日最新資訊28at.com

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

顯然,從大模型的字符輸出消耗來看,「原子化CSS」能用更少字符表達同樣的樣式。I6J28資訊網——每日最新資訊28at.com

第二層意思,「原子化CSS」(不管是TailwindCSS還是UnoCSS)都是基于設計系統的上層封裝。上述m-1的類名背后,并不僅僅是margin: 0.25rem的意思,而是與其他類名一起構成的設計系統。I6J28資訊網——每日最新資訊28at.com

當整個應用都是基于設計系統實現時,整體來看,達到同樣的布局效果,也會更省大模型的字符輸出消耗。I6J28資訊網——每日最新資訊28at.com

UI部分

v0的UI部分非常有意思,他基于shadcn這個“組件”庫。I6J28資訊網——每日最新資訊28at.com

為什么要給「組件」打引號,因為shadcn與一般的組件庫完全不同。I6J28資訊網——每日最新資訊28at.com

對于一般的組件庫,我們先通過npm安裝它,將它作為項目的依賴,再在項目中引入。I6J28資訊網——每日最新資訊28at.com

比如,下面是引入antd中Calendar組件的方式:I6J28資訊網——每日最新資訊28at.com

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

下面是引入shadcn中Calendar組件的方式,對比看看有啥區別?I6J28資訊網——每日最新資訊28at.com

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

antd中的Calendar來自于antd模塊,而shadcn中的Calendar則來自于項目目錄下的components目錄。I6J28資訊網——每日最新資訊28at.com

這就是shadcn的理念 —— 0依賴,按需復制粘貼代碼。I6J28資訊網——每日最新資訊28at.com

簡單來說,如果你想使用shadcn中的某個組件,不是通過npm安裝shadcn這個包,再引入組件。而是直接復制該組件的代碼到項目目錄下(當然,整個復制過程是通過cli工具完成的)。I6J28資訊網——每日最新資訊28at.com

這么做相比于傳統組件庫,有兩個顯著優勢:I6J28資訊網——每日最新資訊28at.com

組件邏輯想改就改,不用擔心組件沒暴露對應的props。I6J28資訊網——每日最新資訊28at.com

畢竟,整個組件的源代碼我們都直接復制下來了,改個邏輯還不簡單?I6J28資訊網——每日最新資訊28at.com

UI與樣式分離I6J28資訊網——每日最新資訊28at.com

復制下來的組件只包含基礎樣式,開發者根據需要增加自定義樣式。I6J28資訊網——每日最新資訊28at.com

總結

了解了v0能做什么,以及輸出代碼的組成后,我們可以得出結論 —— v0是一款快速生成項目原型代碼的AI工具。生成的原型代碼中,UI與樣式分離,其中:I6J28資訊網——每日最新資訊28at.com

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

UI部分之所以基于shadcn,顯然是為了開發者導出代碼后,可以方便的二次開發。I6J28資訊網——每日最新資訊28at.com

我們可以將v0當作一款應用場景更廣的低代碼工具,用于快速生成原型代碼。從這個角度看,他對前端的影響還局限在提效工具上(而不是替代前端)。I6J28資訊網——每日最新資訊28at.com

與其擔心v0會取代你的工作,不如擔心隔壁悄悄使用v0的同事比你工作效率來的更高......I6J28資訊網——每日最新資訊28at.com

參考資料

[1]v0:https://v0.dev/。I6J28資訊網——每日最新資訊28at.com

[2]shadcn:https://ui.shadcn.com/。I6J28資訊網——每日最新資訊28at.com

本文鏈接:http://m.rrqrq.com/showinfo-26-10415-0.htmlVercel推出的前端AI工具v0,會改變前端么?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 重新學習 scrollIntoview

下一篇: Java開發必安裝插件-Maven Helper

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
久久午夜国产精品| 精品三级在线看| 中文字幕一区二区三区在线播放| 精品一区二区三区欧美| 久久福利一区| 亚洲日本va午夜在线影院| 91污在线观看| 欧美xxxxx裸体时装秀| 国产美女在线观看一区| 欧美性欧美巨大黑白大战| 亚洲va欧美va天堂v国产综合| 亚洲视频一区| 国产精品丝袜久久久久久app| 91香蕉视频在线| 久久伊人中文字幕| 99视频精品免费视频| 精品人在线二区三区| 国产69精品久久久久毛片| 91精品蜜臀在线一区尤物| 美女脱光内衣内裤视频久久网站| 色综合久久久久综合体桃花网| 亚洲尤物视频在线| 国产日韩欧美一区在线| 亚洲三级电影全部在线观看高清| 欧美亚洲不卡| 亚洲欧美偷拍另类a∨色屁股| 精品1区2区| 亚洲精品日韩综合观看成人91| 日韩亚洲一区在线播放| 亚洲图片欧美综合| 久久久久91| 老司机午夜精品99久久| 欧美精品丝袜中出| 麻豆精品国产传媒mv男同| 欧美另类变人与禽xxxxx| 国产福利精品一区二区| 日韩欧美一级精品久久| 亚洲三级免费观看| 狠狠色丁香婷婷综合| 欧美久久一区二区| 成人免费毛片aaaaa**| 欧美成人国产一区二区| 欧美国产免费| 亚洲色图欧美偷拍| 91久久精品一区二区二区| 激情丁香综合五月| 久久综合久久99| 亚洲夜间福利| 日韩精品1区2区3区| 欧美老女人在线| 99久久伊人网影院| 亚洲人妖av一区二区| 久久婷婷国产综合尤物精品| 狠狠久久亚洲欧美| 欧美不卡123| 亚洲午夜精品久久久久久浪潮 | 日韩丝袜情趣美女图片| 97国产一区二区| 亚洲免费毛片网站| 欧美午夜精品电影| 你懂的网址国产 欧美| 一区二区成人在线观看| 色猫猫国产区一区二在线视频| 国产大陆精品国产| 亚洲欧美日韩一区二区| 在线视频中文字幕一区二区| 成人av网站免费| 亚洲激情第一区| 911精品产国品一二三产区| 欧美特黄视频| 老鸭窝一区二区久久精品| wwwwww.欧美系列| 男女精品网站| 97久久精品人人爽人人爽蜜臀| 亚洲最新在线观看| 欧美一区二区三区精品| 在线日本成人| 韩国成人福利片在线播放| 国产精品毛片无遮挡高清| 欧美在线一区二区三区| 欧美日韩视频一区二区三区| 美洲天堂一区二卡三卡四卡视频| 国产日韩在线不卡| 欧美综合视频在线观看| 欧美日韩国产一区精品一区| 麻豆精品国产传媒mv男同| 国产精品毛片a∨一区二区三区| 91国产免费观看| 伊伊综合在线| 成人中文字幕在线| 日韩精品一二三四| 国产精品久久三区| 91精品国产91久久久久久一区二区| 亚洲精品看片| 99精品欧美一区二区三区小说| 青青草97国产精品免费观看无弹窗版 | 成人激情综合网站| 日韩一区欧美二区| 亚洲精品自拍动漫在线| 337p粉嫩大胆色噜噜噜噜亚洲 | 国产美女诱惑一区二区| 欧美在线黄色| 国产精品一区一区三区| 亚洲bt欧美bt精品777| 欧美激情中文不卡| 欧美一区二区三区啪啪| 久久久久久婷| 亚洲三级影院| 午夜精品剧场| 高清av一区二区| 美女网站在线免费欧美精品| 亚洲视频一区二区免费在线观看| 日韩精品在线看片z| 在线国产亚洲欧美| 性感少妇一区| 亚洲成人自拍视频| 午夜天堂精品久久久久| 成人久久久精品乱码一区二区三区| 日韩av电影免费观看高清完整版 | 午夜在线精品偷拍| 国产精品xxx在线观看www| jlzzjlzz国产精品久久| 国产精品91xxx| 国产在线看一区| 免费国产亚洲视频| 日本在线不卡一区| 性感美女久久精品| 亚洲国产精品一区二区尤物区| 国产精品人妖ts系列视频| 国产视频一区二区三区在线观看| 日韩精品资源二区在线| 欧美一三区三区四区免费在线看| 欧美日韩午夜精品| 在线观看国产91| 欧美三级中文字| 欧美亚一区二区| 欧美三级中文字| 欧美久久久一区| 在线综合视频播放| 欧美一区二区黄| 日韩亚洲欧美在线| 欧美大片日本大片免费观看| 日韩精品一区国产麻豆| 精品福利一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 精品国产污网站| 久久久久久久久蜜桃| 久久精品免视看| 国产精品国产三级国产专播品爱网 | 亚洲天堂久久久久久久| 亚洲免费电影在线| 亚洲一区二区三区小说| 婷婷中文字幕一区三区| 免费观看久久久4p| 国产麻豆精品在线观看| 成人综合婷婷国产精品久久免费| 本田岬高潮一区二区三区| 欧美激情精品久久久六区热门| 国产综合欧美| 亚洲欧美高清| 精品污污网站免费看| 91精品国产高清一区二区三区| 欧美mv日韩mv国产网站app| 国产亚洲综合性久久久影院| 最新成人av在线| 日本美女一区二区三区视频| 国产综合色在线| 91亚洲精华国产精华精华液| 激情久久一区| 在线亚洲人成电影网站色www| 欧美伦理视频网站| 久久久不卡网国产精品二区| 亚洲精品日韩综合观看成人91| 爽爽淫人综合网网站| 国产黑丝在线一区二区三区| 欧美不卡三区| 久久久久久国产精品mv| 日韩欧美美女一区二区三区| 国产精品伦理一区二区| 奇米影视7777精品一区二区| 成人久久18免费网站麻豆| 在线欧美不卡| 欧美日韩国产另类不卡| 欧美激情综合五月色丁香小说| 亚洲一区二区欧美日韩| 国产一区二区主播在线| 亚洲无线视频| 欧美天堂亚洲电影院在线播放| 久久天天做天天爱综合色| 一级中文字幕一区二区| 国产精品综合二区| 最新成人av网站| 欧美日本免费一区二区三区| 国产精品剧情在线亚洲| 毛片不卡一区二区| 黄色免费成人| 欧美高清视频一二三区| 亚洲精品自拍动漫在线| 国产99久久久国产精品潘金网站| 亚洲欧洲一区二区天堂久久|