出色的JavaScriptAPI设计秘诀九九九零

API设计——javascriptAPI设计的内容,呈现了唯一的挑战对所有的开发者,不管是否你正在开发一个公共的库或者一个内部的库。javascript的动态性,库使用者的匿名和需求的模棱两可都给API设计者呈现了一个令人畏惧的挑战。然而对于一个好的API设计是没有捷径的,但是可以从现代流行的一些javascript库中提取出一些设计准则是可能的!

这一切都取决于你,你可以开发一个具有良好设计的API,这个API可以帮助你的用户掉进众所周知的“成功坑”,这就意味着你的库对于开发者来说是舒服的和熟悉的,同时也提供了积极的强化和当开发者和你的代码交互时建立的信心。

选择器article.blogPost和下面展现使用完全一样的语法,这绝不是偶然的!

jQuery的选择器引擎被设计为了使我和其他开发者能够使我对CSS选择器的理解和它的引擎进行交互。结果可想而知,如果jQuery需要我用一种新的,为特定目的形成的语法,我将失去快速,明显和高效。

我们可以获得灵感从这些框架中,如jQuery,或者其他框架,并应用这些灵感到我们的设计中。然而,获得灵感并不是抄袭,有个度的问题,任何设计过API的人如果是仅仅的基于别人的想法,不管好与坏,他都将继承。如果我们将在好的javascript中获得的准则运用到其他领域中,我们能开发拥有好的API的框架,这些API设计能被运用在任何情况下。

虽然软件不具有与绘画或建筑类似的视觉评价标准,我们仍倾向于使用与物理实体一样的形容词来描述软件质量。例如,使用“优雅的”与“漂亮的”来赞美软件并不罕见。如果用与物理实体相似的形容词描述软件接口是合理的话,那么当然也可以使用与之相同的原则来评价软件设计。

对每一个原则,将列出一到多个实例来说明,这些例子表明流行的Javascript库API设计是怎样遵循这些原则的。

在艺术作品中,一致性是一个作品背后不可缺少的观念,或者说设计者如何把一些事物组成连贯的一个整体。协调性,从另一方面来说,是一个作品相似元素的布局,这会在考虑整体时产生一种简洁的感觉。

KendoUI树形组件

KendoUI面板组件

KendoUI对所有组件使用一致的kendoX语法,促进整体的协调。更重要的,这样的设计依赖jQuery对象为DOM元素封装了统一的一层,使设计有利于所有熟悉jQuery开发者。数百万开发者使用类似的“土语”(jQuery语法),KendoUI可以顺利地跨库使用。

统一和协调的目的是让API新手感觉熟悉和舒服。通过虽然功能不同,但是语法相同或相似,使API变得熟悉,大大减轻了开发者使用新工具的负担。

通过使用一个熟悉的概念并且映射到自己的类库,jquery避免了新的选择器语法,同事也创建了一个机制让新用户通过一个可预测的API快速的把类库应用到生产。

接下来的原则是相称性,它是用来衡量一个作品中元素的大小和数量的。与其说一个好的API是一个小的api,相称性是相对于用途的大小。一个相称的API它的API表面和它的能力范围相匹配。

对于一个有针对性的类库,像Moment.js,保持API的专注和简单是非常重要的。对于更大和更广阔的类库,API的大小应当能够反映出类库自身的能力。

初看第一眼,它好像一个习以为常的数据源,感觉超出了库本身的基本目的。然而今天网站的装饰都需要动态数据的支持。数据源的引入允许KendoUI可以使用一个稳定,并舒适的范式在整个库范围内来解决远程数据。

让一个API转变为一个名符其实的javascript垃圾抽屉,对于一个库的扩展这是危险的,但对于库来说,这也不是唯一的危险。掉入一个不让你的API伴随着库的成长圈套,或者由于某些人为原因,限制你库的大小,这些同样都是危险的!

另一个扩展性的例子是Backbone的“extend”的函数,我们已经在本文中看到过:

如果你不是一位JavaScript库的编写者,而是一位JavaScript应用开发者或库的实现者,你可能会认为本文中的原则并不适用于你。毕竟,我们大多数人在听到“API”的时候,往往想到的是第三方库,一如我在本文中的示例一样

事实是,API,如同其定义所言,无非就是一个提供给他人利用的隔离功能的接口。现在,让我用一句老话来强调很重要的一点:编写模块化的JS代码是为了实用,使用的次数并不重要。

正如本文中引用的类库,你可以把自己的javascript代码公开接口给其他人。即使你的代码的用户是一小部分或内部团队——甚至你构建自己的一个私有类库——你不必像一个公开类库的作者那样考虑本文中API设计原则和这些原则的实现。利用API设计的好处是即使只针对一个使用者,也要像对数百万使用者一样设计。

因为API的设计代表着对开发者的用户体验,它就像UI设计对于最终用户的重要性一样。正如我们可以通过学习一些原则和参考一些好的或者坏的例子来开发出优秀的UI一样,我们也可以通过同样的方式学习到更好的API设计。应用文中提到的四个原则,以及其他你自己发现的原则,可以帮助你建立出优秀的API,并且让用户得到良好的体验。

