首页 > 其他分享 >AI生成前端组件的价值思考

AI生成前端组件的价值思考

时间:2024-02-01 13:33:07浏览次数:41  
标签:profile AI 前端 生成 user 思考 组件

想法来源

这个想法来源于我自己的需求,我自己首先就是最精准的目标用户,在这个AI时代,我希望AI可以帮我尽量多地干活。
结合自己的日常独立开发情况,发现花在调前端组件样式上的时间很多,因此思考能不能让AI把这部分活接过去,或者能提高一些效率也行。

适合用户

外行或刚入门的前端开发者不是此AI的目标用户,此AI目标用户是已入门的前端开发者,并且使用tailwind作为UI库。

实际场景

非目标场景:figma画原型图,然后前端照着做

这种情况下,UI设计师先干活,做出原型图,然后前端照着写组件,前端需要的组件布局,颜色,间距等都是确定的值,用AI生成组件并不能提高效率,反而会降低效率。

目标场景:前端直接写组件,然后调样式

这种情况下,我们是怎么写组件的呢?
一种方式是凭经验直接从零手撸,然后反复调整样式看效果,很多时候我们都这么做;
如果脑子里没有概念,可能会去网上找现成的网站进行参考,对照着做;
此外我们还可能直接网上找现成的模板,然后复制下来再改改。

此AI就是为了提高这种场景下的开发效率而专门设计的。

提效的点

搞清楚目标场景下,时间都花在哪里,才能进行提效。

按个人实践经验,如果从零撸组件,时间通常大量花在布局,调样式上;
如果网上找现成组件对照着做,会快一些,因为大脑不用太多思考,所以会更轻松,从创造的活更多的变成体力活了,而干体力活也是要花时间的;
如果网上找现成的组件模板改,时间一是花在找模板与比较哪个更好,二是改模板花的时间,包括先理解下载的代码,然后调整,这种模式最大问题是大部分时候,网上下载的现成固定模板跟我们的实际需求并不匹配,比如布局会有些不同,多了些元素,少了些字段,样式要改等,如果模板过于复杂,可能最终改的面目全非,或改出一些隐藏毛病,回过头看还不如从零手撸。

搞清楚了时间都花在哪里,下面就可以进行针对性提效了:

功能介绍

此AI通过简单的描述来生成组件:组件名称,字段描述。

生成的组件特点:

  • 支持深色模式
  • 支持响应式,可能需要额外的描述
  • 属性提取,比如将标题提取为props变量,可以在调用时传入
  • 支持调色板,比如你的应用有固定的一套颜色

粒度思考

开始可以是粗粒度的,比如就提供个组件名称叫“登录”组件,然后AI随机生成个登录组件,可能有名字,密码输入框,与登录按钮。

然后你可能对布局不满意,比如登录按钮位置不对;或发现少了元素,比如没有注册按钮。
那就可以添加更多描述,然后AI重新生成更精确的,反复如此直到满意为止。

但是不要太细,比如写“设置标题大小为32px”,或“设置按钮颜色为#FF0000”,那还不如生成后你复制代码,然后手动改来的快。

原理思考

AI为什么能节省我们的开发时间?
因为我们提供了组件名称,与需要的字段列表,AI能像人一样思考,能从语义上理解你想做的东西,它就知道对于这个组件,这些字段应该怎样布局,字体大小,颜色,样式,间距要怎么设置,因此这部分思考时间AI就帮你节省了。

你是否需要它?

你对组件的样式要求越低,它就越适合你;
反过来你对组件的样式要求越高,比如指定的布局,大小,颜色,间距,你明确的要求越多,AI能帮你思考节省的地方就越少,它就越不适合你。

实践

初次尝试

提供的描述:

名称:a profile card
描述:a small user profile card to display user information
元素列表:
- profile picture
- username
- bio
- link to see detail

生成的代码:

import React from 'react'  
  
interface ProfileCardProps {  
  profilePicture: string  
  username: string  
  bio: string  
  link: string  
}  
  
const ProfileCard: React.FC<ProfileCardProps> = ({  
  profilePicture,  
  username,  
  bio,  
  link,  
}) => {  
  return (  
    <div className="bg-base-100 dark:bg-base-200 p-4 rounded-lg shadow-md">  
      <div className="flex items-center">  
        <img  
          src={profilePicture}  
          alt="Profile Picture"  
          className="w-12 h-12 rounded-full"  
        />  
        <div className="ml-4">  
          <h2 className="text-primary font-bold text-lg">{username}</h2>  
          <p className="text-secondary">{bio}</p>  
        </div>  
      </div>  
      <a  
        href={link}  
        className="mt-4 inline-block text-primary hover:text-primary-content"  
      >  
        See Detail  
      </a>  
    </div>  
  )  
}  
  
export default ProfileCard

生成的效果(设置了字段值):

思考:
可以看到,描述里我们只提供了元素的名称,并没有提供位置,大小,颜色等信息,AI帮我们思考出了这些元素的布局与样式。

添加字段

假如我们需要加用户角色与登出按钮。

提供的描述:

名称:a profile card
描述:a small user profile card to display user information
元素列表:
- profile picture
- username
- bio
- link to see detail
- badge style user role
- button to logout

