Bambook开发比赛简记

最近参加了[url=http://bbsdk.sdo.com/]盛大的Bambook开发比赛[/url],记录一下这次比赛的经历。

因为一直是在做web应用,所以我参加比赛的创意自然和web脱离不了关系:开发一个浏览器插件,用户安装好这个插件以后,就能够通过网页管理、分享Bambook上的书籍。

最终完成的作品: [url=http://bambook.cnprog.com/]http://bambook.cnprog.com/[/url]
浏览器插件源码: [url=https://github.com/quake/BambookPlugin]https://github.com/quake/BambookPlugin[/url]
服务器端源码: [url=https://github.com/quake/bambook]https://github.com/quake/bambook[/url]


在开发过程中遇到了几个问题:
1. 跨平台,跨浏览器的兼容性问题,我设想这个插件要能够支持IE,Firefox, Chrome,而且还能够支持Linux下的Firefox,MacOS下的Safari。经过一番对比,最终选择了[url=http://www.firebreath.org/]Firebreath[/url]这个跨平台支持的浏览器插件体系架构进行开发。它在NPAPI和ActiveX上做了封装,然后用模板生成编译脚本和平台独有代码解决了不同操作系统下的编译问题。

2. 服务器端当然选择了我熟悉的Ruby On Rails,最终统计了一下代码行数,完成上传,下载,分享功能只用了50行左右的ruby代码就搞定了。对于这种web项目,RoR的生产力还是一如既往地给力。

3. 因为不会做UI,所以找了一个现成的web css framework,然后写了300行左右的js来和浏览器交互,所有的操作都是基于ajax。和其他一些界面很好的作品比起来,我这个作品只能寄希望在创意上取胜了。

4. Bambook PC端API其实挺难用的,特别是现在流行采用开放协议基础上做的api,而Bambook却采用了私有协议做API,这样不仅导致SDK也要出各种版本(Windows, Ubuntu, Macos),而且开发人员受限颇多。如果能够直接将Bambook变成一个Http Server,然后将书籍做为Restful Resource,这样Bambook的PC端和机器端api都可以统一。


最后是广告时间:如果你有Bambook,请下载我的作品,给我打个分吧: [url=http://bbsdk.sdo.com/opus_detail.do?sid=ff68269aab1b673622afa33107877dee]http://bbsdk.sdo.com/opus_detail.do?sid=ff68269aab1b673622afa33107877dee[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值