正在加载...

Danger曾用”性感”一词来形容类似ExpressionInstall的AIR安装。我测试了一下,确实非常舒服,从头到尾,只要我有FlashPlayer,就能实现了,一切是那么地自然。要知道ExpressionInstall是Macromedia在Flashplayer的6.0.65中就开始使用了,关于Apollo的”Install Now”是否也能从6.0.65中继承我不得而知,但至少对于FlashPlayer9已经大面积普及的情况下,Apollo要想迅速占有市场,是非常容易的。唯一需要做的努力,就是开发人员、设计人员开发出好的,真正对用户有益并且使用方便的产品。

在这样一个大趋势下,API的意义越来越明显,我个人也开始用ActionScript3玩弄一些简单的API。很巧合今天在这里看到一篇美文《设计”性感”API的十条准则》,结合我自己的理解,重现出来(并非简单翻译),转载请保留出处:http://www.awflasher.com/blog/archives/941

  1. API是接口 – API本身并不实现任何功能,它只是一个接口定义(想想ActionScript中的Interface)。这是API最重要、最明显的特点,也是API的目的所在。无论何种情况,请将这一点牢记于心
  2. API不是代码库 – 一个好的API一定有明确的功能目的。它绝不是一堆函数(function)原型(prototype)的集合
  3. 公开的API能不改变则不改变 – 当这些API对外发布之后,要想改变是非常痛苦的(你必须通知所有的使用者),因此在设计之前,一定要三思,例如方法名、参数类型,返回类型,等等。
  4. API是神秘的 – API应该把所有对外不必知道的信息全部封装起来。例如使用者向我提问:”你是一个天才么?”,我应该回答”我是一个天才”,但不要回答”我为什么是一个天才”。
  5. 关注你的API的使用者 – API真正投入应用才是健康的。要关注那些应用你的API开发各种有趣应用的代码。
  6. 不要迷信文档 – 好的API是一眼就能看明白的,不要指望那些渴望利用你的API做些小应用的开发者会耐心地花几个小时在你的文档上
  7. 文档、存档很重要 – 虽然刚才提到不能依赖与文档,但是作为API本身的开发者,一定要重视,因为你自己必须搞清楚内部的机理,这样便于日后的维护和扩展
  8. 要讲诚信 – 不要为了取悦一部分人而让另一部分人不知情,这是非常可怕的。我们越来越生活在一个开发、自由、透明的时代。有任何问题,就坦诚说出来。
  9. 没必要来什么”惊喜” – 优秀的API一定是”可预见的”,也就是说,开发者在阅读你的API说明时,就已经知道哪些应用可以做,哪些应用不可以做了,不要让开发者开发到一半突然发现有一个新的应用。那不是对开发者的肯定,反而是对这套API的讽刺。
  10. 要快乐 – API的工作是需要付出责任心并且逻辑严谨的。但是千万不要丧失一个最重要的原则:”快乐”!要快乐,要认识到你这套API能给你带来的快乐和成就感!
还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 3 条评论
  1. Neo 2007-06-24 08:09:36

    好像国内还没太好的API

  2. Cat Chen 2007-06-24 08:33:53

    感觉这几条准则比较有“高度”。归纳得很好,但对于初次写API的人来说不一定能领悟得多少,因为太有高度了。

    推荐一本书:Framework Design Guideline,有中文版的,题材是如果你想基于.NET Framework开发自己企业的或者开源用的框架那么应该遵守什么规则。虽然是针对.NET写的,但里面很多准则对于任何一个框架开发人员来说都适用,并且包括了很多的细节建议。

    书的作者包括.NET Framework的Program Manager,并且也引述了很多老资格的Windows API开发人员的话。Windows API那么多个版本过来,受到过那么多开发人员的褒贬,Microsoft已经从中学习了不少,这本书算是这些经验的积累,细节化做得很好。

  3. eidiot 2007-06-25 09:01:28

    捉个小虫子:API应该把所有对外不必知道的信心全部封装起来。(信心->信息)

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