Uniqush 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Uniqush 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Uniqush 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Google Go
操作系统 Linux
软件类型 开源软件
开源组织
地区 国产
投 递 者 Uniqush
适用人群 未知
收录时间 2012-09-06

软件简介

Uniqush是一个自由和开放源码软件,它提供了一个移动设备的统一的推送服务。

通过服务器端运行 uniqush,你可以到任何受支持的移动平台接受推送通知。

手机推送, Golang, C2DM, APNS, Android, iOS

 

= 功能描述 =

更清晰的配图版功能描述在这里: http://uniqush.org/wiki/UniqushStory

目前的主要智能手机平台(Android, iOS, BlackBerry, Windows Phone)都会提 供针对各自平台的推送服务。简单说来,这种服务的工作方式是:

第三方App服务器有一些消息,需要推送给手机上的App -> 第三方App服务器把消 息发送给特定平台的云服务(推送服务) -> 该云将消息推送到客户手机

这种方式的确简化了第三方服务器的开发,但是如果需要支持多个平台,则需要针 对各自平台做相应调整。Uniqush目前主要工作是在第三方服务器与各自平台的云 服务之间建立起一套统一的接口,这样第三方服务器就可以不用修改,而支持更多 的只能手机推送平台。

注意:uniqush是一个*软件*,而*不是*一个推送服务。换句话说,uniqush的用户 需要在自己的服务器上运行uniqushuniqush.org并不提供任何推送服务(好吧, 这么说似乎有点多余,不过的确有好多人误以为如此)。

= 第三方依赖 =

目前在github上有两个branch,分别针对当前go的release版本和go的weekly版 本。需要依赖的第三方数据库是redis;依赖的第三方库包括redis.go和goconf。

redis.go的正式版本已经无法用最新的go release编译,为此我fork了redis.go这 个项目。代码在http://github.com/monnand/redis.go 上。同样是两个branch, 分别对应go的最新release和weekly版本。大家都知道,最近go的weekly变化很 大,是为了向go1转。所以weekly和master这两个branch也会差别较大。

goconf的官方版可以支持go的最新release(r60.3)。如果用weekly版本的话,需 要gofix再手动改些东西。我手头已经有了修改,但是鉴于goconf目前还比较活 跃,就没再fork出另外一个代码库。

= 代码成熟度 =

这个项目是在今年8月底开始开发,9月份正式实现了现有功能,十一的时候接口做 过一次大调整,之后就是bug fix,用gofix来跟进最新版的go,还有就是提高性能 (加入对象池,缓存等等)。

目前支持android和iOS两个平台的推送。本来打算再加入对windows phone的支 持,但是鉴于手头没搞到设备,只好暂时放弃了。个人认为,代码结构还算说得过 去,所以再加入一个平台的支持不会有啥大改动。

现在还没有做过大规模的测试,但是基本都可以按预期实现相应功能。

基本说来,俺对自己代码还有点信心。

= 项目知名度 =

零,或者约等于零。原因大约是这样的:
- 只是在golang的列表上发过一个ANN,还有就是在几个朋友圈子里内部聊过
- 本来计划11月左右在各个社区里说说这项目,可后来要么是我太忙,要么是看到 了go1的消息,总之,我打算改变计划,等Go1了(但愿Go1不要成为下一个Perl6)
- Go语言变化太快——准确说,是标准库变化,尤其是最近的几个weekly版本,已经 无法单纯用gofix来升级代码了,必须手动修改一些代码。我还是希望等go逐渐稳 定下来,在向其他社区宣传。目前基本就集中在go社区和朋友圈子里。

= 项目未来发展计划 =

- 不断跟着Go的升级而更新代码,直到Go1推出
- 在推出Go1之后,在其他社区内发布消息,并着手开发对windows phone的支持—— 好吧,我忽视了黑莓。但是由于黑莓的推送需要第三方安装SDK,这就让俺犹豫了。
- 目前的uniqush只是实现了我计划中的一半功能,另外一半还在设计中。这个我 们可以之后聊。
- 除了服务器端代码外,还要实现各个手机端的开发库,简化手机App的开发

= 总结 =

好了,如果各位对这个项目感兴趣,欢迎参观代码。注意:github上的代码是最新的。

展开阅读全文

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
101 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部