移动设备的统一的推送服务 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://codercto.com/soft/d/5158.html

Java核心技术·卷1:基础知识(原书第9版)

Java核心技术·卷1:基础知识(原书第9版)

(美)Cay S. Horstmann、(美)Gary Cornell / 周立新、陈波、叶乃文、邝劲筠、杜永萍 / 机械工业出版社 / 2013-11-1 / 119.00

Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第9版根据JavaSE7全面更新,同时修正了第8版中的不足,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。 《Java核心技术·卷1:基础知识》共14章。第1章概述了Java语言与其......一起来看看 《Java核心技术·卷1:基础知识(原书第9版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

在线 XML 格式化压缩工具