虹口信息港

当前位置:

互联网产品架构设计译稿网站设计之公道架构

2019/05/14 来源:虹口信息港

导读

1 : 译稿:站设计之公道架构css架构css在当前阅读器普遍支持的条件下,css被我们赋予了的使命。但是依赖css越多,样

1 : 译稿:站设计之公道架构css

架构css

在当前阅读器普遍支持的条件下,css被我们赋予了的使命。但是依赖css越多,样式表文件就会变得越大越复杂。与此同时,文件保护和组织的考验也随之而来。

(曾几什么时候)只要1个css文件就够了所有规则(rule)会聚1堂,增删改都很方便可这类日子早已远去。(现在)建立新站时,必须花点时间好好筹划怎样组织和架构css。

文件的组织

构建css系统的第1步是大纲的拟定。(我认为)css组织计划的重要性堪比站目录结构。(htmlor注:用词夸大1点,让你加深记忆) 没有哪一种方案放之4海而皆准,因此我们会讨论1些基本的组织方案,和它们各自的利弊。

主css文件

通常可使用1个主css文件,来放置所有页面同享的规则。这个文件会包括默许的字体、链接、页眉和其他等样式。有了主css文件以后,我们开始探讨高级组织策略。

方法1:基于原型

基本的策略是基于原型页面(archetype page)分离css文件。假定1个站的首页、子页面和组合页设计不同,就能够采取基于原型的策略。(这类策略下)每一个页面都会有专属的css文件。

在原型数量不多的情况下,这个方法简单明了、行之有效。但是,当页面元素其实不循序渐进的位于各个原型页时,问题就出现了。如果子页面和组合页同享某些元素,而首页却没有,我们应当怎样做呢?

把同享元素放入主css文件。这虽不是纯粹的解决办法,却适用于某些具体情况。可是如果站庞大,(这样做的话)主css文件会迅速膨胀这就背背了分离文件的初衷:避免导入没必要要的大文件。

在组合页和子页面的css文件里各放1份样式代码。(这么做)就意味着要保护冗余代码,很明显我们不想这样。

创建1个新的文件,由这两种页面同享。这听起来不错。不过假设只有10行代码,我们创建这个文件仅仅是为了同享这10行代码?(htmlor注:杀鸡用牛刀?) 这方法很纯洁,但如果站庞大有很多对页面同享很少许元素时(htmlor注:比如30对页面分别同享10行代码),就显得很笨重了。

创建1个单独的css文件,包括所有同享元素的样式。这方法可能比较简单,却要取决于站的大小和同享元素的多少。有种情况会很烦:导入了1个很大的css文件,但页面只用到1小部份样式还是那句话,这背背了分离文件的初衷。

这就是我所说的堆叠的两难(overlap dilemma)。零碎css规则的堆叠不1而足,并没有1个完全清晰无误的方案来组织它们。

方法2:基于页面元素/块

如果站使用服务器端include,这个方法会很不错。举例说明,如果使用页眉include,它会有自己相应的css文件。页脚或其他部分的include可以依样画葫芦,只须导入自己的css文件。这个方法简单干净,不过可能会产生很多小css文件。

举例来说,假定页脚的样式只需要20行css代码,单独创建1个文件就划不来了。而且这个方法会致使每一个页面都包括1堆css文件由于有多少include,就得有多少css文件。

方法3:基于标记

这个方案直观实际,与前1个类似。如果站共有30个页面,其中10个含有form,那么可以创建1个css文件专门处理form的样式,只在这10个页面导入它。如果另外10个页面含有table,就创建1个文件专门处理table样式诸如此类。

另外的组织技能

除用主观的方法组织文件,我们还要斟酌如打印、手持装备和屏幕等多种媒体类型。这虽然已很清楚的定义过,可照旧是建立文件结构时应当斟酌的1个因素。1旦必须支持多种媒体类型,主css文件里的某些规则可能就得重新斟酌。

