Figma一鍵輸出網頁工具:Builder.io

Cindy Chou
Nov 15, 2023

--

Builder.io於10月份宣布推出「Visual Copilot」,為Figma Plugins插件工具帶來全新變革,也為設計師與工程師共創便利快速的開發流程。

Builder.io與Figma合作,透過Visual Copilot的Ai技術,一鍵轉換程式代碼,支援多種程式語言,同時也透過AI將設計稿轉換為RWD檔案。為設計開發帶來全新的趨勢,透過AI技術減緩過去長期開發的工作。

筆者本身是UI菜雞,對於程式相關的知識還不充足QQ 若想要看程式觀點,推薦大家看 Kordan Ou 大大以程式開發的角度撰寫的文章:一鍵生成:用 AI 將 Figma 設計稿直接生成可維護的程式碼

而筆者將會以設計的角度,引領認識Builder.io如何在Figma中使用、當中潛在的問題。

Builder.io作為Figma插件工具的使用方法

在Figma中找到Plguins,並搜尋Builder.io 按下Run即可,也可以從Figma Community中找到 Builder.io Plugins 說明文中按照步驟執行。

圖1:可從Design File中找到四個小幾何的按鈕,並選擇Plugins(截取自Figma)

目前Builder.io開發的Visual Copilot功能外,還有另外兩個功能:Generate、Import UI,分別是以AI生成網頁設計圖與將外部網站轉為Figma的功能。

Builedr.io於Figma中三個功能的執行方法與成果:

(1)Export Code

圖2:選取想要生成的Frame,並按下生成程式(截取自Figma)

選取所要的Frame檔案或小物件,按下Generate Code,就會轉跳制Builder.io網站獲得設計檔案的程式碼,也能夠看到AI協助讀入的設計稿模樣。

圖3:生成後,會自動轉跳至Builder.io,會顯示AI所生成的程式碼(截取自Builder.io)
圖4:在Builder.io中修改設計圖稿,能改變排版與大小(截取自Builder.io)

在生成程式碼後,開發者能在Builder.io的網頁中檢查、修改設計圖稿,方便後續的設計更動。

特別要注意 Builder.io不能同時輸出兩個Frame檔案,但若是在Frame之外的小物件,是可以跟Frame一起輸出,但輸出結果會被放在同個頁面上,會打亂原始的設計稿。

圖5:輸出前需要注意,以避免生成的程式與設計稿是被打亂的(截取自Builder.io)

原始預設AI輸出的程式碼Fast是屬於比較簡易的,而若想要較為精緻的程式碼,就要再轉跳後於Builder.io中選擇Quality的輸出,Quality能讓AI跑MUI、Next.js等其他多種程式語言。若是設計網頁本身構圖排版不複雜的話,推薦註冊Builder.io免費會員,就能免費輸出Quality的程式碼。

不同於Fast生成的Code功能,Quality多了輸入欄,能輸入想要的動作或外貌指令,讓AI生成相關的程式碼。筆者在下圖中便是選取登入按鈕,並且輸入「The button turns blue when the mouse hovers over it.」讓AI生成移動鼠標便能夠變色的程式碼。

圖6:Quality生成多元,能透過指令讓AI生成程式(截取自Builder.io)

在Builder.io中也會生成RWD的指令,預設的檢視畫面分別為電腦與手機尺寸,可以透過鼠標長壓設計稿自行決定想要的尺寸,以此確認RWD不同尺寸的排版是不是自己所想要。

圖7:Builder.io原始預設尺寸為992Px(截取自Builder.io)
圖8:長壓設計圖稿,能隨意拉長與縮小網頁尺寸(截取自Builder.io)

(2)Generate

今年4月Builder.io更新與OpenAI所合作功能,透過輸入關鍵字、參考網站,便能夠生成Figma設計檔案,同時在生成也能夠再編輯排版與圖片。

特別的是此功能是與OpenAI合作,因此需要至OpenAI網站中取得OpenAI Key,再回到Figma中使用OpenAI Key的鑰匙碼進行指令。

提醒生成OpenAI Key後要記得將那串Key保存好,未來是無法從網站中再次開啟那串英數字

Generate目前免費用戶無法使用,若想要體驗一鍵生成wireframe,需要於Builder.io的官網付費升級會員。

