基于Flask的Web应用程序插件式结构开发

功能区
 taochengwei   开发  flask  插件   2017-06-25 17:29   百度主动推送失败
正文区

        事实上,很多应用程序基于插件式结构开发,可以很方便了扩展软件的功能,并且这些功能完全可以依托于第三方开发者,只要提供好接口和完备文档,比如wordpress、谷歌火狐浏览器等。

Python这样的动态语言天生就支持插件式编程。与C++相比,Python已经定义好模块的接口,想要载入一个插件,一个__import__()就能很轻松地搞定。不需要特定的底层知识。而且与C++等静态语言相比,Python的插件式结构更显灵活。因为插件载入后,可以利用Python语言的动态性,充分地修改核心的逻辑。

——摘录于“如何设计插件式结构的程序,兼谈Python语言的动态性”

        个人在开发个人博客站中,由于为了更“高大上的效果”,参考了一些文章和wordpress插件代码改造成了简单的插件式,把一些内置的“功能点”改造成为了插件包,文档,文档,额。。。。。。

        本站源码——EauDouce当前采用了这种结构,目前插件包列表如下:

CodeHighlighting          代码高亮插件
BaiduIncludedCheck        检查百度是否收录某URL的插件
Reward                    仿百度打赏的博客打赏组件
jwt                       Json Web Token Plugin for User Authentication.
BaiduStatistics           百度统计插件
BaiduShare                百度社会化分享插件
BaiduAutoPush             百度自动推送插件
AccessCount               IP、PV、UV统计插件

        欢迎感兴趣的开发者fork代码提交pull request,或者发送我邮件(先凑合),将插件打包发到staugur@saintic.com

        EauDouce插件文档:https://github.com/staugur/EauDouce/blob/master/docs/plugin.md

        ------------------------------------------完美分割线-------------------------------------

        Web应用程序插件式结构,能查到的资料,我貌似没google到,便整理整理分享出来,托管到GitHub上:https://github.com/staugur/Flask-Plugin-Development-Kit

        实现还是很粗陋,文档有时间整理下,有需要的朋友欢迎fork、star,有bug请提issue。

        参考:http://hgoldfish.com/blogs/article/81/