浅谈关于JavaScript API设计的一些建议和准则

发布时间:2017-03-24 11:13 来源:互联网 当前栏目:电脑编程入门

   这篇文章主要介绍了浅谈关于JavaScript API设计的一些建议和准则,文中列举了许多知名的JS API进行辅助说明,极力推荐!需要的朋友可以参考下

  设计是一个很普遍的概念,一般是可以理解为为即将做的某件事先形成一个计划或框架。 (牛津英语词典)中,设计是一种将艺术,体系,硬件或者更多的东西编织到一块的主线。软件设计,特别是作为软件设计的次类的API设计,也是一样的。但是API设计常常很少关注软件发展,因为为其他程序员写代码的重要性要次于应用UI设计和最终用户体验。

  但是API设计,作为我们自己写的库中提供的公共接口,能够向调用我们代码的开发者表现出我们库的一些特点和功能,所以API设计和UI设计一样重要。事实上,两者都是为应用可以提供更好的用户体验具有基本的方式。应用UI在用户UX中占有很重要的位置,应用API是开发者的UX。因此,应用API设计应该被给予和我们提供给用户的接口相同水平的考虑和关注。正像我们关注UI的功效,简洁性和优美,我们也应该同样的评估API的功效,简洁性和代码的优美性!

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

  API设计: 天使和恶魔的斗争

  javascript API中差的设计会给使用你API的开发者和你带来高的花费。差的设计会导致浪费,使用你API的开发者会因为设法搞弄明白你接口而浪费时间,而API的开发者会因为处理不断增加的需求和解决使用者的困惑而浪费时间。然而几乎所有的API当初被开发的时候,都是为了能够提取相同的功能,方便调用并节约时间。但设计不好的API会使你的库使用者和你产生疑惑,这些库真的能节约时间吗?

  优秀的API设计,一方面,完成了提取的目标,同时也实现了自我描述。当一个API被良好的设计,使用者可以快速地和直观地完成工作,完全不用不停的使用文档或者持续的访问支持或者解答网站。你也可以通过封装一些开发者需要自己花大量时间开发的一些特征来节约库开发者的时间。好的设计不仅节约开发者的时间,可以使他们看起来更加聪明和有责任。同样帮助你的用户看起来聪明和能干也会使你看起来更加的牛逼!

  对于javascript来说,API设计特别重要

  不管什么编程语言或者框架,API设计是重要的,API设计的重要性对于javascript来说是高于其它许多语言的。首先,作为一个动态的和后期绑定的语言,javascript没有编译器可以实现一个安全网或者检测单元功能,所以javascript不可以发现你代码中的错误。Linting 或检验框架 如 JSLint 和JSHint 可以帮助我们。这些框架的功能可以指出javascript中的一些普遍的错误,但是当我们使用API时,他们却不能发现javascript的错误。

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

  “掉进成功的坑里”最好的例子是jQuery 通过CSS选择器语法获取DOM元素的运用。例如,如果我想要获取所有带有类名的article元素,我可以运用jQuery这样做:

  ?

1 $("article.blogPost").fadeIn();

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

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、