另外,品牌联合也多是1个重要因素。(htmlor注:如google和nike联手推出的joga) 如果触及品牌联合,你就得斟酌哪些元素应当调剂以适应另外1品牌。比如分别使用不同的css文件等。

还有1个常被疏忽的技能:使用嵌套的@import语句。只包括1连串@import语句,或再加几句css规则,就可以创建1个css文件。用这个方法完全可以创建站的主css文件(用@import导入各部份的样式文件)。假定站的每一个页面都导入了4到5个不同的css文件,无疑你应当推敲使用这个技能。

规则和选择器的组织

谈完了文件组织,接着讨论1下怎样组织文件里的东西吧。很自然,我们希望在文件里畅通无阻的阅读,迅速找到要的选择器(selector)或规则。

冗余 vs. 附属

正如Dave Shea在其文章《冗余 vs. 附属》(Redundancy vs. Dependency)里所说的,你必须不断了解级联(cascade)。你要决定是对选择器编组(意味着附属),还是把它们分离(意味着冗余)。编组可以保持代码简洁扼要,可是会建立附属关系,致使保护开消增加。如果不编组,就会增加文件大小,让类似的选择器保持1致变得困难。只有做好这类权衡、取舍,才能每次都作出正确的决定。

按相互关系/上下文编组

既然文件组织可以是主观的,那么明显,依照规则和选择器与其他部份的相互关系来进行编组是的方法。举例说明,假定你用容器、页眉和页脚来完成布局,就应当把它们编成1组。

这仿佛很简单,其实不然。比如,把页眉中的导航加入css时,是将它跟父元素编组还是独立编组?这类情况下,要视乎规则的上下文。通常,页眉与页面布局相干,应当与其他布局元素1起编组。而导航是页眉的1块,应当和页眉的其他块编组,而不是页眉本身。

使用注释

跟大多数代码类似,注释是组织良好与否的关键。应当根据css的控制范围,清楚的标注每节(section)。确保注释视觉突出,以便在内容转动、1目10行时快速定位。