圖9:透過指令生成設計圖稿(擷取自Builder.io文章:Generate Figma Designs with AI)

(3)Import UI

將想要的外部網站,透過AI生成成為Figma的Frame檔案,生成後能夠自行編輯拆解。若是有臨摹、練習重新排版網站,是一個蠻方便的工具。

首先先選擇想要生成的網頁,在Figma的Builder.io中貼上想要導入的網頁網址,也能夠選擇想要的頁面尺寸大小。

要特別注意不能找過多動畫複雜的網站,目前AI無法讀取太多動畫的網站。

圖10:輸入網址與尺寸後,便會生成Figma Frame檔案(擷取自Figma)

生成後可以看到在Figma中顯示的檔案不是單純的圖檔,能點選物件並且拆解移動。Builder.io的AI收到指令後會生成網站該頁背後Code的圖像、文字等等,如圖中可以看到本來該網站中隱藏的一些大字都會顯示出。因此太過於繁複的網站,容易讓AI無法順利讀取,導致生成的Frame混亂無法辨識。

如果是作為個人練習臨摹簡單網頁或優化拉頁式網站,是一個蠻方便的選擇。

Builder.io使用上所遇到的問題

AI作為輔助工具提升了工作效率,但新的技術會需要時間進行改善優化,Builder.io這次的合作依然有許多需要改善的空間。以下列出筆者在使用上遇到的問題,以及可以嘗試的排除方法,在使用上可以參考以此減少修正的時間。

(1)不明原因位移

設計圖稿需要將所有的圖形設定成component(元件),並且將網頁區塊群組化。這樣在輸出至Builder.io後,能避免在預覽的網頁排版會變形、跑版。同時在使用RWD時,也不會有過度變形、不如預期的排版。

(2)部分物件輸出模糊

如果設計的網頁過大過複雜的話,即使是在Figma中繪製的圖形,較小的圖形可能會在讀檔中模糊化。Builder.io客服建議轉為Quality,以此避免使用Fast讀檔產生模糊。如果沒有規劃在Builder.io中升級會員的人,要注意設計檔案不能過大過複雜,以此避免過小圖檔模糊。

圖11:生成程式後的圖稿是模糊的(擷取自Builder.io)

(3)特殊字型、圖形轉為PNG、SVG檔案避免AI無法辨識

Builder.io的字型庫與Figma無法對接,因此在生成程式碼時,特殊的字型是無法順利生成。另外也發現,AI讀取檔案疑似是讀取檔案框線範圍內的圖形,若是以鉛筆、鋼筆繪製,Figma會以線條為範圍設定框架,但AI就無法順利讀到匡線外的圖形,造成吃圖的問題。

建議是將特殊字型與圖形轉為PNG或SVG檔案,方便讓AI順利導出。

圖12:原始圖稿是以鉛筆所繪製,因此是線條為基礎(擷取自Figma)
圖13:原始logo與特殊字型(擷取自Figma)
圖14:於Builder.io生成後所顯示的狀態(擷取自Builder.io)

結語

Builder.io的Visual Copilot推出,是網頁程式開發學習者一個很好的學習工具。在這裡補充Builder.io 創辦人Steve近期發布進階使用Visual Copilot製作動態Menu選單,為一開始AI生成程式碼時,無法生成動態效果的解決方法。

筆者認為此AI能作為很大的學習工具,但也很難依賴此工具完成獨立的開發。Builder.io以UI菜雞的角度來看,是協助練習前端架設網站的第一步。筆者認為讓架設網站的學習沒這麼讓人懼怕與感到繁雜。也可以透過AI所生成的程式碼,將自己所學的知識交叉參考與比對,或許是能協助日後更加熟悉程式碼的助力之一。

參考資料來源:

Generate Figma Designs with AI

Builder.io 推出名為 Visual Copilot 的 Figma-to-code plugin,可以快速將 Figma 設計稿轉成網頁程式碼

一鍵生成:用 AI 將 Figma 設計稿直接生成可維護的程式碼

Figma to code with Visual Copilot, drag-and-drop for native apps, and more!

Introducing Visual Copilot: A Better Figma-to-Code Workflow

--

--