本来说早点发这邮件,但是一直在忙别的,就没来及。看过我之前的邮件的人,想
必已经知道这个项目了,这个thread重点讨论一下uniqush这个软件。我还会再发
一个thread,分享一下我用go语言的心得。
= 概述 =
- 名称:uniqush
- 主页:http://uniqush.org
- 代码:http://github.com/monnand/uniqush
- 许可证:Apache License 2.0
- 标签:手机推送, Golang, C2DM, APNS, Android, iOS
= 功能描述 =
更清晰的配图版功能描述在这里: http://uniqush.org/wiki/UniqushStory
目前的主要智能手机平台(Android, iOS, BlackBerry, Windows Phone)都会提
供针对各自平台的推送服务。简单说来,这种服务的工作方式是:
第三方App服务器有一些消息,需要推送给手机上的App -> 第三方App服务器把消
息发送给特定平台的云服务(推送服务) -> 该云将消息推送到客户手机
这种方式的确简化了第三方服务器的开发,但是如果需要支持多个平台,则需要针
对各自平台做相应调整。Uniqush目前主要工作是在第三方服务器与各自平台的云
服务之间建立起一套统一的接口,这样第三方服务器就可以不用修改,而支持更多
的只能手机推送平台。
注意:uniqush是一个*软件*,而*不是*一个推送服务。换句话说,uniqush的用户
需要在自己的服务器上运行uniqush。uniqush.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上的代码是最新的。
欢迎各种意见建议板砖西红柿鸡蛋。
本Thread旨在讨论针对uniqush的问题。关于我个人对于Go开发的心得体会感想意
见,我会再发一个thread。希望大伙别OT。
Regards,
-Monnand
--
来自: Golang China 中文Go语言技术邮件列表
发言: golang...@googlegroups.com
在线: http://groups.google.com/group/golang-china?hl=zh-CN
- ���ڳ���������ֻ�ƽ̨����Android, iOS, BlackBerry, Windows Phone������
�����ṩһ���Ʒ���ר����������Ϣ����˵��GoogleΪandroidά����һ����
��C2DM�ķ���Cloud to Device Messaging����ƻ��Ķ�Ӧ�����APNS��Apple
Push Notification Service���������������Ҫ���ģ��Ǹ�ݿͻ��˵�ƽ̨��
���ӵ���Ӧ���ƣ��ٷ�����Ϣ��uniqush���ڸ����ƺ͵�������������м䣬��
����һ��ͳһ�ӿ�
- ���ڳ����ӣ��Ժ���ܻ�֧�֡�������Ϊ��������������ߣ�Ӧ�����ȿ���ʹ
�ö�Ӧƽ̨�����ͷ���ԭ��
* ���ٿͻ����ܺģ��ͻ��˲���Ϊÿ����Ҫ���͵�appά��һ����̨���
* �ɿ�����ȫ������Ӧ����ˣ�
* �ӿ�ͳһ
���幦�ܲμ� http://uniqush.org/wiki/UniqushStory
Regards,
-Monnand
>
> 2011/12/26 mon...@gmail.com <mailto:mon...@gmail.com>
> <mon...@gmail.com <mailto:mon...@gmail.com>>
>
> Hi all��
>
> ����˵��㷢���ʼ�������һֱ��æ��ģ���û������ ������֮ǰ���ʼ���
> �ˣ��� ���Ѿ�֪�������Ŀ�ˣ� ���thread�ص�����һ��uniqush�����
> ���� �һ����ٷ� һ��thread������һ������go���Ե��ĵá�
>
> = ���� =
> - ��ƣ�uniqush
> - ��ҳ��http://uniqush.org
> - ���룺http://github.com/monnand/ uniqush
> <http://github.com/monnand/uniqush>
> - ���֤��Apache License 2.0
> - ��ǩ���ֻ�����, Golang, C2DM, APNS, Android, iOS
>
> = �������� =
>
> ���������ͼ�湦����������� http://uniqush.org/wiki/ UniqushStory
> <http://uniqush.org/wiki/UniqushStory>
>
> Ŀǰ����Ҫ�����ֻ�ƽ̨��Android, iOS, BlackBerry, Windows Phone����
> ���� ����Ը���ƽ̨�����ͷ���˵�������ַ���Ĺ�����ʽ�ǣ�
>
> ����App��������һЩ��Ϣ����Ҫ�����ֻ��ϵ�App -> ����App������
> ���� Ϣ�����ض�ƽ̨���Ʒ������ͷ��� -> ���ƽ���Ϣ���͵��ͻ��ֻ�
>
> ���ַ�ʽ��ȷ���˵���������Ŀ����� ���������Ҫ֧�ֶ��ƽ̨����
> ��Ҫ�� �Ը���ƽ̨����Ӧ���� UniqushĿǰ��Ҫ�������ڵ����������
> ����ƽ̨���� ����֮�佨����һ��ͳһ�Ľӿڣ� �������������Ϳ��Բ�
> ���ģ���֧�ָ�� ��ֻ���ֻ�����ƽ̨��
>
> ע�⣺uniqush��һ��*���*����*����*һ�����ͷ��� ���仰˵��uniqush
> ���û� ��Ҫ���Լ��ķ�����������uniqush��uniqush. org
> <http://uniqush.org>�����ṩ�κ����ͷ��ðɣ� ��ô˵�ƺ��е��
> �࣬�����ȷ�кö�������Ϊ��ˣ���
>
> = �������� =
>
> Ŀǰ��github��������branch�� �ֱ���Ե�ǰgo��release�汾��go��weekly
> �� ������Ҫ�����ĵ�����ݿ���redis�� �����ĵ�������redis.go��
> goconf��
>
> redis.go����ʽ�汾�Ѿ��������µ�go release���룬Ϊ����fork��
> redis.go�� ����Ŀ��������http://github.com/ monnand/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��
> ֧ �֣����Ǽ�����ͷû�㵽�豸��ֻ����ʱ�����ˡ�������Ϊ�� ����ṹ��
> ��˵�ù� ȥ�������ټ���һ��ƽ̨��֧�ֲ�����ɶ��Ķ���
>
> ���ڻ�û��������ģ�IJ��ԣ� ���ǻ�����Ԥ��ʵ����Ӧ���ܡ�
>
> ��˵���������Լ����뻹�е����ġ�
>
> = ��Ŀ֪��� =
>
> �㣬����Լ�����㡣ԭ���Լ������ģ�
> - ֻ����golang���б��Ϸ���һ��ANN�� ���о����ڼ�������Ȧ�����ڲ��Ĺ�
> - �����ƻ�11�������ڸ���������˵˵����Ŀ�� �ɺ���Ҫô����̫æ��Ҫô
> �ǿ��� ��go1����Ϣ����֮���Ҵ���ı�ƻ�����Go1�ˣ� ��ԸGo1��Ҫ��Ϊ
> ��һ��Perl6��
> - Go���Ա仯̫�졪��ȷ˵���DZ���仯�� ���������ļ���weekly��
> �����Ѿ� ��������gofix��������ˣ������ֶ���һЩ���롣 �һ���
> ϣ���go���� ���������������������� Ŀǰ��ͼ�����go�������
> ��Ȧ���
>
> = ��Ŀδ����չ�ƻ� =
>
> - ���ϸ���Go�������´��룬ֱ��Go1�Ƴ�
> - ���Ƴ�Go1֮�������������ڷ�����Ϣ�� �����ֿ�����windows phone��
> ֧�֡��� �ðɣ��Һ����˺�ݮ���������ں�ݮ��������Ҫ����װSDK�� ��
> ���ð���ԥ�ˡ�
> - Ŀǰ��uniqushֻ��ʵ�����Ҽƻ��е�һ�빦�ܣ� ����һ�뻹������С���
> ���� �ǿ���֮���ġ�
> - ���˷������˴����⣬��Ҫʵ�ָ����ֻ�˵Ŀ����⣬ ���ֻ�App�Ŀ���
>
> = �ܽ� =
>
> ���ˣ�����λ�������Ŀ����Ȥ����ӭ�ι۴��롣ע�⣺ github�ϵĴ���
> �����µġ�
>
> ��ӭ����������ש������������
>
> ��Threadּ���������uniqush�����⡣ �����Ҹ��˶���Go�������ĵ�����
> ���� ���һ��ٷ�һ��thread��ϣ�����OT��
>
> Regards,
> -Monnand
>
> --
> ����: Golang China ����Go���Լ����ʼ��б�
> ����: golang...@googlegroups.com
> <mailto:golang...@googlegroups.com>
> ����: http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/group/golang-china?hl=zh-CN>
>
>
>
>
> --
> Jiang Bian
> http://www.wifihack.net/
> http://golang-china.org/
>
> --
> ����: Golang China ����Go���Լ����ʼ��б�
> ����: golang...@googlegroups.com
> ����: http://groups.google.com/group/golang-china?hl=zh-CN
���
������е�æ��ûʱ�����ڡ���ʵ����go��weekly����̫Ƶ������ǰ���Ӷ��е��
���ˡ�
֮ǰ�Ѿ��Ĺ�ֻ������push��github���ˡ�����Ӧ��û������
ֻ���������weekly�İ汾��goconf����Ҳ��Ҫ�ĸġ�
>
> 6g version weekly.2011-12-22 11071
>
> github.com/monnand/redis.go <http://github.com/monnand/redis.go>: build
> failed: exit status 2
> cd "/home/border/go/src/pkg/github.com/monnand/redis.go
> <http://github.com/monnand/redis.go>" && "bash gomake -f- install"
> 6g -I "/home/border/go/pkg/linux_amd64" -p github.com/monnand/redis.go
> <http://github.com/monnand/redis.go> -o _go_.6 redis.go
> redis.go:114: undefined: strconv.Atoi64
> redis.go:415: undefined: strconv.Itoa64
> redis.go:513: undefined: strconv.Itoa64
> redis.go:565: undefined: strconv.Itoa64
> redis.go:583: undefined: strconv.Itoa64
> redis.go:714: undefined: strconv.Uitoa
>
>
>
> --
> Jiang Bian
> http://www.wifihack.net/
> http://golang-china.org/
>
���ʹ��weekly�İ汾��goconf��������ģ�Ϊ������clone��һ����Ŀ��ר��
�����weekly�汾��
���ڴ�ﶼ������һ�壬ϲ����weekly�����Ѿ�����uniqush�Ĵ��롣����
uniqush.org �ϵİ�װ�ĵ���װ�Ϳ����ˡ�
��Ȼ���������release�汾��Ҳû�����⡣���Ѿ��Ѹ��ָ����õ�tag�����ú�
�ˡ���Ը��α��ٳ�ɶ�����ˡ�
�����ӭ���ʼ�
Regards,
-Monnand
> github.com/monnand/redis.go <http://github.com/monnand/redis.go>: build
> failed: exit status 2
> cd "/home/border/go/src/pkg/github.com/monnand/redis.go
> <http://github.com/monnand/redis.go>" && "bash gomake -f- install"
> 6g -I "/home/border/go/pkg/linux_amd64" -p github.com/monnand/redis.go
> <http://github.com/monnand/redis.go> -o _go_.6 redis.go
> redis.go:114: undefined: strconv.Atoi64
> redis.go:415: undefined: strconv.Itoa64
> redis.go:513: undefined: strconv.Itoa64
> redis.go:565: undefined: strconv.Itoa64
> redis.go:583: undefined: strconv.Itoa64
> redis.go:714: undefined: strconv.Uitoa
>
>
>
> --
> Jiang Bian
> http://www.wifihack.net/
> http://golang-china.org/
>
bor...@gmail.com wrote, On 12/25/2011 09:50 PM:
> 又有weekly版本了, 需要gofix一下。
>
> 6g version weekly.2011-12-22 11071
>
如果使用weekly的版本,goconf是无法编译的,为此我又clone了一个项目,专门
来针对weekly版本。
鉴于大伙都是折腾一族,喜欢用weekly,我已经修改了uniqush的代码。按照
uniqush.org 上的安装文档安装就可以了。
当然,如果你用release版本,也没有问题。我已经把各种该设置的tag都设置好
了。但愿这次别再出啥岔子了。
有问题欢迎发邮件
Regards,
-Monnand
> github.com/monnand/redis.go <http://github.com/monnand/redis.go>: build
> <http://github.com/monnand/redis.go>" && "bash gomake -f- install"
> 6g -I "/home/border/go/pkg/linux_amd64" -p github.com/monnand/redis.go> <http://github.com/monnand/redis.go> -o _go_.6 redis.go
> redis.go:114: undefined: strconv.Atoi64
> redis.go:415: undefined: strconv.Itoa64
> redis.go:513: undefined: strconv.Itoa64
> redis.go:565: undefined: strconv.Itoa64
> redis.go:583: undefined: strconv.Itoa64
> redis.go:714: undefined: strconv.Uitoa
>
>
>
> --
> Jiang Bian
> http://www.wifihack.net/
> http://golang-china.org/
>
> --
既然 Uniqush是一个软件而不是一个服务, 那么谁作为服务提供商呢? 如果软件开发商各自为政在自己的服务器上运行uniqush提供服务, 那手机客户端不知道要保持多少"长连接"了, 这并未解决它要解决的问题。目前只能期待出现一个被广泛认可的uniqush服务提供商, 大多数软件开发者都统一采用。而这对服务提供者要求很高(网络响应速度及服务稳定性),最好是谷歌苹果这种大公司才有实力提供。
2011/12/26 liigo <com....@gmail.com>:
--
Code is poetry.
我觉得要么是我没理解你的意思,要么是我没传达好我的意图,总之,我们之间沟
通出现错误了。
- 谁该提供服务就继续提供服务。苹果依然提供APNS服务,google依然提供C2DM服
务,uniqush本身并不是取代这些服务。
- 手持设备不会直接和uniqush建立*任何*长的或短的链接,它们继续和各自平台
的服务提供者建立链接——android连C2DM去,iOS的连APNS去,windows phone连
MSXXX(我忘了微软那个名字了……)去,blackberry连他们家服务器去。
- 第三方服务器运行uniqush是为了和各自平台的云建立连接,以此*间接*向手持
设备推送服务
如果没有明白上面的内容,或者觉得好像明白,或者觉得非常明白了,都请移步这
里:http://uniqush.org/wiki/UniqushStory 看看你明白的东西是不是我要说的
东西。
如果以上还没说清楚,我就给一个具体例子。
我开发了一个手持设备操作系统,叫Monnand OS,之后提供了一个推送的云服务,
叫Monnand Push Service。为什么推出这么个云?因为如果每个软件都建立自己和
它们服务器的长连接,就会有太多的资源浪费。如果想给运行Monnand OS的设备推
送消息,就需要和Monnand Push Service建立连接,把消息给Monnand Push
Service。Monnand Push Service实际上也是和Monnand OS设备建立了一个长连
接,但*各种*运行其上的app都使用这个连接进行推送,Monnand Push Service会
把各个第三方服务器的消息都推给指定的运行了Monnand OS的设备,Monnand OS再
把消息按照来源转发给相应App。简单说来*一个*长连接,第三方服务通过平台提
供商的云服务来*间接*推送消息。
之后ZQ大妈也推出了一个手机操作系统,叫ZQOS,也出于同样的原因,推出了推送
服务,叫ZQ Notification Service。
现在我们有两个推送服务提供者,分别是Monnand Push Service和ZQ
Notification Service。如果我要开发一个软件,需要提供推送服务,那么我需要
针对这两个平台编写不同代码。如果运行uniqush,它可以运行在推送服务提供者
和第三方App服务器之间,这样第三方App服务器就可以用一套统一的接口和不同推
送服务进行通信。
我不知道这么解释是不是足够清楚了。老实说,网站上的配图说明我觉得更清晰一些。
感谢ZQ大妈的友情客串!
Regards,
-Monnand
> 在 2011-12-26 上午6:41,"mon...@gmail.com <mailto:mon...@gmail.com>"
> <mon...@gmail.com <mailto:mon...@gmail.com>>写道:
>
> Hi all,
>
> 本来说早点发这邮件,但是一直在忙别的,就没来及。 看过我之前的邮件的
> 人,想 必已经知道这个项目了, 这个thread重点讨论一下uniqush这个软
> 件。 我还会再发 一个thread,分享一下我用go语言的心得。
>
> = 概述 =
> - 名称:uniqush
> - 主页:http://uniqush.org
> - 代码:http://github.com/monnand/ uniqush
> <http://github.com/monnand/uniqush>
> - 许可证:Apache License 2.0
> - 标签:手机推送, Golang, C2DM, APNS, Android, iOS
>
> = 功能描述 =
>
> 更清晰的配图版功能描述在这里: http://uniqush.org/wiki/ UniqushStory
> <http://uniqush.org/wiki/UniqushStory>
>
> 目前的主要智能手机平台(Android, iOS, BlackBerry, Windows Phone)都
> 会提 供针对各自平台的推送服务。简单说来,这种服务的工作方式是:
>
> 第三方App服务器有一些消息,需要推送给手机上的App -> 第三方App服务器
> 把消 息发送给特定平台的云服务(推送服务) -> 该云将消息推送到客户手机
>
> 这种方式的确简化了第三方服务器的开发, 但是如果需要支持多个平台,则
> 需要针 对各自平台做相应调整。 Uniqush目前主要工作是在第三方服务器与
> 各自平台的云 服务之间建立起一套统一的接口, 这样第三方服务器就可以不
> 用修改,而支持更多 的只能手机推送平台。
>
> 注意:uniqush是一个*软件*,而*不是*一个推送服务。 换句话说,uniqush
> 的用户 需要在自己的服务器上运行uniqush。uniqush. org
> <http://uniqush.org>并不提供任何推送服务(好吧, 这么说似乎有点多
> 余,不过的确有好多人误以为如此)。
>
> = 第三方依赖 =
>
> 目前在github上有两个branch, 分别针对当前go的release版本和go的weekly
> 版 本。需要依赖的第三方数据库是redis; 依赖的第三方库包括redis.go和
> goconf。
>
> redis.go的正式版本已经无法用最新的go release编译,为此我fork了
> redis.go这 个项目。代码在http://github.com/ monnand/redis.go
> <http://github.com/monnand/redis.go> 上。同样是两个branch, 分别对应
> go的最新release和weekly版本。 大家都知道,最近go的weekly变化很 大,
> <mailto:golang...@googlegroups.com>
> 在线: http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/group/golang-china?hl=zh-CN>
>
恩,经你仔细讲解我想我大概明白了,谢谢。之前是我理解有误。
<mailto:golang-china@googlegroups.com>
在线: http://groups.google.com/ group/golang-china?hl=zh-CN
<http://groups.google.com/group/golang-china?hl=zh-CN>
--
来自: Golang China 中文Go语言技术邮件列表
发言: golang...@googlegroups.com
在线: http://groups.google.com/group/golang-china?hl=zh-CN
������
̹������Ϊ����լ������ƽ�dz������Լ�����������������������־���������
��ĵط������ż��ϻ�
�������Zuyang Kou���ڶ������ˣ������Ժ�����˰��ҽ����ˡ���̤ʵ�ˡ�
Regards,
-Monnand
> �� 2011-12-26 ����6:18��"mon...@gmail.com <mailto:mon...@gmail.com>"
> <mon...@gmail.com <mailto:mon...@gmail.com>>���
>
> liigo wrote, On 12/26/2011 04:46 AM:
>
> ��Ȼ Uniqush��һ���������һ������, ��ô˭��Ϊ�����ṩ����? ��
> �������
> ���̸���Ϊ�����Լ��ķ�����������uniqush�ṩ����, ���ֻ�ͻ��˲�
> ֪��Ҫ��
> �ֶ���"������"��, �Ⲣδ�����Ҫ��������⡣Ŀǰֻ���ڴ����һ��
> ���㷺��
> �ɵ�uniqush�����ṩ��, �������������߶�ͳһ���á�����Է�����
> ����Ҫ��
> �ܸ�(������Ӧ�ٶȼ������ȶ���), ����ǹȸ�ƻ�����ִ�˾����ʵ��
> �ṩ��
>
>
> �Ҿ���Ҫô����û��������˼��Ҫô����û������ҵ���ͼ�� ��֮������
> ֮�乵
> ͨ���ִ����ˡ�
>
> - ˭���ṩ����ͼ����ṩ����ƻ����Ȼ�ṩAPNS���� google��Ȼ�ṩ
> C2DM��
> ��uniqush���?����ȡ����Щ����
> - �ֳ��豸����ֱ�Ӻ�uniqush����*�κ�*���Ļ�̵����ӣ� ���Ǽ������ƽ̨
> �ķ����ṩ�߽������ӡ���android��C2DMȥ�� iOS����APNSȥ��windows phone��
> MSXXX�����������Ǹ������ˡ�����ȥ�� blackberry�����Ǽҷ�����ȥ��
> - �������������uniqush��Ϊ�˺���ƽ̨���ƽ������ӣ� �Դ�*���*���ֳ�
> �豸���ͷ���
>
> ���û��������������ݣ����߾��ú������ף� ���߾��÷dz������ˣ�����
> �Ʋ���
> �http://uniqush.org/wiki/ UniqushStory
> <http://uniqush.org/wiki/UniqushStory> ���������Ķ����Dz�����Ҫ˵��
> ������
>
> ������ϻ�û˵������Ҿ�һ���������ӡ�
>
> �ҿ�����һ���ֳ��豸����ϵͳ����Monnand OS��֮���ṩ��һ�����͵��Ʒ���
> ��Monnand Push Service��Ϊʲô�Ƴ���ô���ƣ� ��Ϊ���ÿ�����������
> �Լ���
> ���Ƿ������ij����ӣ��ͻ���̫�����Դ�˷ѡ� ����������Monnand OS��
> �豸��
> ����Ϣ������Ҫ��Monnand Push Service�������ӣ�����Ϣ��Monnand Push
> Service��Monnand Push Serviceʵ����Ҳ�Ǻ�Monnand OS�豸������һ������
> �ӣ���*����*�������ϵ�app��ʹ��������ӽ������ͣ� Monnand Push Service��
> �Ѹ����������������Ϣ���Ƹ�ָ����������Monnand OS���豸��Monnand OS��
> ����Ϣ������Դת������ӦApp����˵��*һ��*�����ӣ� �������ͨ��ƽ̨��
> ���̵��Ʒ�����*���*������Ϣ��
>
> ֮��ZQ����Ҳ�Ƴ���һ���ֻ����ϵͳ����ZQOS�� Ҳ����ͬ���ԭ���Ƴ�
> ������
> ����ZQ Notification Service��
>
> �����������������ͷ����ṩ�ߣ��ֱ���Monnand Push Service��ZQ
> Notification Service�������Ҫ����һ���������Ҫ�ṩ���ͷ��� ��ô
> ����Ҫ
> ���������ƽ̨��д��ͬ���롣�������uniqush�� ��������������ͷ����ṩ��
> �͵���App������֮�䣬 �������App�������Ϳ�����һ��ͳһ�Ľӿں�
> ��ͬ��
> �ͷ������ͨ�š�
>
> �Ҳ�֪����ô�����Dz����㹻����ˡ���ʵ˵�� ��վ�ϵ���ͼ˵���Ҿ��ø�
> ����һЩ��
>
> ��лZQ���������ʹ���
>
> Regards,
> -Monnand
>
> �� 2011-12-26 ����6:41��"mon...@gmail.com
> <mailto:mon...@gmail.com> <mailto:mon...@gmail.com
> <mailto:mon...@gmail.com>>"
> <mon...@gmail.com <mailto:mon...@gmail.com>
> <mailto:mon...@gmail.com <mailto:mon...@gmail.com>>>���
>
> Hi all��
>
> ����˵��㷢���ʼ�������һֱ��æ��ģ���û������ ������֮ǰ���ʼ���
> �ˣ��� ���Ѿ�֪�������Ŀ�ˣ� ���thread�ص�����һ��uniqush�����
> ���� �һ����ٷ� һ��thread������һ������go���Ե��ĵá�
>
> = ���� =
> - ��ƣ�uniqush
> - ��ҳ��http://uniqush.org
> - ���룺http://github.com/monnand/ uniqush
> <http://github.com/monnand/ uniqush
> <http://github.com/monnand/uniqush>>
> - ���֤��Apache License 2.0
> - ��ǩ���ֻ�����, Golang, C2DM, APNS, Android, iOS
>
> = �������� =
>
> ���������ͼ�湦����������� http://uniqush.org/wiki/ UniqushStory
> <http://uniqush.org/wiki/ UniqushStory
> <http://uniqush.org/wiki/UniqushStory>>
>
> Ŀǰ����Ҫ�����ֻ�ƽ̨��Android, iOS, BlackBerry, Windows Phone����
> ���� ����Ը���ƽ̨�����ͷ���˵�������ַ���Ĺ�����ʽ�ǣ�
>
> ����App��������һЩ��Ϣ����Ҫ�����ֻ��ϵ�App -> ����App������
> ���� Ϣ�����ض�ƽ̨���Ʒ������ͷ��� -> ���ƽ���Ϣ���͵���
> ���ֻ�
> --
> ����: Golang China ����Go���Լ����ʼ��б�
> ����: golang...@googlegroups.com
> <mailto:golang...@googlegroups.com>
> <mailto:golang-china@ googlegroups.com
> <mailto:golang...@googlegroups.com>>
> ����: http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/group/golang-china?hl=zh-CN>>
>
> --
> ����: Golang China ����Go���Լ����ʼ��б�
> ����: golang...@googlegroups.com
> <mailto:golang...@googlegroups.com>
> ����: http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/group/golang-china?hl=zh-CN>
>
>
> --
> ����: Golang China ����Go���Լ����ʼ��б�
> ����: golang...@googlegroups.com
> <mailto:golang...@googlegroups.com>
> ����: http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/group/golang-china?hl=zh-CN>
>
> --
我正打算买一个Nokia Lumia 710,到时候可以测试一下。
> 了go1的消息,总之,我打算改变计划,等Go1了(但愿Go1不要成为下一个Perl6)
从weekly更新频繁的程度来看,Go1应该不会成为下一个Perl6 :)
--
Yili Zhao
liigo wrote, On 12/26/2011 05:28 AM:
> 恩,经你仔细讲解我想我大概明白了,谢谢。之前是我理解有误。
>
不客气!
坦白讲,作为技术宅,俺生平非常担心自己表达能力。尤其是遇上这种经常被人误
解的地方,就着急上火。
还好你和Zuyang Kou现在都明白了,起码以后多俩人帮我解释了。俺踏实了。
Regards,
-Monnand
> 在 2011-12-26 下午6:18,"mon...@gmail.com <mailto:mon...@gmail.com>"
> <mon...@gmail.com <mailto:mon...@gmail.com>>写道:
>
> liigo wrote, On 12/26/2011 04:46 AM:
>
> 既然 Uniqush是一个软件而不是一个服务, 那么谁作为服务提供商呢? 如
> 果软件开
> 发商各自为政在自己的服务器上运行uniqush提供服务, 那手机客户端不
> 知道要保
> 持多少"长连接"了, 这并未解决它要解决的问题。目前只能期待出现一个
> 被广泛认
> 可的uniqush服务提供商, 大多数软件开发者都统一采用。而这对服务提
> 供者要求
> 很高(网络响应速度及服务稳定性), 最好是谷歌苹果这种大公司才有实力
> 提供。
>
>
> 我觉得要么是我没理解你的意思,要么是我没传达好我的意图, 总之,我们
> 之间沟
> 通出现错误了。
>
> - 谁该提供服务就继续提供服务。苹果依然提供APNS服务, google依然提供
> C2DM服
> 务,uniqush本身并不是取代这些服务。
> - 手持设备不会直接和uniqush建立*任何*长的或短的链接, 它们继续和各自平台
> 的服务提供者建立链接——android连C2DM去, iOS的连APNS去,windows phone连
> MSXXX(我忘了微软那个名字了……)去, blackberry连他们家服务器去。
> - 第三方服务器运行uniqush是为了和各自平台的云建立连接, 以此*间接*向手持
> 设备推送服务
>
> 如果没有明白上面的内容,或者觉得好像明白, 或者觉得非常明白了,都请
> 移步这
> 里:http://uniqush.org/wiki/ UniqushStory
> <http://uniqush.org/wiki/UniqushStory> 看看你明白的东西是不是我要说的
> <mailto:mon...@gmail.com> <mailto:mon...@gmail.com
> <mailto:mon...@gmail.com <mailto:mon...@gmail.com>>>写道:
>
> Hi all,
>
> 本来说早点发这邮件,但是一直在忙别的,就没来及。 看过我之前的邮件的> 件。 我还会再发 一个thread,分享一下我用go语言的心得。
> 人,想 必已经知道这个项目了, 这个thread重点讨论一下uniqush这个软
> - 代码:http://github.com/monnand/ uniqush> <http://github.com/monnand/ uniqush
> - 许可证:Apache License 2.0
> - 标签:手机推送, Golang, C2DM, APNS, Android, iOS> <http://uniqush.org/wiki/ UniqushStory
>
> = 功能描述 =
>
> 更清晰的配图版功能描述在这里: http://uniqush.org/wiki/ UniqushStory
> 目前的主要智能手机平台(Android, iOS, BlackBerry, Windows Phone)都
> 会提 供针对各自平台的推送服务。简单说来,这种服务的工作方式是:
>
> 第三方App服务器有一些消息,需要推送给手机上的App -> 第三方App服务器> 用修改,而支持更多 的只能手机推送平台。
> 把消 息发送给特定平台的云服务(推送服务) -> 该云将消息推送到客
> 户手机
>
> 这种方式的确简化了第三方服务器的开发, 但是如果需要支持多个平台,则
> 需要针 对各自平台做相应调整。 Uniqush目前主要工作是在第三方服务器与
> 各自平台的云 服务之间建立起一套统一的接口, 这样第三方服务器就可以不
>
> 注意:uniqush是一个*软件*,而*不是*一个推送服务。 换句话说,uniqush
> 的用户 需要在自己的服务器上运行uniqush。uniqush. org
> <http://uniqush.org> 并不提供任何推送服务(好吧, 这么说似乎有点多
> 余,不过的确有好多人误以为如此)。
>
> = 第三方依赖 =
>
> 目前在github上有两个branch, 分别针对当前go的release版本和go的weekly
> 版 本。需要依赖的第三方数据库是redis; 依赖的第三方库包括redis.go和
> goconf。
>
> redis.go的正式版本已经无法用最新的go release编译,为此我fork了
> redis.go这 个项目。代码在http://github.com/ monnand/redis.go
> <http://github.com/monnand/ redis.go
> <http://github.com/monnand/redis.go>> 上。同样是两个branch, 分
> 别对应
> <mailto:golang...@googlegroups.com>
> <mailto:golang-china@ googlegroups.com
> <mailto:golang...@googlegroups.com>>
> 在线: http://groups.google.com/ group/golang-china?hl=zh-CN
> <http://groups.google.com/ group/golang-china?hl=zh-CN
是不是说, uniqush 在服务器上统一收取各APP服务器端发来的信息,然后一起推送到手机上?
上。同样是两个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上的代码是最新的。 > >欢迎各种意见建议板砖西红柿鸡蛋。 > >本Thread旨在讨论针对uniqush的问题。关于我个人对于Go开发的心得体会感想意 >见,我会再发一个thread。希望大伙别OT。 > >Regards, >-Monnand > >-- >来自: Golang China 中文Go语言技术邮件列表 >发言: golang...@googlegroups.com >在线: http://groups.google.com/group/golang-china?hl=zh-CN
我理解的是叫做统一推送平台接口什么的更容易懂