移动设备的统一的推送服务 Uniqush

码农软件 · 软件分类 · 手机开发包 · 2019-05-06 16:29:35

软件介绍

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上的代码是最新的。

本文地址:https://www.codercto.com/soft/d/5158.html

Software Engineering for Internet Applications

Software Engineering for Internet Applications

Eve Andersson、Philip Greenspun、Andrew Grumet / The MIT Press / 2006-03-06 / USD 35.00

After completing this self-contained course on server-based Internet applications software, students who start with only the knowledge of how to write and debug a computer program will have learned ho......一起来看看 《Software Engineering for Internet Applications》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具