THE END
1.网站设计创意设计创意设计栏目内容涵盖平面设计,网页设计,三维设计,视频处理,设计欣赏,设计理念等,提供系统的设计软件视频教程及图文教程,详细设计实例制作,介绍设计基础,理念,跟踪新设计趋势。https://pcedu.pconline.com.cn/sj/wz/
2.如何培养正确的原型设计思维6种思路原型设计是交互设计师与PD、PM、网站开发工程师沟通的最好工具。而该块的设计在原则上必须是交互设计师的产物,交互设计以用户为中心的理念会贯穿整个产品。利用交互设计师专业的眼光与经验直接导致该产品的可用性。 全局意识 设计任何产品的原型,要从产品的整个全局出发,以全局的考虑问题,那样不会导致因为产品的局部而https://www.jianshu.com/p/110e0605540d
3.StanfordUniversityOne of the world's leading research and teaching institutions. Catalyzing discovery, accelerating solutions, sustaining life on Earth, and preparing students for active citizenship.http://www.stanford.edu/
4.有关项目计划8篇酒店客房将会由主楼楼层提供。而楼层的标准楼面设计为标准客房,大床房,情侣房。在客房装修问题上,先成都主要的几家商务酒店主要选用的是异域风和本地想结合,但随着这两年成都酒店市场的改变和发展,越来越多的客户倾向于欧式风格的酒店!原由 1、 欧式风格的装修给人一种尊贵的感觉 https://www.ruiwen.com/jihua/5941329.html
5.压路机路面施工要点大全,再也不怕记不住了!技能资讯配比设计三阶段,目标生产和验证,用油适当级配佳,拌和把好第一关。 45、热板沥青混合料马歇尔试验的试件击实成型 试件尺寸严掌握,锤落高度应准确;用料数量须验证,击实温度要符合。 46、马歇尔试件标养 试件养护严控温,时间控制不超限;试验快捷操作准,指导施工是关键。 https://news.21-sun.com/detail/2021/10/20211011093044411.shtml
6.使用tinkphp6.1带你一步一步开发一个商城管理系统<会员管理模块>大家好!我是一名九零后中年大叔,搬砖了好几年,前些年用PHP开发,后面因为开发需要就转java了。为了不让自己幸苦自学的php丢掉,趁一些空余时间,写一些教程,分享一下自己的工作经验。 这个教程打算以一个商城的项目为例,我会教大家一步一步完成功能的开发。这个教程会很讲得很细致,主要涉及到架构的设计、开发过程中https://blog.csdn.net/gzmyh/article/details/130827037
7.上海教育南方人物周刊:该听九零后说话了90后的排头兵已经进入大学高年级,即将踏入社会了。这一代青年有特殊的成长背景,他们的青春期赶上互联网广泛参与社会生活,一是提问设计科学缜密。教师根据教学内容和目标要求作好充分的准备,事先设计好所要提的问题,包括何处提问、何时提问、提什么问、如何提问、提问谁、可能http://shjz.cbpt.cnki.net/WKD/WebPublication/wkTextContent.aspx?colType=4&yt=2012&st=31
8.九零设计工作室九零设计工作室致力于打造中国Zui大、Zui专业的室内设计、装修材料、墙体绘画、纯设计、家装顾问企业,拥有庞大的服务网点,九零设计工作室高覆盖、高效率的服务获得多家公司和机构的认可。九零设计工作室将以Zui专业的精神为您提供安全、经济、专业的服务。 联系https://www.11467.com/qiye/20433428.htm
9.九零设计作品集九零设计效果图九零案例解析九零设计师设计作品集,搜集了九零设计师的最新设计作品、设计效果图,并有详细的九零案例解析。更多室内设计师设计作品尽在设计本。https://www.shejiben.com/sjs/1211156/case/
10.如何优雅的给EPLAN项目规划名称腾讯云开发者社区项目名称一般就填入此工程项目的名称就好了,这个大家一般也都不会填其他的。 项目属性 项目属性里大概填写一下就可以,如果可能,尽量填写详细,这样方便后期查阅。 页结构 到项目属性-结构-页结构下,将功能分配、安装地点、文档类型三项打开。 结构标识符管理 https://cloud.tencent.com/developer/article/2162684
11.倒金字塔国家艺术奖」。一九八九年贝聿铭设计卢浮宫地下扩建工程竣工由于它和玻璃金字塔的成就而被膺选入全美群英厅。一九九零年,他和儿子贝礼中因合作设计洛杉矶比利华山庄办公大厦而获得「洛杉矶美化奖」。一九九一年接受了新罕布什州特矛斯学院颁赠的荣誉博士学位。一九九二年获得布什总统颁发的全美十佳公民奖。https://baike.baidu.com/item/%E5%80%92%E9%87%91%E5%AD%97%E5%A1%94/1473770