当前位置: 首页 > news >正文

网络营销网站推广方案编程网站开发

网络营销网站推广方案,编程网站开发,世界著名设计公司,c# 开发网站开发简介#xff1a; 云栖大会云上 Hello World 活动火热进行中#xff01;每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书#xff01; 一场脑洞实验 云栖大会云上 Hello World 活动火热进行中#xff01;每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证…简介 云栖大会云上 Hello World 活动火热进行中每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书 一场脑洞实验 云栖大会云上 Hello World 活动火热进行中每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书 作为阿里经济体前端委员会的四大技术方向之一前端智能化方向一被提及就不免有人好奇前端结合机器学习能做些什么怎么做未来会不会对前端产生很大的冲击等等。本文以「设计稿自动生成代码」场景为例细述我们的思考及过程实践。 前端智能化与云 IDE 的结合通过后者打通的各种服务与接口再加上设计稿生成代码的能力可以进一步地提升前端开发者的开发体验由原来的设计稿生成代码转变为生成可随时可部署的应用/页面因此本文最后会介绍如何在阿里云云开发平台使用 imgcook 插件一键完成设计稿稿生成应用开启您的智能开发之旅。 前端智能化背景 业界机器学习之势如火如荼「AI 是未来的共识」频频出现在各大媒体上。李开复老师也在《AI · 未来》指出将近 50 的人类工作将在 15 年内被人工智能所取代尤其是简单的、重复性的工作。并且白领比蓝领的工作更容易被取代因为蓝领的工作可能还需要机器人和软硬件相关技术都突破才能被取代而白领工作一般只需要软件技术突破就可以被取代那我们前端这个“白领”工作会不会被取代什么时候能被取代多少 回看 2010 年软件几乎吞噬了所有行业带来近几年软件行业的繁荣而到了 2019 年软件开发行业本身却又在被 AI 所吞噬。你看DBA 领域出现了 Question-to-SQL针对某个领域只要问问题就可以生成 SQL 语句基于机器学习的源码分析工具 TabNine 可以辅助代码生成设计师行业也出了 P5 Banner 智能设计师“鹿班”测试领域的智能化结合也精彩纷呈。那前端领域呢 那就不得不提一个我们再熟悉不过的场景了它就是设计稿自动生成代码Design2Code以下简称 D2C阿里经济体前端委员会 - 前端智能化方向当前阶段就是聚焦在如何让 AI 助力前端这个职能角色提效升级杜绝简单重复性工作让前端工程师专注更有挑战性的工作内容 imgcook 是什么 imgcook 使用 Sketch、PSD、静态图片等形式作为输入通过智能化技术一键生成可维护的前端代码包含视图代码、数据字段绑定、组件代码、部分业务逻辑代码等。 它期望能够利用智能化手段让自己成为一位前端工程师在对设计稿轻约束的前提下实现高度还原释放前端生产力助力前端与设计师高效协作让工程师们专注于更具挑战性的工作 设计稿生成代码的目标是让 AI 助力前端这个职能角色提效升级杜绝简单重复性工作内容。那我们先来分析下“常规”前端尤其是面向 C 端业务的同学一般的工作流程日常工作内容大致如下 “常规”前端一般的开发工作量主要集中在视图代码、逻辑代码和数据联调这几大块接下来我们逐块拆解分析。 1. 问题定义 视图代码研发一般是根据视觉稿编写 HTML 和 CSS 代码。如何提效当面对 UI 视图开发重复性的工作时自然想到组件化、模块化等封装复用物料的解决方案基于此解决方案会有各种 UI 库的沉淀甚至是可视化拼装搭建的更高阶的产品化封装但复用的物料不能解决所有场景问题。个性化业务、个性化视图遍地开花直面问题本身直接生成可用的 HTML 和 CSS 代码是否可行 这是业界一直在不断尝试的命题通过设计工具的开发插件可以导出图层的基本信息但这里的主要难点还是对设计稿的要求高、生成代码可维护性差这是核心问题我们来继续拆解。 1设计稿要求高 对设计稿的要求高会导致设计师的成本加大相当于前端的工作量转嫁给了设计师导致推广难度会非常大。 一种可行的办法是采用 CVComputerVision, 计算机视觉 结合导出图层信息的方式以去除设计稿的约束当然对设计稿的要求最好是直接导出一张图片那样对设计师没有任何要求也是我们梦寐以求的方案我们也一直在尝试从静态图片中分离出各个适合的图层但目前在生产环境可用度不够小目标识别精准度问题、复杂背景提取问题仍待解决毕竟设计稿自带的元信息比一张图片提取处理的元信息要更多更精准。 2代码可维护性 生成的代码结构一般都会面临可维护性方面的挑战 合理布局嵌套包括绝对定位转相对定位、冗余节点删除、合理分组、循环判断等方面元素自适应元素本身扩展性、元素间对齐关系、元素最大宽高容错性语义化类名的多级语义化样式 CSS 表达背景色、圆角、线条等能用 CV 等方式分析提取样式尽可能用 CSS 表达样式代替使用图片。 将这些问题拆解后分门别类专项解决解决起来看似没完没了但好在目前发现的大类问题基本解决。 很多人质疑道这部分能力的实现看起来和智能化一点关系都没有顶多算个布局算法相关的专家规则系统。没错现阶段这部分比较适合规则系统对用户而言布局算法需要接近 100% 的可用度另外这里涉及的大部分是无数属性值组合问题当前用规则更可控。如果非要使用模型那这个可被定义为多分类问题。同时任何深度学习模型的应用都是需要先有清晰的问题定义过程把问题规则定义清楚本就是必备过程。 但在规则解决起来麻烦的情况下可以使用模型来辅助解决。比如 合理分组如下图 和 循环项 的判断实践中我们发现在各种情况下还是误判不断算法规则难以枚举这里需要跨元素间的上下文语义识别这也是接下来正在用模型解决的重点问题。 2. 技术方案 基于上述的概述和问题分解后我们对现有的 D2C 智能化技术体系做了能力概述分层主要分为以下三部分 识别能力即对设计稿的识别能力智能从设计稿分析出包含的图层、基础组件、业务组件、布局、语义化、数据字段、业务逻辑等多维度的信息如果智能识别不准就可视化人工干预补充纠正一方面是为了可视化低成本干预生成高可用代码另一方面这些干预后的数据就是标注样本反哺提升智能识别的准确率表达能力主要做数据输出以及对工程部分接入a通过 DSL 适配将标准的结构化描述做 Schema2Codeb通过 IDE 插件能力做工程接入 算法工程为了更好的支撑 D2C 需要的智能化能力将高频能力服务化主要包含数据生成处理、模型服务部分 样本生成主要处理各渠道来源样本数据并生成样本模型服务主要提供模型 API 封装服务以及数据回流。前端智能化 D2C 能力概要分层 在整个方案里我们用同一套数据协议规范D2C Schema来连接各层的能力确保其中的识别能够映射到具体对应的字段上在表达阶段也能正确地通过出码引擎等方案生成代码。 1智能识别技术分层 在整个 D2C 项目中最核心的是上述识别能力部分的机器智能识别部分这层的具体再分解如下 物料识别层主要通过图像识别能力识别图像中的物料模块识别、原子模块识别、基础组件识别、业务组件识别图层处理层主要将设计稿或者图像中图层进行分离处理并结合上一层的识别结果整理好图层元信息图层再加工层对图层处理层的图层数据做进一步的规范化处理布局算法层转换二维中的绝对定位图层布局为相对定位和 Flex 布局语义化层通过图层的多维特征对图层在生成代码端做语义化表达字段绑定层对图层里的静态数据结合数据接口做接口动态数据字段绑定映射业务逻辑层对已配置的业务逻辑通过业务逻辑识别和表达器来生成业务逻辑代码协议出码引擎层最后输出经过各层智能化处理好的代码协议经过表达能力协议转代码的引擎输出各种 DSL 代码。D2C 识别能力技术分层 2技术痛点 当然这其中的识别不全面、识别准确度不高一直是 D2C 老生常谈的话题也是 imgcook 的核心技术痛点。我们尝试从这几个角度来分析引起这个问题的因素 识别问题定义不准确问题定义不准确是影响模型识别不准的首要因素很多人认为样本和模型是主要因素但在这之前可能一开始对问题的定义就出现了问题我们需要判断我们的识别诉求模型是否合适做如果合适那该怎么定义清楚这里面的规则等高质量的数据集样本缺乏我们在识别层的各个机器智能识别能力需要依赖不同的样本那我们的样本能覆盖多少前端开发场景各个场景的样本数据质量怎么样数据标准是否统一特征工程处理是否统一样本是否存在二义性互通性如何这是我们当下所面临的问题模型召回低、存在误判我们往往会在样本里堆积许多不同场景下不同种类的样本作为训练期望通过一个模型来解决所有的识别问题但这却往往会让模型的部分分类召回率低对于一些有二义性的分类也会存在误判。 【问题定义】 深度学习里的计算机视觉类模型目前比较适合解决的是分类问题和目标检测问题我们判断一个识别问题是否该使用深度模型的前提是——我们自己是否能够判断和理解这类问题是否有二义性等如果人也无法准确地判断那么这个识别问题可能就不太合适。 假如判断适合用深度学习的分类来做那就需要继续定义清楚所有的分类这些分类之间需要严谨、有排他性、可完整枚举。比如在做图片的语义化这个命题的时候一般图片的 ClassName 通用常规命名有哪些举个例子其分析过程如下 第一步尽可能多地找出相关的设计稿一个个枚举里面的图片类型第二步对图片类型进行合理归纳归类这是最容易有争论的地方定义不好有二义性会导致最有模型准确度问题第三步分析每类图片的特征这些特征是否典型是否是最核心的特征点因为关系到后续模型的推理泛化能力第四步每类图片的数据样本来源是否有没有的话能否自动造如果数据样本无法有那就不适合用模型可以改用算法规则等方式替代先看效果。 D2C 项目中很多这样的问题问题本身的定义需要非常精准并且需要有科学的参考依据这一点本身就比较难因为没有可借鉴的先例只能先用已知的经验先试用用户测试有问题后再修正这是一个需要持续迭代持续完善的痛点。 【样本质量】 针对样本问题我们需要对这部分数据集建立标准规范分场景构建多维度的数据集将收集的数据做统一的处理和提供并以此期望能建立一套规范的数据体系。 在这套体系中我们使用统一的样本数据存储格式提供统一的针对不同问题分类、目标检测的样本评估工具来评估各项数据集的质量针对部分特定模型可采取效果较好的特征工程归一化、边缘放大等来处理同类问题的样本也期望能在后续不同的模型里能够流通作比较来评估不同模型的准确度和效率。 数据样本工程体系 【模型】 针对模型的召回和误判问题我们尝试收敛场景来提高准确度。往往不同场景下的样本会存在一些特征上的相似点或者影响部分分类局部关键特征点导致产生误判、召回低我们期望能够通过收敛场景来做模式化的识别提高模型准确度。 我们把场景收敛到如下三个场景无线 C 端营销频道场景、小程序场景以及 PC 中后台场景。这里面几个场景的设计模式都有自己的特色针对各个场景来设计垂直的识别模型可以高效地提高单一场景的识别准确度。 D2C 场景 3思考与解法 总的来说既然使用了深度模型有一个比较现实的问题是模型的泛化能力不够识别的准确率必然不能 100% 让用户满意除了能够在后续不断地补充这批识别不到的样本数据外在这之前我们能做什么 在 D2C 的整个还原链路里对于识别模型我们还遵守一个方法论即设计一套协议或者规则能通过其他方式来兜底深度模型的识别效果保障在模型识别不准确的情况下用户仍可完成诉求手动约定 规则策略 机器学习 深度模型。举个例子比如需要识别设计稿里的一个循环体 初期我们可以在设计稿里手动约定循环体的协议来达成根据图层的上下文信息可做一些规则的判断来判断是否是循环体利用机器学习的图层特征可尝试做规则策略的更上游的策略优化生成循环体的一些正负样本来通过深度模型进行学习。 其中手动约定的设计稿协议解析优先级最高这样也能确保后续的流程不受阻塞和错误识别的干扰。 imgcook x 云开发平台 了解前端智能化和 imgcook 大致思路之后那么为什么会选择在云开发平台上集成 imgcook 呢那就是 imgcook 和云开发平台通过彼此的打通将能够为双方解决彼此的痛点无论是为云上开发者还是 imgcook 开发者都提供了全新的用户体验。 对于 imgcook 开发者来说其中一个痛点就来自于对于设计稿的管理以及前后端交互的逻辑然而通过云开发平台开发者不再需要在本地安装 Sketch通过云开发平台直接上传设计稿即可开始生成代码真正做到了0成本一键生成。 另外云开发平台上直接提供了Midway Serverless 框架我们通过云开发平台的插件定制化可以让开发者直接选择某个页面所使用的函数Function这样就节省掉编写一些前后端交互的基础逻辑或请求代码。 对于云开发平台的开发者来说最想得到的便是极速的上线体验和更加便捷的开发体验imgcook 可以降低云开发平台的使用门槛比如一位 FaaS 应用工程师不再需要学习如何切图如何写 CSS而只需要编写 FaaS 函数的逻辑即可剩下的前端逻辑代码都可以通过 imgcook 插件在开发平台内即可完成这是多么棒的体验啊 那么接下来就看看如何快速地从0到1生成代码吧。 首先需要先打开云开发平台创建应用选择 imgcook 创建应用 然后在应用的 WebIDE 中通过右键打开 imgcook 云插件就可以正式开始使用了。 第一步在插件中选择“导入”打开上传设计稿界面 第二步imgcook 可视化编辑器 第三步生成代码 第四步导出代码到应用 第五步上线应用 $ npm install $ npm run dev 正在启动请稍后... --------------------------------------- 开发服务器已成功启动 请打开 http://*****-3000.xide.aliyun.com/ --------------------------------------- 感谢使用 Midway Serverless欢迎 Star! https://github.com/midwayjs/midway --------------------------------------- 启动成功后通过命令行的地址打开页面效果如下是不是很简单呢 总结 本文通过介绍前端智能化的背景imgcook 的问题定义以及技术方案以及如何在云开发平台上使用 imgcook 开始智能开发总的来说还是希望让业内的前端工程师们从使用 imgcook 开始将日常工作中的一些繁琐、耗时的工作交给 AI 来完成这样能关注工程师本身更感兴趣也更有价值的事情也相信不久的将来前端工程师将借助于 AI 能更加快乐与从容地工作 原文链接 本文为阿里云原创内容未经允许不得转载。
http://www.yutouwan.com/news/102858/

