线上界面和设计原稿

线上界面和设计原稿的巨大差异

在互联网产品的研发流程中,页面的视觉还原是很重要的一个步骤,也往往是问题最多的一个环节。如果一些细节问题在这个环节没有被有效地发现并解决,那么后续流程中再去解决这些问题的成本就会呈指数上升。

那么今天我们就来梳理一下,看看前端工程师本身以及上下游的角色之间,都会容易遇到哪些常见的问题。

设计师

设计师是最贴近产品体验的人,但是术业有专攻,设计师往往更加注重视觉的表现,而容易犯一些美丽的错误:

1,以原生 APP 的体验类比 H5 页面设计

我们都知道,原生 APP 的体验非常流畅,界面也非常华丽,所以设计侧也尽量向原生 APP 的体验靠拢。但是现实往往很残酷,许多 APP 的体验换到 H5 上实现就惨不忍睹,比如一个包含复杂操作的浮层,在各种低端机上可以说是漏洞百出。所以这里,建议设计师可以多比照其他 H5 网站的表现来进行设计,而不要经常比照 APP 的体验。

2,设计稿都是最完美的状态

是的,设计稿上面往往体现的都是最完美的状态。而前端开发人员往往要考虑各种溢出状态,多个超出、折行、撑开等等。这些情况多数在设计稿上不会体现,往往要到开发过程中再去确认细节,比较浪费时间。

3,活字用了非系统字体

所谓活字,就是直接以文本形式展示在页面上,而不是用图片模拟的文字。对于这部分字体,我们一般会采用系统字体中的一种,不会因为几个特殊字体而去加载一套中文字体文件。如果是英文字体,还可以考虑在高级浏览器下的自定义字体,不过也要考虑优雅降级,以及字体的版权问题。所以老大问:为毛跟设计稿不一样?我们只能说,没这字体啊… 这里建议,即使是设计稿,活字也要用系统字体,否则就是坑啊,看着好看又实现不了。

4,版本不清晰

设计出的稿子,往往是一段时间的规划功能,再去跟产品确认。而产品一般会说,这个先不要,那个先不做。但当真正去掉之后,所有这些间距调整,颜色背景影响等等,还是要再跟设计师确认。所以如果可能的话,应该每次需求只突出变更部分,而不是一个大而全的稿子。

5,这个应该这么切

关于这个问题,已经无力吐槽了,这页面真的不是切出来的。你说这么切那么切,你切个给我看看?分明是撸出来的嘛~

前端开发

前端开发,也有称页面仔,切图仔,在还原设计的过程中,容易遇到的问题就更多了:

1,不考虑溢出

关于溢出这里有个基本的法则,就是只要是动态输出内容,或者有用户输入的,就一定要考虑溢出状态的展示。文字溢出,列表溢出等等。当拿到设计稿时,确认好布局之后,就是各种溢出状态的确认了。

2,不分析设计稿就动手写代码

作为新手拿到设计稿之后,往往都想很快写代码,因为写代码才有快感。殊不知,页面结构的分析就跟程序架构一样重要,分析透彻才能兼顾各种情况以及部分的需求变更,所谓磨刀不误砍柴工,结构分析一定要先做的。

3,不考虑增删元素的状态

稍微大一点的公司,往往是多个需求并行,所以设计稿可能有超前的部分,或者中间由于各种原因实现不了的功能。作为一个合格的前端工程师,在实现页面的时候,就要做到一些可能变动的部分就算删掉也不会对页面造成大面积影响。

4,不考虑可维护性

能自适应的地方尽量用自适应,以便应付需求变更。比如多个楼层,宽度调整,加个icon等等。举个简单例子,比如一个框框中间有个居中的按钮,很多新手是直接用 margin-left 来定位的,这样如果外层框框宽度调整,这个 margin-left 值就得跟着调整。虽说调个宽度也不麻烦,但是当开发大型复杂页面的时候,这些联动的小改动也足够搞死人了。

5,不仔细看设计稿

最常见的错误就是,设计稿上有边框,但是颜色太淡没看到。或者设计稿没边框,由于迭代样式,加了深色背景,忽略了边框没有去掉。还有一种情况就是设计稿上的色块是盖住边线的,但是实现的时候没有盖住,就导致那一部分看起来像凹进去一样。

6,看出 1px 没那么难

很多新人都觉得要对齐 1px 的差距好难,听上也有点吹毛求疵了。但是你想想,假如你是设计师,辛辛苦苦做出来个设计稿,哪哪都对不齐,你不会觉得不爽?其实只要你认真仔细看,再加上一些练习,差几像素几乎一眼就可以看出来。实在不行感觉不确定,可以截图到 PS 里面放大,再用参考线对比。

7,不考虑可扩展性

很多时候我检查页面还原,无非是多加几个项目,多填些文字先试试看,但是很多人这一关都过不了。加了项目,要么就是没有设置多行时候的下边距,要么就是再多一行边框变了,或者结尾的项目又要单独设置样式。加了文字,就直接顶出去毁了结构。

更多UI设计培训相关的文章-- UI初学者必须慎重对待的五个误区

UI设计

时间: 2024-12-18 12:23:39

线上界面和设计原稿的相关文章

