Social web framework
初步思路,还在思考中。
基本出发点:既然social已经成为绝大多数web application中的基本部件,为什么不把基础的social 特性加入到fraemwork中去? 目前的主流web framework主要出发点还在于对request, response, session, ORM, cache等这些底层部件的封装。在Django中已经包含了django.contribute.auth这样的模块,已经在此基础上的一些apps, 如comment, friends等,但是这些还属于framework的插件或者应用,不是framework本身。
包含什么?
1. 首先是基本的User, 以及在此基础上的基本user profile, 能扩展。 这个基本可以参考django.contribute.auth中的user以及其扩展profile的设计。这里面可以包括基础的和可扩展的用户认证,用户的注册、登陆、密码管理、通过 openid, facebook等登陆等应该都可以包括了,这些轮子被重复发明太多次了。
2. 其次是基本的social networking, 这主要注重于user之间的关系,应该是一个(组)可扩展的list. 例如,应用把一组list定位为”friend”, 另外一组定位为”follower”, 再如”group A”。 如果要实现open 和portability这个部分是一个可以做文章的地方。比如我过去的OPSN idea完全可以作用在这里。
3. 然后是现有的social service的封装,对Facebook apps, Open social, twitter等常用的外部sns的支持应该是这个framework包括的,因为这些东西已经相对比较稳定,使用的方式也比较固定了,没有必要让开发者重新发明(安装) 这些轮子
4. 还应该包括什么?
怎么实现?
这显然是个比较高层的framework不应该和更底层的混为一谈,但是考虑到底层的framework实在轮子很多,而且相当不同,这个高层的framework如果不能抽象出来的话,就不能称之为真正的有意义framework, 只能成为特定framework的library. 不过这个实现就困难了。 比较可能的做法也许应该是首先基于某个成功的framework开发,得到认可后发展到其他。
怎么用?
如果这样的framework存在,web的开发可以更加专注于应用本身,一些常用的东西,比如用户,用户关系,和其他sns的互操作都已经被框架包括了。
其实wordpress本身正越来越像这么个framework, 那些wordpress plugin就是基于wordpress这个framework的应用。 但是wordpress是个blog平台,而不是个通用框架。有一些CMS的设计也颇有这种趋向,但是他们的目标不是通用框架。
Salesforce也有这个framework的特性,那些saleforce.com/appexchange的应用就是基于一个类似的framework, 只需要关注自己的细节。
最接近的存在的东西可能是ning.com的平台,但是ning同样不是打算把这个基础部分贡献给开发者的。
facebook平台、open social container平台有这个framework的影子,但不是一个概念。我设想的是一个开发framework, 会成为用户的应用中默默支撑的一部分,而不是控制你的数据的第三方“开放”平台。
这样的东西似乎也可以成为云计算应用的一个基础框架,其实google app engine里面有user部分,但是只是很浅地碰了碰,没有成为框架的一个重量级部分。不知道为什么google没有把app engine和open social结合起来考虑实现个container框架? 否则就很有些这个意思了。
Related posts:
- What do we really expect from the social network on a mobile device? (1)
- ScoFM (Social Computing Open Framework for Mobile) - Nokia’s MSF (Mobile Social Framework)
- Google Buzz使用随感
- MySpace is for losers?
- Social web framework
- Open Social的一些进展
- 为什么Facebook用户越来越多用处却越来越小?
- Group是个很难做的服务
- 继续个人站点(blog?)狂想
- BBS, Chat room, IM, SNS, Twitter的碎片
Search related in web: