一个软件项目,谁才是软件开发的主体,是软件UI设计师?还是程序员?

这还用问吗?当然是程序员拉。引用以下alienbat知友的一段评论:对于软件开发而言,码农的工作是必需的。设计师的工作是可选的。 举个例子吧,国内政府,医院,银行所使用的定制软件界面非常丑陋,肯定是程序员做,没有软件UI设计师参与。说明没有软件UI设计师也能进行软件开发,只是界面丑了点。一个软件项目,程序员才是软件产品的生产者,而不是设计师。设计师的作用是什么啊,更多充当的UI界面设计与美化,比较通俗的一点来说,就是光“说”不”做“,而程序员则是”说“到”做“到。

这个世界确实是一个看脸的时代,设计也是不可缺少的,没有好用户界面设计,也就没有好用的软件产品。好的界面固然很重要,但是,从好的用户体验来讲,页面性能应该要优于页面美观,网页做得很美观,但性能差得一塌糊涂,加载一个页面要等十几分钟,用户有耐心去等吗?而且还不能保证用户能够正常浏览。(浏览器兼容问题)因此,程序员在界面设计的时候要站主导地位,提出可行的设计方案。

在中国,大部分的设计师水平不高,有以下几点原因:

第一,懒,不专业。(设计图目录不分层,图层不命名,诸如”xxx 拷贝“。即不切图,也不标注,响应式设计就随便按手机设备的尺寸做个界面就算响应式设计,实在佩服,中间过渡到平板电脑呢)

第二,一味”创新“。(想当然的去设计,该创新的地方不创新,不该创新的地方就创新,不考虑合理性。举个例子,一般对话框是页面居中的,硬要对话框侧一边,不居中对齐)

第三,不懂生产技术。(国外的设计师至少会一些代码,会代码就知道如何软件的交互与过渡)

第四,不懂生产环境。(不懂浏览器兼容问题,同一个页面放在不同浏览器显示效果有所差别)

然而,程序员本身就是个兼职软件UI设计师。如果有一点审美观的话,就知道软件界面如何应该布局合理,根本就不需要软件UI设计师,我在网上看了很多一些个人IT技术博客,界面做的非常精美,网页交互,过渡效果恰到好处。请问,别人是请软件UI设计师设计界面的吗?显然不是。程序员懂设计的原因如下:

第一,按照常识与开发经验。(一般人都知道logo放在头部,不会把logo放在底部,放在底部谁会看啊)

第二,了解生产技术。(知道有什么样的条件,可以实现什么样的效果)

第三,了解软件运行环境。(不用设计师也应该知道软件界面的尺寸设计合理)

所以,没有不懂设计的程序员,只有不愿意去做软件美化的工作程序员。程序员就是天生的软件UI设计师。

