原型工具与代码实现的差距及改进设想

news2024/12/25 13:46:24

背景

        最近经常根据墨刀设计的原型开发微信小程序页面,使用的多了总感觉原型只能参考,原型跟代码实现总差一小步。原型中提供的CSS并不能直接复制到代码中,导致编码人员复刻原型设计时总有差距。本文先列举出一些原型和实现的差距,然后提出原型工具一些改进设想。

        注:个人对墨刀的了解有限,可能观点有误,欢迎大家留言指正。

原型与实现的差距

原型与实现的对比

原型效果图,如下图:

 上图蓝框部分,外层div原型提供的CSS,如下:

left: 10px;
top: 261px;
width: 355px;
height: 215px;
line-height: 20px;
border-radius: 5px;
background-color: rgba(255, 255, 255, 1);
text-align: center;

  代码实现的CSS,如下图:

		.help-box {
			background-color: #fff;
			margin: 24rpx;
			margin-top: -48rpx;
			padding: 48rpx;
			border-radius: 10rpx;
			position: relative;		
		}

 可以看到实现与原型有很多差异。

像素单位

        我是用uniapp来开发小程序,为了自适应屏幕宽度采用rpx做基准单位。原型工具提供CSS我在使用时,复制过来还需要x2再改成rpx,比较繁琐。

绝对定位

        原型工具的div是以left\top来定位的,但编码时一般采用margin外边距来相对定位的。

缺少内边距

        原型工具的矩形内放其他组件时,由于其他组件也是绝对定位的,也仅提供了left\top。但编码时为了方便对齐,会采用内边距padding。

矩形的宽高

        原型工具的矩形提供了宽高,但一般是用不到的,尤其外层矩形(div)。它一般是由内部元素来填充来决定宽高的,本身不需要指定宽高。外层矩形反而需要内边距,但原型工具不能提供,需要编码人员再手工获取一次。

上下边框

        当一个组件需要上边框(border-top)或下边框(border-bottom)时,原型工具往往就是画一条线了事,对编码人员来说没法直接使用,需要自己吸色再设置边框。

组件差异

        编码实现时往往要采用现有的UI组件库(如 Element、uView、Vant等)。调整这些组件库的样式有一定难度和限制,但原型人员在设计时一般不会受这些程序组件库影响,比较灵活,导致编码人员实现起来非常痛苦。

原型工具的改进设想

        原型工具提供的html、css代码,如要要做到真正实用,进而达到实现对原型的一比一复刻。以我个人想法需要做如下改进:

像素单位支持自定义和翻倍

        1px可以改成2rpx。

矩形组件的样式

        可以不设置宽高,允许嵌套由内层组件决定外层矩形的宽高。

        不要使用绝对定位,而要采用内外边距的相对定位。

        支持flex布局。

        支持上下边框等单边框的设置。

支持自定义组件

        目前原型工具已可以自定义组件,但这里主要是组件的CSS自定义。

        如果做到这些,仅靠原型人员恐难胜任,这也可能是目前原型工具没做这些功能的考量。这时需要前端开发人员有限地参与到原型设计中去,尤其是完成自定义组件的CSS部分。因为一个项目中页面风格要求统一的,所以这种组件是有限的且可以复用的。原型上组件复用了,实现上组件才可以复用,进而提高项目开发效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RS232/RS485信号转12路模拟信号 隔离D/A转换器YL34

特点: ● RS-485/232接口,隔离转换成12路标准模拟信号输出 ● 可选型输出4-20mA或0-10V控制其他设备 ● 模拟信号输出精度优于 0.2% ● 可以程控校准模块输出精度 ● 信号输出 / 通讯接口之间隔离耐压3000VDC ● 宽电源供电范围:10 ~ 3…

信息收集的工具简介和常见操作

目录 前言 域名信息 工具 子域名信息 工具 域名DNS解析信息 工具 ip信息 工具 CDN绕过 方法 工具 端口服务信息 常见端口总结 基本概念 扫描工具 指纹识别 识别对象 cms指纹识别 识别思路 工具 其他工具 cdn识别 常用工具 waf识别 触发 工具 Google…

营业利润里首次突破两位数,瑞幸能否延续神话?

近期,瑞幸咖啡公布了Q3财报,三季度继续延续了上半年良好的增长势能。总净收入39亿元,同比增长65.7%,营业利润率首次突破双位数达到了15%。 门店数量增长:Q3新增651家,达到7846家门店。从开店节奏看&#…

RCNN算法思想简单讲解概述————(究极简单的讲述和理解)

