女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

探索設計稿自動生成Flutter代碼的技術方案

京東云 ? 來源:京東物流 冷先鋒 ? 作者:京東物流 冷先鋒 ? 2024-11-08 10:09 ? 次閱讀

作者:京東物流 冷先鋒

近年來,隨著人工智能和大模型技術的發展,設計稿(UI視圖)自動生成代碼的技術也在不斷進步。本文將探討幾家知名企業在這一領域的探索和實踐,包括美團、京東、微軟等,以及一些常見的工具和方法,最后嘗試大模型生成flutter代碼在項目中的實踐。

一、美團的探索

美團在2021年3月25日發表了一篇關于設計稿自動生成代碼的文章,探討了sketch2json和imgCook兩種技術方案。sketch2json通過解析Sketch源文件中的圖層信息,轉化成DSL并生成代碼,而imgCook則基于AI技術來實現這一過程。盡管當時大模型技術尚未成熟,sketch2json的生成算法較為簡單粗暴,復雜層布局的準確率較低且可解釋性不高,難以持續優化。

原文:設計稿(UI視圖)自動生成代碼方案的探索?

二、咸魚的UI2CODE的設計思路

咸魚將整個工程結構分為五個部分,其中四塊內容核心處理機器視覺的問題,通過機器學習將它們鏈接起來。代碼的線上發布是非常嚴格的事情,而機器學習屬于概率學解法,很難達到我們要求的精度,所以我們選擇以機器視覺理解為主,機器學習為輔的方式,構建整個UI2CODE工程體系。

原文: UI2CODE智能生成Flutter代碼——整體設計篇?

三、微軟的Sketch2Code

微軟也曾推出過一個類似的項目,名為Sketch2Code。這個項目的目標是通過識別草圖生成網頁代碼。雖然這項技術在形式上較為新穎,但其背后依然依賴于大量的研究工作。微軟強調,通過草圖生成代碼并不意味著AI可以通過任意圖像生成復雜邏輯的代碼。在實際開發中,產品經理等角色需要將需求轉化為設計,再由工程師通過代碼實現。GPT-4等大模型目前只能在從設計到代碼生成的環節提供輔助,而在需求理解和設計階段仍需人工介入。

wKgZomctcseAA-Q0AAG7vdjIks8352.png

?

除了上述企業的探索,還有一些工具和方法可以幫助設計師和開發人員將設計稿轉化為代碼:

1.Uizard:可以將手繪草圖和設計圖像轉換為數字原型和代碼,支持HTML/CSS代碼生成。

2.Adobe XD + Plugins:通過插件(如"Export Kit"或"Anima")將設計稿導出為HTML、CSS和JavaScript代碼。

3.Figma + Plugins:類似于Adobe XD,通過插件(如"HTML Generator"或"Figma to Code")將設計稿轉換為代碼。

4.Zeplin:設計師可以將設計稿上傳到Zeplin,開發人員可以從中提取CSS代碼和設計規范。

5.Avocode:支持將Sketch、XD、Photoshop等設計稿轉換為代碼,自動生成HTML和CSS代碼。

6.Sketch2React:將Sketch設計稿轉換為React組件。

7.CodeMyUI:提供大量UI設計和代碼示例,供設計師和開發人員參考。

四、Flutter代碼生成工具

將設計稿直接轉換為Flutter代碼是一項復雜的任務,但以下工具可以顯著簡化工作流:

1.Supernova:支持從Sketch、Adobe XD、Figma導出Flutter代碼。

2.Flutter Studio:在線工具,可以將設計轉換為Flutter代碼。

3.Parabeac:開源工具,支持從Sketch、Figma轉換為Flutter代碼。

4.Figma to Flutter:Figma插件,可以將設計稿轉換為Flutter代碼。

5.Adobe XD to Flutter:Adobe XD插件,可以將設計稿導出為Flutter代碼。

6.Sketch2Flutter:將Sketch設計稿轉換為Flutter代碼。

7.Draftbit:低代碼平臺,支持從設計到Flutter代碼的轉換。

這些工具通常需要經過以下步驟:

1.設計階段:在設計工具中創建設計稿。

2.導出設計:使用相應的插件或工具導出設計稿。

3.生成代碼:導出的設計稿自動轉換為代碼。

4.手動調整:根據需要手動調整生成的代碼。

?

五、京東的Ling平臺

京東的Ling平臺可以根據設計稿生成H5代碼和Android布局代碼,但目前尚無法生成Flutter代碼。該平臺的主要目標是簡化開發流程,提高開發效率。

wKgaomctcsqAOAfGAB0nFv8NXFU884.png

?羚瓏平臺?

六、大模型生成flutter探索和經驗總結

1、嘗試用歷史的UI設計圖生成,下圖是把UI設計圖導入到ling平臺,可以生產web前端代碼。

wKgZomctcsyAGJcwAACqgp9ysIw095.png

wKgaomctcs6AJtefABBOSMyWq_w189.png

2、把前端WEB代碼輸入到大模型,讓生成flutter代碼,然后運行效果如下:

?

wKgZomctctCAad89AARvyRJfMxI088.png

發現整體UI都正式出來,所有元素都能展示出來,字體和顏色還原度很高,就是位置偏差比較大。分析認為,設計圖畫的層次結構比較自由,沒有結構化,大模型不能很高理解位置和層級關系。

3、原型設計圖結構化和組件化

把這個想法和UI設計師溝通后,在新的項目中,嘗試結構化UI設計圖,按照順序編排元素的位置,并且組件化。派送引導式作業的組件化化的設計圖如下:

wKgaomctctGAKjn4AAEgnPrKvBI428.png wKgZomctctKAddy2AAa2MotZfTo531.png

