邮箱网 0条评论 6923次浏览 2012年12月26日 星期三 21:47
【编者注】作者Avi Levine参与的团队在30天内创建好初步模型,6个月内建了一个完整的新型邮件客户端,邮箱作为一个常青藤工具,开发者怎么利用这个跳板建立一个好的邮件客户端呢?
为了造福世界上35亿邮件用户,我们应该建立一个新的邮件客户端,具备新新科技和创造性元素,而这个产品的成功表现就是AOL在我们发布产品5个月后发布了一个类似的产品。下面我来分享一下我们的邮件客户端心得:
简单的邮件背景
Ray Tomlinson 在70年代发送了第一封邮件,后来IMAP(交互式邮件存取协议)兴起,用户可以在任何客户端看到邮件同步操作的结果,任何你在客户端做的改变都会同步回服务器,也就是说读过的邮件就会保持”已阅读”的状态而移动过的条目也会保持被移动过的状态,在所有检查邮件账户的设备上都是一样的。比如说,办公室的web界面、路上使用的iPhone、还有在家使用的像Thunderbird这样的客户端。而对于做邮件客户端的我们,任务就是做一个更好的前端。
用不用Rail?
Rails可以在数周内建立一个原型项目,而不是数月。所以我们和1.5个兼职的开发人员利用晚上和周末时间,用Rails在30天内建立了一个可运行的模型,它能从Gmail、Yahoo、AOL获取IMAP信息并对基本的数据自动过滤。就因为这个我们获得了首轮融资,
而且对于这个基于ruby的守护进程不断接收新邮件数据的系统,我们下一步的挑战就是确保电子邮件安全与应用程序的可伸缩性,来达到用户确保他们数据安全的期望。而用户一般都会登陆邮件,一登陆就会用到我们的应用工具,就意味着我们的用户是很容易建立起来的。
用不用Node.js?
2011年的时候我们把邮件守护进程移到Node.js(编写高性能网络服务器的JavaScript工具包),虽然有人说它无法成为一个Rails killer,但我们用起来感觉很好。它通过远程调用IMAP很好地处理了一些异步响应的问题,一个Node 0.6x系列的服务器就能满足我们Gmail, Yahoo 以及 AOL 用户每5分钟的刷新需求,慢慢地可以保证每1分钟一次的刷新频率需求,只要连接到单一IP地址的机会不是很多。
6个月后,我们感觉Node是我们工具箱一把有力的大力钳,平时用得不多,但用得着的时候你会发现它有多好。
所以说,在超过6个月多一点的时间内,我们建立了一个全面、灵活、强大的电子邮件客户端;可以即时同步多个邮箱的最新数据,包括Gmail, Yahoo,以及AOL等10个邮箱;允许用户撰写、发送、接收、回复、在同一界面回复每个邮箱、查看已发消息和草稿;同步已读/未读的信息(用底层的电子邮件客户端);支持附件;还有视觉图标和邮件过滤增值功能。以后还会添加存档、聊天、媒体、线程处理等,但我们会一样一样来
。
后来使用 PhilterIt工具后,我们也开始支持Chrome扩展路径,利用node.js支持后端,backbone.js支持前端,这样就能在Gmail上成功支持视觉过滤功能了。