学习的过程中发现一个问题,如果不能大概的了解一下一个算法的思想直接去看他的论文,或者去看他算法的讲解就很痛苦,看不懂,学的效率也非常低,类似我之前发的RCNN论文精度的博客。RCNN目标检测算法内容详解(…

FreeIPA 统一身份认证实现

1、FreeIPA 简介 FreeIPA是一个用于Linux/Unix环境开源的身份管理系统,提供集中式帐户管理和身份验证,与Windows Active Directory或LDAP的作用类似。FreeIPA集成了389目录服务器、MIT Kerberos、Apache HTTP服务器、NTP、DNS、Dogtag(证书系统)和SSSD,使其成为标识管理、…

使用Flink的各种技术实现WordCount逻辑

使用Flink的各种技术实现WordCount逻辑 在大数据程序中,WordCount程序实现了统计词频的作用,这个WordCount程序也往往在大数据分析处理中一直占着非常重要的地位。统计一天内某网站的访问次数,需要对网站排序后求其词频,统计一段…

【智能电网随机调度】智能电网的双层模型时间尺度随机优化调度(Matlab代码实现)

目录 1 概述 2 数学模型 3 运行结果 4 结论 5 参考文献 6 Matlab代码实现 1 概述 随着可再生能源发电量的增加,配电网的能源管理正成为一项计算上具有挑战性的任务。来自光伏(PV)装置的太阳能可以在一分钟内发生显着变化。可以命令光伏…

MongoDB安装Mac M1

1、下载安装包: axInstall MongoDB Community Edition on macOS — MongoDB Manualhttps://www.mongodb.com/docs/v6.0/tutorial/install-mongodb-on-os-x/下载解压,重命名为mongodb 放到 /usr/local 目录下 2、配置文件打开配置文件 open -e .bash_p…

java计算机毕业设计ssm某大学校园竞赛管理系统07494(附源码、数据库)

java计算机毕业设计ssm某大学校园竞赛管理系统07494(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&…

阿里云企业用户12月活动:c7/g7/r7系列产品报价出炉

阿里云企业用户12月优惠活动开始了,阿里云超企业用户热销产品,c7/g7/r7系列,4折起,性能优异,助您数智化转型。通过芯片快速路径加速,实现存储、网络性能以及计算稳定性的大幅提升。下方卡片显示价格为企业新…

一文读懂 HTTP/2 特性

HTTP/2 是 HTTP 协议自 1999 年 HTTP 1.1 发布后的首个更新,主要基于 SPDY 协议。由互联网工程任务组(IETF)的 Hypertext Transfer Protocol Bis(httpbis)工作小组进行开发。该组织于2014年12月将HTTP/2标准提议递交至…

Redis专题(六):Redis主从复制、哨兵搭建以及原理

安装redis:Rdis专题目录 搭建步骤 复制 redis.conf文件 > redis-6380.conf 。将上述复制的文件修改如下配置: a. 端口号:port 6380 b. pidfile /var/run/redis_6380.pid #吧pid进程号写入pidfile配置的文件 c. logfile “6380.log” d. d…

JUC系列(七) ForkJion任务拆分与异步回调

📣 📣 📣 📢📢📢 ☀️☀️你好啊!小伙伴,我是小冷。是一个兴趣驱动自学练习两年半的的Java工程师。 📒 一位十分喜欢将知识分享出来的Java博主⭐️⭐️⭐️,擅…

【OPENCV_系列电子PDF图书连载】计算机视觉从入门到精通完整学习路线专栏

OPENCV_PDF图书连载之— 图像的几何变换 一、图像几何变换_a:图像坐标仿射 仿射自定义代码展示: warpAffine.pointsAffine【自定义包】 from img_pakage.ocv import warpAffineimg_path f../img/three_angle.png warpAffine.pointsAffine(img_path,0,0,24,217,…

python数据容器——元组、字符串

目录 一.思考 二.元组 元组定义 元组不可修改 注意事项 三.元组的操作 1.嵌套使用 2. .index方法 3. .count方法 4. len(元组)方法 四.字符串 1.字符串的下标 2.字符串的常用操作 字符串.index(字符串) 查找特定字符串的下标索引值 ​编辑…

1.1 大数据简介-hadoop-最全最完整的保姆级的java大数据学习资料

文章目录1 hadoop-最全最完整的保姆级的java大数据学习资料1.1 大数据简介1.1.1 大数据的定义1.1.2 大数据的特点1.1.3 大数据的应用场景1.1.4 大数据的发展趋势及职业路线1.4.4.1 大数据发展趋势1.4.4.2 大数据职业发展路线1 hadoop-最全最完整的保姆级的java大数据学习资料 大…

同事老是吐槽我的接口性能差,原来真凶就在这里!

V-xin:ruyuanhadeng获得600页原创精品文章汇总PDF 一、前情回顾 上篇文章:《为什么每个程序员都必须坚持写博客?这篇文章教你怎么写!》聊了一下系统架构中,百亿流量级别高并发写入场景下,如何承载这种高并…

Kotlin高仿微信-第37篇-拍照

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

ZPL II 语言编程基础

ZPL II 语言概述 ZPL语言是一种script语言,分为ZPL语言和ZPL II 语言Zebra打印机支持最广泛的一种语言 ZPL II语言支持复杂标签格式,如文字,图片,条形码,序列号打印等等 ZPL II文件可以通过以下两种方式实现 纯文本编…

java字符编码总结

一、字符集(Charcater Set)与字符编码(Encoding) 字符集(Charcater Set 或 Charset):是一个系统支持的所有抽象字符的集合,也就是一系列字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。常见的字符集有…