?

組件一:頭部卡片

?

wKgaomctctOAEMLLAAC2zEPmxxY199.png wKgZomctctSAAWNPAACoPmhFDCI484.png

?

?

組件二:運單卡片

?

wKgaomctctWACsc9AADNMiINDaA228.png wKgZomctctaAYwZEAADh18sTMV8407.png

?

小結

設計稿的組件在羚瓏平臺( https://ling.jd.com)生成web前端代碼,然后拿生成的web前端代碼輸入到大模型,直接告訴大模型生成flutter代碼。上圖組件一和組件二,左邊是設計稿,右邊是大模型輸入在項目運行的效果,還原效果比未結構化的情況,大模型理解翻譯的提高90%,基本可以用于日常項目中,對設計師的畫圖有一定要求,這個時間投入,可以讓研發節省更多的時間。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4887

    瀏覽量

    70266
  • flutter
    +關注

    關注

    0

    文章

    13

    瀏覽量

    533
  • 大模型
    +關注

    關注

    2

    文章

    3030

    瀏覽量

    3832
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    鴻蒙Flutter實戰:07混合開發

    參考資料 撰寫雙端平臺代碼(插件編寫實現) 鴻蒙Flutter功能開發 鴻蒙add-to-app示例 如何使用混合開發 module 【flutter鴻蒙技術交流】 目前
    發表于 10-23 16:00

    鴻蒙Flutter實戰:08-如何調試代碼

    # 鴻蒙Flutter實戰:如何調試代碼 ## 1.環境搭建 參考文章[鴻蒙Flutter實戰:01-搭建開發環境](https://gitee.com/zacks
    發表于 10-23 16:29

    鴻蒙Flutter實戰:11-使用 Flutter SDK 3.22.0

    ,將會在項目目錄中創建 .fvm 目錄,里面 flutter_sdk 會軟連接到實際的 custom_3.22.0 SDK 目錄。 查看 .vscode/settings.json 文件可以發現,自動
    發表于 11-01 15:03

    代碼自動生成工具,支持獨立MCU方案、SOC方案

    成功后點擊“應用”3.生成目標平臺代碼注:如果之前沒有定義數據點則無法使用自動生成代碼服務。3.1 生成
    發表于 12-20 16:25

    深入理解flutter的編譯原理與優化

    dart代碼構建鏈路如下所示:其中gen_snapshot是dart編譯器,采用了tree shaking(類似依賴樹邏輯,可生成最小包,也因而在Flutter中禁止了dart支持的反射特性)等
    發表于 07-02 17:47

    基于模型設計的HDL代碼自動生成技術綜述

    ,開發艦載海空搜索雷達核心信號處理子系統,完成系統級的仿真,自動生成75,000多行HDL代碼,節省了兩個工程師人年,該雷達系統最后完成了探索性的海上試驗。 2)美國的紅外熱成像
    發表于 06-08 09:29

    RTthread移植代碼自動生成方案

    自動生成,如何生成可參考右邊的幫助文檔文章目錄前言一、RTthread移植代碼自動生成方案二、使
    發表于 02-11 06:29

    CRC校驗代碼自動生成工具

    CRC校驗代碼自動生成工具根據輸入條件自動產生各種CRC的VHDL或verilog源程序
    發表于 05-20 11:16 ?294次下載
    CRC校驗<b class='flag-5'>代碼</b><b class='flag-5'>自動</b><b class='flag-5'>生成</b>工具

    基于量子框架的代碼自動生成技術研究

    基于量子框架的代碼自動生成技術研究:摘要:量子框架是基于有限狀態機理論,完整的嵌入式系統實現技術,用以設計能與任何RTOS 一起工作的活動對
    發表于 05-16 22:35 ?22次下載

    STM32庫函數代碼自動生成器正式版

    STM32庫函數代碼自動生成器正式版 STM32庫函數代碼自動生成器正式版
    發表于 07-25 18:52 ?0次下載

    c語言代碼自動生成工具,MCU代碼自動生成工具介紹

    MCU代碼自動生成工具介紹文檔編輯原標題:GoKit3二次開發-代碼自動生成工具介紹前文需知1.
    發表于 10-28 17:36 ?8次下載
    c語言<b class='flag-5'>代碼</b><b class='flag-5'>自動</b><b class='flag-5'>生成</b>工具,MCU<b class='flag-5'>代碼</b><b class='flag-5'>自動</b><b class='flag-5'>生成</b>工具介紹

    Flutter 共創未來 | Flutter Forward 活動精彩回顧

    Flutter 的愿景。Flutter Forward 是在肯尼亞內羅畢以線上直播方式舉行的開發者活動,世界各地的開發者能夠親自參與或者遠程相聚,探索 Flutter 的未來發展方
    的頭像 發表于 02-22 23:20 ?801次閱讀

    Flutter熱更新技術探索

    更新需求已經比較成熟,但 Flutter 技術棧目前還缺少類似的技術方案,因此 Flutter 研發團隊,也需要類似的熱更新
    的頭像 發表于 06-08 14:31 ?1406次閱讀
    <b class='flag-5'>Flutter</b>熱更新<b class='flag-5'>技術</b><b class='flag-5'>探索</b>

    Flutter應用代碼混淆優化防護的常見問題與解決方案

    分析flutter應用很依賴反編譯工具轉儲的dart文件中的信息,可以在開發flutter的過程中開啟混淆,能有效防止靜態分析。
    的頭像 發表于 08-12 11:11 ?2972次閱讀

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?934次閱讀
    如何<b class='flag-5'>自動</b><b class='flag-5'>生成</b>verilog<b class='flag-5'>代碼</b>