生成的效果:

思考:
可以看到,提供了两个更多字段后,AI生成了另一种合理的布局,如果多生成几次,每次的效果可能都不太一样,但基本都是合理且好看的。
另一个就是我们描述的badge style并没有实现,说明AI具有理解与思考能力,并不是完全死板地按我们的指令做。这种情况下如果一定要badge样式,直接在生成的代码上改可能比较快,而不是提供非常详细的描述,一定要让AI生成出你想要的效果。

微调布局

假如我们对布局有一些要求,比如我想用户role以badge样式放右上角。

提供的描述:

名称:a profile card
描述:a small user profile card to display user information
元素列表:
- top:
	- profile picture in left
	- username and bio in right
- bottom:
	- link to see detail
	- button to logout
- badge style user role in top right with absolute position

生成的效果:

思考:
实际微调下来,小问题还是有一些的,生成的并不很稳定,可能在怎么描述上要花点功夫。

其他例子

订阅

这个专栏会同步更新在 Solo 社区、公众号、知乎、社群。

微信搜索"Solo 独立开发者社区"或者扫描二维码,即可手机订阅。

社区网址:Solo 独立开发者社区-链接每一位独立开发者, 从 Solo 开始

标签:profile,AI,前端,生成,user,思考,组件
From: https://www.cnblogs.com/Baiang/p/18001018

相关文章

  • 想要成为AIGC大模型工程师, 如何搭建你的知识体系框架?
    AI不会取代你的工作,会取代你的是会AI的人,如何提升自己与他人的知识壁垒,如何学习AIGC?相信在过去2023这个AI爆发的元年,我相信也是很多人的疑问,好像不懂使用点AI工具,例如ChatGpt、Midjourney或者SD,就好像被淘汰了一样,更近一步地我们如何训练自己的AI大模型、如何开发自己的AI产品?是很......
  • 2024增量市场——AIGC,普通人如何入局?
    AI是否真的会取代你的工作,或者是掌握AI技能的人将会取代你?随着2023年AI技术的爆炸式增长,许多人开始质疑,如果不掌握如ChatGPT、Midjourney或StableDiffusion等AI工具,是否就意味着被时代淘汰?进一步地,如何自主训练AI大模型、开发自己的AI产品?这些疑惑在许多人心中盘旋。今天,我们将一......
  • 【每周一读】LLM Embeddings — Explained Simply
    原文......
  • npm证书过期:npm ERR! request to https://registry.npm.taobao.org/element-ui failed
    场景:使用淘宝源安装element-ui时npm证书过期报错信息如下:npmERR!codeCERT_HAS_EXPIREDnpmERR!errnoCERT_HAS_EXPIREDnpmERR!requesttohttps://registry.npm.taobao.org/element-uifailed,reason:certificatehasexpirednpmERR!Acompletelogofthisrun......
  • 生成式 AI 已掀起浪潮,行业发展会怎么样?
    大家可以看看一些研究报告。本报告总结成关键的6个部分:1.引言:介绍生成式AI应用的概念和重要性,以及本文的主要内容和目的。2.生成式AI应用的基础知识:包括什么是生成式AI、其与自然语言处理(NLP)之间的关系、数据隐私保护等方面的内容。3.ChatGPT:介绍了ChatGPT这一生成式AI应用......
  • [stable/nginx-ingress] [emerg] 46#46: bind() to 0.0.0.0:80 failed (13: Permissio
    该报错与nginx的报错是一样的,不同的是发生在kubernetes-ingress场景。使用NginxIngressController时,以Deployment的方式启动POD时会报错。使用的Deployment配置示例:https://github.com/nginxinc/kubernetes-ingress/blob/main/deployments/deployment/nginx-ingress.yaml这......
  • 解决前端JSZip读取压缩包内文件中文名称乱码问题
    1importJSZipfrom"jszip";23functionjszipFile(file){4if(!/\.zip$/i.test(file.name)){5reject(`文件"${file.name}"不是zip文件`);6return;7}89constfileReader=newFileReader();1011//转换文件为Arra......
  • 关于pycharm报错:Original error was: DLL load failed while importing _multiarray_u
    前提:遇到该问题时,已重新卸载并安装numpy,但由于今日重新打开pycharm,运行相同的代码,又再次报错,故重新寻找了新的方式进行尝试。原文地址解决方法:Step1:点击run,找到EditConfigurationsStep2:在EnvironmentVariables后加入:Path=Anaconda根目录\Library\bin......
  • AIGC、AGI、ChatGPT:揭秘人工智能大模型的变革与创新
    随着科技的不断发展,人工智能(AI)已经深入到我们生活的方方面面,从语音助手到自动驾驶汽车,再到智能家居,AI的影子无处不在。而在近年来,AIGC、AGI和ChatGPT等人工智能大模型的出现,更是引领了一场前所未有的技术革命。接下来,我们将一起探索这些人工智能大模型的奥秘。一、AIGC:开启全新的......
  • AI辅助教学,甚至AI教学,逐渐成为可能
    看新闻,有感:太火爆!一门课,两个月吸粉十五万人!企业纷纷布局!千亿级大市场,来了?......