Doug Bowman在其文章《css组织技能之1:标记》(CSS Organization Tip #1: Flags)里把css注释玩得高明之极。他详细说明了在节名之前加上等号,以便使用文本器的查找功能迅速跳到某节。

别忘了

你应当细致认真的了解了特异性、级联和继承,并善用它们。它们当中的每项都可以是你可怕的敌人,也能够是你友善的朋友。当建立庞大的站时,是不是理解这些细微精巧的地方,决定了你所构建的是固若金汤的系统,还是经不起风雨的豆腐渣工程。(htmlor注:这句完全意译,比较爽)

属性的组织

现在我们了解了文件的组织,也知道了文件内规则的组织,但还有1个重要的组织环节(没有提到),那就是属性(attribute)。虽然属性比前两个概念更简单,可是还有1些非常好的、能够保持规则整洁的方法很值得1提。

按字母排序

提到属性,如果说需要遵守甚么原则的话,那就是:按-字-母-排-序。其实这招对属性阅读帮助不大,不过可以避免属性值覆盖这类偶然事件的产生。

举个例子吧,已数不清有多少次,我为某个选择器定义过了margin值,以后的某天无意间又加了1个(或前或后)。(这类情况下)后1个属性自然会起作用。假定不知道第2个属性存在,不管我怎样调剂第1个属性值、刷新阅读器,也看不到页面变化。(htmlor注:这个问题我深有体会) 如果依照字母顺序排列,你就会发现margin被定义了两次(由于它们挨在1起),这个问题自然可以免。

优先项

当站复杂、牵涉太多css文件时,会建立大量的附属关系。1旦需要定制某个元素独有的样式,!important选项恍如是选择。没错,!important是能解1时之需,但弄清楚致使问题的根源,然后根据级联关系决定是不是真的需要用它。

如果你对上文提到的特异性、级联和继承很熟习,大可没必要抱着!important1颗树不放。(htmlor注:整片森林等着你~) 固然它还是会派上用途,不过使用之前要对具体情况了然于胸。千万不要由于不知问题的关键所在而把!important当作捷径或是补救方案。

小结

当我们变得依赖css而使样式表日渐复杂时,就需要正确的计划来避免出错,并使代码易于保护。既然完善无缺的方案其实不存在,那么了解css的工作方式和文件、选择器和属性的多种组织方案,无疑有助于我们写出的代码,承受住时间考验。

作者:Garrett Dimon

翻译:htmlor

2 : 关注互联产品的设计细节

在当前竞争日趋剧烈的互联市场,很多互联产品在功能乃至性能上都没有太明显的差异,但是起步比较晚的产品却能够在很短的时间内到达和已有1段时间积累和发展的同类互联产品,其缘由1方面多是由于技术上的创新突破,或是推行效果等市场因素带来的良好效益,但是,起步比较晚的互联产品之所以能够超出同类产品,有1个重要的缘由就在于关注互联产品的设计细节。我们常常都在说1句话:细节决定成败,这句话在互联产品的设计和运营中一样也是至理名言,由于1款好的产品不是1下子就直接设计出来,而是需要经过1定的探索和反复斟酌,对互联产品的设计细节进行多角度的思考和布局才能打造出来。举个简单的例子,当前的阅读器不知道有多少种,几近所有的互联巨头都有开发和运营自己的阅读器,但是这其实不是说各大互联巨头的阅读器产品是1款成功的互联产品,是不是能够成功更在于产品本身,需要更关注产品本身的设计细节。

首先,应当延续关注互联产品的设计细节。互联产品的设计细节应当贯穿于全部互联产品的发展进程中,由于随着时间和市场的不断变化,同1个互联产品会产生多种多样的市场需要,也因此会有各种变化,对产品的设计细节也应当随着产生变化。例如,早期的聊天软件只需要满足简单的文本交换,而现在需要满足语音、视频、大文件传输等需要,这也就要求在聊天软件中应当延续关注这些需求的变化,1开始,可能只要能满足文本通讯,关注的细节问题会局限于小数据传输,只要对方能直接看到文字就能够了,但是如果后面发展成为语音视频传输、大文件传输,关注的细节问题可能就需要再斟酌用户接收文件的操作习惯、文件的存储习惯等,因此,互联产品设计细节应当得到延续关注。

其次,互联产品的设计细节应重视用户参与性。每款互联产品都离不开用户,1旦离开了用户就不是产品了。一样地,互联产品的设计细节也应当重视用户的参与性,也就是说互联产品应当从细节上关注用户体验。以下是UC阅读器的卸载进程,从中我们可以发现,1款产品的每个细节都可让用户得到与众不同的用户体验,也只有从产品使用进程中的各个细节让用户参与性良好才能让产品更受用户的喜欢。

另外,互联产品的设计细节应做到事无巨细。很多互联产品在设计和运营进程中都会出现这样或那样的问题和缺点,其中会有1些看起来微不足道的问题,例如,在产品的主界面下方的文字内容有错别字、在弹出对话框中的部份字体魄式不1致、文本描写中出现中英文全半角符号不1致等等,这类问题在很多站或资讯类的互联利用中常常出现,包括我们平常看到的1些中,出现的标点或毛病别字时有产生。对这类产品的细节问题,我们也应当认真对待,虽然在1定程度上不会影响产品的使用,但是还是可能会影响到部份用户的体验,用户看到诸如此类的问题可能会觉得所使用的互联产品不专业,特别是语言类的互联应当,出现错别字、标点符号问题常常会让使用者10分反感。

本文由css教程原创,如有转载请注明出处,谢谢!

3 : 从360清算确认对话框看互联产品人性化设计

不知道大家有无注意到1个例子,电脑上有使用360安全卫士的朋友会发现,清算功能后会弹出1个对话框,在之前是以下图1,而现在是以下图2。

图1

图2

这里,很明显的,只是1个按钮上的文字改变了,那么这样的设计在于哪方面的推敲呢?个人认为这是互联人性化设计的体现,也就是说,把人性化因素融入到互联 产品中。上面的图片,就是把360清算的精灵当作1个人,确认对话框弹出后由用户对其态度从我知道了变成辛苦了,这样让产品给人的体验会更加亲 切。互联人性化设计主要包括以下几个方面。

首先,互联产品设计的人性化。这是指互联产品设计之前的思路和需求分析能够 依照人性化的要求,把互联产品的功能更多地从人本身的角度动身去开发。有个很突出的例子就是杜蕾斯的APP,以下图,该APP能够实现两个相互磨擦的手 机中的1方怀孕,然后宝宝就会出现在对应的屏幕上面,这也正是互联产品人性化设计的1种体现,从杜蕾斯本身的产品去摹拟与人类似的需求,开发出的产 品会更具趣味性,更容易遭到用户的青睐和关注。

其次,互联产品体验进程的人性化。互联产品,包括站等在用户体验进程都是相当重要的环境,如果1个产品能够在用户体验进程中推敲到人性化的因素,就可以 够带给用户不1样的体验。这几年有很多有创意的人都在做这样的事情。有1些典型的例子大家或许都有接触过。比如,需求电子商务站,可以模仿用户的虚拟逛 街,和络游戏中的人在跑动1样,可以完全摹拟出人在逛商城的体验,这就是1种用户体验进程的人性化。固然,络游戏是1个互联产品,也是这样1个例 子。但是由于游戏本身是文娱性的,如果我们能在其他非文娱性的站去设计这样的用户体验进程,那么互联产品也就会像络游戏1样,更容易走向产品成功之 路。

另外,互联产品服务的人性化。1个产品除精心去设计出来,然后提供给用户体验,那末还要1个很重要的环节,那就是产品的服务, 产品服务在电商领域是1个重要的环节,相信大家也知道电商的售后服务有多重要,一样地,1个互联产品的服务也应当人性化。比如,许多站都有在站上放 置客服,但点进去其实其实不是真实的人工,而是采取了人工机器人的方式将才常见问题搜集起来,采取智能匹配的模式与客户进行互动,这正是互联产品 人性化服务的重要体现。

本文由婚宴定制酒 原创,如有转载请注明出处,谢谢!

4 : 51CTO专访杨光:解密9466页设计的技术架构

【编者案】 51CTO 2014 WOT全球软件技术峰会将在2014年7月25⑵6日在北京富力万丽酒店召开。从本周开始,我们将陆续公布会议内容,并针对即将参会的架构师访谈,以便大家进1步了解会议内容。会议详细议程见: 。

本次访谈的对象是北京思拓合众科技有限公司的技术总监杨光。他负责9466智能建站平台。在本次的WOT软件技术峰会中,将分享9466的技术架构相干知识。敬请期待!

【讲师简历】

杨光,2005年毕业于西北京大学学,物理系转软件学院。同年,加入用友软件股份有限公司,从事新1代战略级ERP产品U9研发,国内全面基于SOA架构的大型商用软件。2010年,加入腾讯,就职阅读器团队,负责阅读器后台整体运营系统搭建。2013年加入北京思拓合众科技有限公司和钟胜辉共同打造9466智能建站平台。

以下是访谈实录:

:9466页助手是什么时候上线的?开发的初衷是甚么?应用了哪些新技术?在开发进程中有哪些难点,是怎样克服的?

杨光:9466第1个版本于2013年10月份上线,上线以后,1直处于公测阶段(需要约请码)。我们还在不断打磨产品。

当初开发这个产品,是为了完全解决页及站制作麻烦的问题。由于目前制作1个页或站,需要了解的知识还是很多的,比如:创意、设计、页面制作、素材制作、样式定义、数据读写等等。要生产1个页面,需要各种技能。对小白用户来说,问题更加突出。但这方面的需求却又是大量存在的。所以就有了这个想法,目的是通过9466这个平台,任何人都可以轻松做出漂亮的页。

这个产品,是个非常重前真个产品,技术难度和积累主要也是在前端,比如:响应式设计,按需加载,异步事件等等。由于我们设计器是所见即所得的操作体验,在web上,要模拟类似这类native的操作,设计1个公道的模型非常重要。在这块上,我们花了大量时间,多人协作,探讨。经过几个版本,不断优化,终究在体验和阅读器履行性能上都有了不错表现。

:您认为9466页助手的亮点功能是什么?

杨光:我个人认为9466的亮点功能就是:开放。我们有1个很强大的设计引擎。这个引擎不但是传统意义上的所见即所得的,通过拖拽方式就可以设计的操作界面。强大的地方在于,这个引擎是开放的。通过引擎,可以组装各种组件、利用、模板和风格。只要满足既定的规范,任何第3方都可以开发各种部件嵌入到9466平台。这样,9466平台相当因而个粘合剂,任何有想法和实现的第3方都可以贡献自己的价值,通过平台为其他人服务。

:9466页助手的模板目前有3类,专题模板、企业站、个人站。哪1类的模板比较受欢迎? 新模板的更新情况是什么样?

杨光:目前来看,专题和企业模板,复制的人比较多1点。我们近期会往专题方向上发力,现有功能优化和新功能增加,都会更加契合专题制作的场景。所以近期,专题模板的更新会比较频繁1点。

:就9644页助手的发展前景而言,您是怎样看待的?您认为还有哪些需要改进的地方?

杨光:9466发展前景是无庸置疑,由于只要有web存在,就会有大量的页制作需求,这是刚需,而且没有被满足好,迫切需要有这样1款好用的产品来弥补这个空缺。而且国外几家大的,像wix已上市了,市值7.5亿美元。weebly刚刚取得红衫和腾讯的联合投资。国内还没有1家垄断性质的公司出现,大家还在比赛。

:1个问题,就您本身而言,您比较关注的技术领域是什么?您预测有哪些新技术在2014年会火?

杨光:我关注的比较杂,我也不说2014年哪个技术会火。不过抛开工作来说,我对人工智能是比较感兴趣的。和计算机打交道越久,越觉得计算机相比人类,真是太笨了。对人类1个很简单的问题,让计算机解决,需要1个非常复杂的算法。比如之前在腾讯做阅读器,对抓取回来的页,要分析哪些是核心内容(比如文章正文),哪些是杂质(比如广告)。这样1件事情,对人来说,简单得不能再简单。但是对计算机来说,要能适配所有页,真是太难了。我们也采取了基于视觉的区块分析法,采取和人眼视察相近的逻辑来分析,效果有所提升,但还是不太理想。

总感觉现在,人工智能的发展,太过于依赖计算机了。也就是冯诺依曼计算体系这套东西。没准在这个体系上,根本没有人工智能,只有摹拟智能。神经元络算法已很复杂了,但是能解决的问题还是很有限。

5 : 情感化设计:如何让互联产品释放正能量

上周参加极客公园在广州的活动,主题为人与机器。虽然谈的话题是人机之间的关系,但我却看到许多关于情感化设计的案例。每一个用户都是饱含情感的个体,该如何地满足他们的需求呢?人机交互进程中该如何让人和机器之间构成有效的沟通?毕竟1方是冷冰冰的机器,另外一方却是饱含情感的人!

在电影《卡萨布兰卡》中,有这样1段台词:

世上有那末多的城镇,每个城镇有那末多的酒馆,她却走进了我的。

情感化设计所寻求的目标,不过如此。

情感化设计并不是是1种设计手法。我认为,这是1种围绕产品体验问题而引发出的设计理念。在设计美学中常常会提及人与物的关系。重要1点便是处理人和物的关系,要从人的视角去看待产品。

1个普通的杯子,和其他的杯子没有辨别,但在不同人眼前,却会带来不1样的感触。有人会赞叹杯子的外形设计公道,有人会质疑杯子为何没有手柄,也许还有人会由于杯子的材质而担心是否是容易摔碎人人都是哈姆雷特。

因此,情感化的目的就是当人使用产品时,由此带来的体验成为戳中你内心的温顺1刀,让用户像亨弗莱鲍嘉(Humphrey Bogart)那般喃喃地说:

天哪,她却走进了我的酒馆!

站在人的视角

在互联产品设计中1定会触及到两个词:用户价值和用户体验。许多人都说要打造用户体验,但却不容易解释这究竟是甚么。我认为,要解释用户体验,必须解释用户价值。1个产品,首先是能用,然后是好用,还能带来身心愉悦的感觉。用户价值意味着满足了能用的需求,而用户体验则由后面两个环节决定,带给用户好用和还想用的体验。

情感化设计便是增强用户体验的1种思路。

在极客公园的广州活动中,1位名为 Jo 的年轻人展现了内部在研发的1款硬件产品:对讲机。

这款产品定位是当用户在复杂情况下,可以简单地使用语音对讲功能。也许大家有疑惑,1款对讲机,是否是有重复造轮子的嫌疑?Jo 在接下来的报告中,充分地论述了情感化设计在这款产品上的运用:

开始的设计样式是1支笔,便于携带和随时使用。其中故意思的1个细节是,笔的顶端是1个可以插拔使用的耳机。Jo解释这样的设计是为了方便公然场合进行私密对话。

第2个设计样式更像对讲机,可以吸附在汽车空调扇叶,方便自驾游的用户随时沟通。

第3个设计样式则结合了用户场景斟酌。Jo解释开车进程中,没法辨别对讲机正反面,容易导致驾驶员难操作,也有可能引发开车事故,因此将麦克风从侧面改到了顶端。

第4个设计样式是在之前产品上的优化,按钮需要突出,方便通过触感进行对话,而不需要用眼睛去判断毕竟,开车的时候眼光离开前方1下,也有可能带来危险。

真是让人称赞的设计!Jo在论述设计理念的进程中,关键的点就是从使用处景和用户视角动身假设我是用户,我该怎样使用?这是1种周到而贴心的斟酌,只有从人的视角去看待问题,才会有这样贴心的体验。

从人的视角动身,令人感遭到关怀这便是情感化设计。

人机交互的情感关怀

帕斯卡尔说,人是1株会思考的芦苇;我觉得还可以加1句:人类饱含情感。正由于饱含情感,所以产品情感化设计1定要关注用户使用的情形和情绪。

就好像1本的小说,情感化设计首先需要把用户带入到1种情境中,逐步从马斯洛底层的安全感需求动身,1级1级满足顶层的自我实现需求;然后通过展开剧情,将用户带入到故事中。

空间团队的黄希彤讲了这样1个故事。当用户打开1个站,由于某些缘由看到 404 页面,会是甚么样的心情?如果只是1个写着 404 没法访问的简单页面,谁都会觉得这个页面冷冰冰,乃至是影响心情。但是如果在这样的页面上,加入1些公益元素,让这个本来表示没法访问的页面变得有爱有故事,让人关注公益,传播1种正能量,是否是更佳呢?

把本来冷冰冰的服务器反馈改成充满人情味的公益页面,让人得到情感上的关怀,这也是情感化设计的体现。

情感化的反馈机制

人是需要得到认同和反馈的。目前太多的产品没有从人的视角动身,去满足认同和反馈的情感化需求。

当我悲伤,我需要安慰;当我快乐,我需要分享。每一个人无时无刻不在接触着各种产品。当遭受1款缺少情感化设计的产品,使用中带来各种不便和挫败感时,你有甚么感想?

这类情况应当被改进。Google Doodle 充满趣味,Flickr 重视提供温馨提示, 努力提供盲人使用的版本许多互联公司已让情感化设计深入人心。

1点点情感化的设计改进,影响的是上万乃至上亿的用户体验。我希望越来越多的产品在设计中加入1点人情味,让情感化设计更加流行。这才是真实的正能量,不是吗?

(原文地址:

盆腔炎什么原因引起的
产后感染的危害
治疗白带多的秘方
标签