线上系统架构设计 之 【数据库篇-主主从】

双主一从架构,从服务器在本地,用于备份和研发测试.两台线上服务器进行数据库相互同步,保证数据一致性,采用xtrabackup备份数据库+脚本每天1点异地备份到从服务器. 一.对线上的一台主服务器数据进行备份,并恢复到另外两台服务器上. innobackupex --defaults-file=/wqdata/mysql/my.cnf --user=bkuser --password='123456' /wqdata/mofidbbak/fullbackup/    备份 scp -P 8022

线上系统架构设计之 【文件系统同步篇】

此项目是一个中小型APP类应用,服务器是运营商分配的两台公网IP的虚拟机,后面无共用存储等设备.由于前端要采用负载均衡技术,为了保证数据一致性和安全性,采用两台服务器网站文件之间实时同步,外加一台远程备份用服务器,共三台.所以选择Rsync+sersync 负责主服务器到远程服务器单向(参考之前文章),UNISON+inotify实现主备服务器之间实时相互同步. 一.安装过程:yum -y install ocaml wget http://www.seas.upenn.edu/~bcpierc

Android ActionBar应用实战,高仿微信主界面的设计

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了.唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很难说.那么不用担心,本篇文章我就将带领大家一起进入ActionBar的应用实战,将理论和实践完美结合到一起. 如果你还没有看过我的前两篇文章,建议先去阅读一下 Andr

我的物联网项目(七)前期线上事故

一 MQTT连接数报警 项目上线一个月左右,投放出去的摇摇车数量大概在200量左右,平均每天在线数(听说有些商家精打细算,有小孩需要坐车了才插电,平时都不插电,还有些干脆一直仍在角落懒的管)也就维持在100左右,当时在阿里云购买的MQTT配置是连接数上限2000(MQTT是按连接数购买的),像目前的摇摇车投放数用当时的配置绰绰有余了,连续一个月以来,都是正常化(现在想来,当初的推广策略不成熟,每天投放的摇摇车数量也是要么一天3,4台,要么连续好几天才推广3,4台),所以问题并没有暴露出来,不过出

运维守护神——数十万线上机器的守护【门神】

随着京东云业务的飞速发展,其需要管理的物理机.虚机以及各类容器已经达到了数十万之巨,在如此数量如此庞大资源机如何管理的课题面前,京东云意识到必须开发自己的高效.安全.稳定的资源机管理系统,为京东云乃至整个京东集团各项业务的发展提供坚实可靠的后盾,"门神"系统在这种情况下应运而生,并在经过多次京东618.11.11等诸多重大活动的检验后,变得愈发成熟稳定. "门神"顾名思义,就是守护整个京东资源机云安全的守护神,是京东云平台自主研发的一套基于服务树角色授权的线上机器运

线上缓存不一致问题排查

缓存不一致问题 背景 会员相关有: 综合系统 :会员的基础CRUD ,旧系统,慢慢废弃,不再维护. 会员系统 :从综合系统里拆分出来的,有基础服务,接口服务,数据同步服务,SSO服务等. 每个服务都是单独的应用. 两个系统共用同一张表,只是维护的字段不一样. email[邮箱]是我们新版本中新支持的功能.综合系统没有 email 字段,会员系统里有 email 字段. 第一次反馈 用户反馈说: 邮箱收不邮件,去设置中看,邮箱设置会自动消失.重新设置一下就好了. 定位问题 一) 排查数据问题 怀疑

推荐两个界面原型设计工具--GUIDesignStudio 和 Mockups For Desktop

前段时间,有幸参加一次高级软件架构师的培训,授课老师介绍了两个很好玩的界面原型设计工具:GUIDesignStudio 和 Mockups For Desktop,现分享一下,截图说明,洗洗眼球,权当娱乐. 以前在做界面原型设计的时候(不多,但有时候要做的),印象中多数用Visio或者一些UML工具来大致描述一下,效果及交互性较差,不知您是否做过这方面的工作,不管有没有,我们来了解下这两个比较有意思的东西吧.GUIDesignStudio 运行后,随便画上几个控件,界面如下: 运行设计好的内容后

轻松排查线上Node内存泄漏问题

I. 三种比较典型的内存泄漏 一. 闭包引用导致的泄漏 这段代码已经在很多讲解内存泄漏的地方引用了,非常经典,所以拿出来作为第一个例子,以下是泄漏代码: 'use strict'; const express = require('express'); const app = express(); //以下是产生泄漏的代码 let theThing = null; let replaceThing = function () { let leak = theThing; let unused =

产品经理必须知道:三大移动平台上的交互设计差异

iOS,Android,WindowsPhone是现在移动互联网上面主流的三个平台了,我也都分别参与过这三个平台的设计.在设计的过程中,因为这三个平台的不同特性,往往要角色切换,不断的换位思维.可能新手和外行人觉得iOS和Android没什么区别,有的甚至拿Android直接照抄iOS设计就可以了.还有一些人可能对WindowsPhone平台一直觉得魔幻无比,但就是找不到应该如何下手.今天我总结了一下这三个平台之间交互设计上的差异性,在开展交互设计的过程中,必须要注意的问题: 一,布局形式的差异