我真的留下深刻的印象越来越多的软件平台,让外开发商作出贡献的代码,通过一个可插入建筑(插件/extensions).

我一直在研究的平台具有最好的插件的社区的...

优秀的插件架构与繁荣的插件的社区:

然后有平台与较不活跃的插件的社区:

(为了重点,让我们放弃或忽略的平台,使全面的软件应用程序,例如Microsoft的Windows的iPhone,Facebook.)

你会说什么给出了一个软件平台的一个成功的插件架构,有很多插件,而另一个平台,用较小的或者不活动开发的社区?

只是让事情开始,这里是一个局部名单:

  • 该平台做一些广泛有用的:让我们的人浏览的网页,买入和卖出的东西,发布博客和信息板,等等。
  • 该平台开放源(或至少,源代码是可自由使用的).
  • 所有重要的功能平台是完全plugabble通过钩子,并过滤器。
  • 所有的或大部分插拔的功能是很好的证明(或者有一个维基因此开发可以记录它对您)。
  • 有一个论坛或电子邮件列表,其中开发者可以分享的插件,并分享技巧和技巧
  • 有一个论坛或电子邮件列表,其中较不复杂的用户可以获得帮助安装和配置的插件。

什么样的事可以平台的开发做,以创建一个可插入的架构,鼓励很多的外部开发人员来创建的插件?

有帮助吗?

解决方案

个人有3个主要贡献者是否我学会(和)编写的应用程序,用于任何给定的系统:

是的系统非常有用的,因此,我想用它足以足够的动机来扩大它?

是系统使用的一种语言,我很熟悉,或者简单易学,而不是一些模糊或专有或者过于复杂的解决方案(见工作基本是在封闭的情况下进行)?

是的插件系统非常良好的记录清晰的语言,这样我可以去约的工作,我写插件和不花费数小时(或天)破译系统?

如果这些事都是真实的,唯一的原因你不会想要发展为一个平台,其他人已经写插件对于你所有的想法。:)

我认为这也是非常有用的/重要的是要有一个中央和众所周知的储存库的房子用户贡献的插件(根据你的榜样项目)。我讨厌不得不冲刷网络,以找个人,可能是低质量甚至有可能恶意附加的东西我想做的事。这应该是一个网站或wiki因为即使论坛或邮寄名单的档案可能令人厌烦和耗费时间去挖掘通过。

其他提示

你在缺点。

JVM是一个可插入的结构。每类文件插入,它并延伸。

Apache是一个可插入建筑在几个层次。有的"mod".一些功能运行,其他口译人员,这本身是可插入的架构。PHP,mod_wsgi/蟒蛇,等等。都插入Apache.

蟒蛇是一个可插入建筑与蟒蛇。pyc文件和目标文件(.DLL的,.这样的),插入它。

每一种语言的框架--在生效--一个可插入的结构。

该平台是一个基础

一个图软件的平台是作为一个基础,其他软件的依赖,以便执行另一项任务。这可以缝一个简单的和相当明显的陈述,但它是一个很重要的一个。

基础应该是很容易的

一个平台,必须有目的的和平台的开发者应该知道的这个时候设计Api使它变得显而易见的是什么primarry使用情况和Api他们周围应作为straightford尽可能使用相对于他们的方式设计的,但也是相对于doccumentation他们周围。

扩点应该是显而易见的

扩展在一platoform是关于提供开发的机会来扩展或改变的平台。如果这是你想要的东西,以鼓励,那么你需要作出非常明确的性质和限制这一扩展和提供定义明确的接口,以允许这样做。

这可能听起来显而易见的,但是如果你想要一个社会发展周围的一个平台,这个平台必须具有采用和延伸,它应该是一个简单的经验。

对不起,如果这缝一个小小的"建筑astronaught",我不认为我做了一些的有效点,我可以让他们不好,随时要指出这一点或添加到他们

不要忘记 日食 (与 >1000个注册的第3次缔约方"的插件" (事实上他们是由更小的插件在日食术语)).其成功的部分可能来自有良好规则的拇指放在如何设计一个插件,也可延伸的其他人。还有一个严格的API版本控制的政策(这当然有其缺点,也是如此)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top