相关文章:

  • 网站域名和服务器到期wordpress手机网站怎么做
  • 应用中心下载seo优化要做什么
  • 网站源码 下载杭州网络推广运营公司
  • 计算机网络技术网站建设方向工业设计是干什么的
  • 广州 海珠 建网站企业信息公示信息
  • 娱乐网站开发spspwkh5免费制作平台无水印
  • 正能量视频不打马赛克网站seo优化方案设计
  • 百度建站多少钱wordpress 文章编辑器
  • 网站运营要会什么技术字体网站
  • 怎么在网站标题做logo鸿运通网站建设怎么样
  • 苏州吴江保洁公司c盘优化大师
  • 长沙手机网站建设公司排名wordpress 主题语言
  • 镜子厂家东莞网站建设寻花问柳专注做一家男人最爱的网站
  • 网站建设 意见征集外贸网站个人简介
  • 网站在只有域名了无锡装修网站
  • 游戏开发网站开发网站wordpress错误
  • 网站美工做图推荐wordpress 禁用更新
  • 做网站那个服务器好网站建设后期服务协议
  • 双流建设局网站想换掉做网站的公司
  • seo 整站优化沈阳做网站好的
  • 做微博网站好不好传智播客网页平面设计
  • 文山网站建设联系电话wordpress无法将上传的文件移动至
  • 网站建设新的技术手机端怎么变成电脑端
  • 上海网络做网站公司网页搜索屏蔽广告
  • 网站标签名词php源码项目 门户网站开发
  • 网站的备案号在哪内乡微网站建设
  • 网站没有问题但是一直做不上首页wordpress响应式主题设计
  • icp备案需要先建设网站么新建网站百度怎么收录
  • 佛山新网站建设案例贵州互联网公司
  • 用ps做租房网站里的图标大小门户模板