程序员是天生的软件UI设计师的更多相关文章

  1. 拾色器,可以取出电脑屏幕的任何颜色,ui以及程序员前端等常用软件,文件很小,300K

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985,转载请说明出处. 今天给大家介绍一个小软件,挺实用的,叫做拾色器. 用途:取出电脑屏幕的任意颜色,当你 ...

  2. 不懂前端的程序员不是好美工——UI框架metronic使用教程——程序员视角

    本着不懂前端的程序员不是好美工的观点,所以作为一个仅懂一点前端的程序员,为了成为一个好美工,所以只能用些取巧的方法伪装一下. metronic一个基于bootstrap的响应式的后台管理平台的UI框架 ...

  3. UI设计师给的px尺寸单位,安卓如何换算成dp?

    很多UI工程师为了适配IOS,常常拿IOS手机作用参考模型,设计出来的UI稿只有PX标注的.他们也不懂Android的dp和sp单位是怎么回事.这个时候我们Android工程师如果不注意怎么转换的话, ...

  4. 极客时间-左耳听风-程序员攻略-UI/UX设计

    程序员练级攻略:UI/UX设计 学习设计新手, 7 steps to become a UI/UX designer 学习设计的一些原则和套路,如配色.平衡.排版.一致性等. 用户体验的 4D 步骤- ...

  5. 「深度剖析」程序员因为奇葩需求暴打pm,然后被双双开除

    想必大家都听说了,这两天关于中国平安一个产品经理因奇葩需求和程序员爆发肢体冲突的事件在朋友圈被刷屏,更有现场打架视频在技术群里疯传. 在这里先带大家简单文字回顾下事情经过,N次打架视频和截图就不给大家 ...

  6. Java程序员的发展前景

    不知道什么时候开始,IT业初级程序员的工作性质与进城打工的"农民工"变得如此惊人的相似.很多IT公司的高管认为"人便宜,就是要用到坏掉,然后再找更便宜.更年轻的" ...

  7. 嫁给程序员的好处,你get到了吗?

    首先,我们要知道,什么是程序员?程序员是做什么的? "程序员(英文Programmer)是从事程序开发.维护的专业人员.一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚, ...

  8. 如何成为高级java程序员

    或许您已经读过我的那篇小文<如何成为java初级程序员>,那里面只介绍了成为一个JAVA程序员应该具备的一些知识.我相信您绝不会只想着做一个初级的程序员,上了软件开发的小船,您肯定有着远大 ...

  9. 深圳尚学堂:Web程序员应该会的知识

    互联网的行业里涌入了很多的程序员, 都在为互联网的发展添砖加瓦.程序员可以分为很多种,像Unix程序员.Windows程序员,或是C++程序员.Delphi程序员,等等.今天我们谈谈Web程序员,一名 ...

随机推荐

  1. 【extjs6学习笔记】1.4 初始:ajax请求django应用

    使用sencha创建应用,默认如下: personnel数据使用的是本地数据 做以下修改,使用ajax 启动时会报404[此次调用是使用nginx部署] django应用app_jiake中,修改vi ...

  2. Nginx服务器301跳转到带www的域名的方法

    为什么要这么做? 我们的域名在做解析时经常会解析2个域名,即带www的和不带www的.这样做的目的是,当用户使用不带www的域名时,也可以正常访问你的网站.但是这样做的后果是,你站点主域名的PR值分散 ...

  3. Ruby菜鸟入门指南

    写这篇文章的初衷源于我的伙伴们在上手Ruby过程中,表现实在是太让人拙计了.由于项目的急功近利,需要迅速入门Ruby并上手项目.所以很多开发者在实际开发过程中,不熟悉Ruby的表达方式,也会沿用其他语 ...

  4. js使用my97插件显示当前时间,且select控制计算时间差

    做页面需要两个时间输入框一个显示当前时间,一个显示之前的时间,并且需要一个select下拉框控制两个时间输入框之间的差,效果如下图: 这里使用的是My97DatePicer,简单方便,引入my97插件 ...

  5. Bezier(贝塞尔曲线)

    CDC::PolyBezierBOOL PolyBezier( const POINT* lpPoints, int nCount ); 和 曲线原理及多段曲线连接处如何光滑连接:第一段曲线要有4个点 ...

  6. last命令

    last——列出目前与过去登入系统的用户信息 命令所在路径:/usr/bin/last 示例1: $ last

  7. UVA 1471 Defense Lines 防线 (LIS变形)

    给一个长度为n的序列,要求删除一个连续子序列,使剩下的序列有一个长度最大的连续递增子序列. 最简单的想法是枚举起点j和终点i,然后数一数,分别向前或向后能延伸的最长长度,记为g(i)和f(i).可以先 ...

  8. Win10激活方法(企业版)

    Win10激活 注意:以管理员身份运行,需要电脑有网(亲测激活企业版没问题) 然后一条一条复制执行 slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 slmgr /sk ...

  9. 基于arcgis api for js高速公路智能化智慧公路养护WebGIS开源系统

    伴随着高速公路建设进程加快,其涉及信息量增大.类型多样.地点分布广,传统的信息管理方式已不适应公路建设迅速发展的需要,而目前能对高速公路在设计.施工.养护等阶段的各类信息综合进行管理的信息系统尚较少见 ...

  10. iOS深拷贝与浅拷贝

    概念 对象拷贝有两种方式:浅复制和深复制.顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针:深复制是直接拷贝整个对象内存到另一块内存中. 如图详解: