编者按:WhatsApp的成功令众多业内人士竞相效仿。本文作Veeraeswari在“How to Build your Own Real-time Chat App like WhatsApp?”一文中讲述了Contus Fly在试图超越WhatsApp过程中的所作所为。
如果你想创建一个像WhatsApp这样伟大的应用,当然必须先要了解WhatsApp的技术和构架。
我们需要从第一次进入这个小型聊天群进行私密聊天的时刻开始回溯起。之后,社交应用进入大众视野,为人们提供了基础性的沟通工具。而到现在,即时通信软件使人与人之间保持着迅速且密切的联系。除此之外,即时通讯软件的便利性和舒适度也得到了提高。
人们热情拥抱着人气日益飙升的众多聊天应用软件,当然也包括WhatsApp。研究发现,大多数人更希望有这么一款聊天应用软件横空出世,其为用户添加了额外的贴心功能。
现在我们是时候开始卷起袖子开发一款类似于WhatsApp这样“举世震惊”的软件了。
现代聊天软件的演变
需要提到,一款现代聊天应用必须具备能够满足任何聊天方式的功能。据近期消息称,研发出WhatsApp这类即时聊天软件的公司正在进行相关人工智能和机器人技术的试验。一款理想的聊天应用应该是那种同时为企业级通信、个人通信、业务开发通信和电子商务通信提供解决方案的软件。
WhatsApp的成功鼓动了众多投资商和开发者想要复制WhatsApp的成功,这没什么值得惊讶之处。Contus Fly就是其中一例,Contus想要开发一款类似WhatsApp的聊天应用,并会基于用户对这类平台的功能期待进行新功能的研发。虽然WhatsApp已经占据了即时通信市场的大壁江山,但是跃跃欲试者依然有机会开发出某些WhatsApp并不满足用户需求的聊天应用。
考虑到上述目标,我们并不想要一款类似于WhatsApp的传统聊天应用,而是想要一款为所有聊天场景提供理想解决方案,并使其在同类别软件中脱颖而出的现代聊天应用。
你有没有认真思考过,什么技术能够支撑WhatsApp成为如此标杆式的聊天应用?
下文是Contus的后端组件架构情况,其基础此而试图搭建一个类似于WhatsApp的即时聊天应用。
Erlang(一种编程语言):这是WhatsApp这款史诗般聊天软件所使用的主要编程语言。Erlang编程语言因其性能、速度和延展性而广受好评。Contus Fly也基于这种编程语言构建,使其垃圾收集器通过允许立即进行代码更新而获得不同功能。而这有助于Contus Fly以非常短的延迟度处理大量消息。
Ejabberd(即时消息服务器):Contus Fly使用开源jabber提高操作效率,为预期结果提供优化支持。其使用XMPP(可扩展消息传递和到场协议)协议来处理所有局域网和互联网上的信息传递系统。Ejabberd的服务器使用包容性强的插件模块:
一对一聊天。
关联真实与即存名单。
存储与转发(脱机信息)。
个人事件协议(PEP)和消息类型规范。
多用户聊天(MUC)—用户聊天。
隐私设置与账户欺骗。
信息档案管理(MAM)
FreeBSD(一种可免费使用的UNIX操作系统):WhatsApp平台上每天发送的信息量达数十亿条,其中就有FreeBSD功劳。由于FreeBSD的网络堆叠精巧度高且可靠性强,Contus Fly选择了FreeBSD操作系统。FreeBSD在安装方面优势众多,并且提供了简单的二进制包的创建。
YAWS(web服务器):其完全由Erlang编写。Contus Fly使用嵌入模式,在此模式中YAWS作为嵌入式web服务器运行。YAWS系统具备高效处理并发进程的高性能表现。
Lighttpd(web服务器):Lighttpd是一个为Contus Fly提供更好性能的开源web服务器。WhatsApp上部署了轻量级的Lighttpd 服务器,以使应用具备安全、灵活、快速和兼容的特性。
PHP(服务器端编程语言):Contus Fly使用PHP开源语言确保应用的性能和可靠性,并通过与强大的web开发技术AJAX相结合,用AJAX显示数据,以提供信息的即时性。
BEAM:BEAM是一个运行Erlang的虚拟机。Contus Fly使用BEAM接口实现调度、运行、传递信息、管理内容和多核等功能。
Custom XMPP Server:Contus Fly通过减少关键字字节将XMPP服务器编码到应用程序的功能中。该技术用以实现实时信息交换。
HTML5 WebSockets:HTML5 WebSockets是HTML5的一个特性,其数据通过套接字发送,用于在web浏览器与服务器之间建立牢固的、更快更持久的连接。
Mnesia DB:这是一个由Erlang语言编写的实时数据库管理系统。Mnesia是一个可以存储信息、文件、图像、视频、文档以及在程序上运行其他多媒体文件的软数据库。Contus Fly正在使用。这一技术的性能远远超出了人们的期望,其极有可能实现储存任何数量的数据。
一款成功聊天应用需要具备的特性:
现在,我们需要了解一款全面的聊天应用需要具备的功能:
网络电话(VOIP Phone Calls):
网络电话是通过互联网协议提供语音通信和多媒体会话的技术分类。
视频聊天(Video Chats):
使人们可以直接通过语音/视频聊天,不再需要中间连接。
群组聊天(Group Calls):
聊天应用为用户提供更深入的语音/视频聊天工具,以与其他用户建立联系。
端到端加密聊天(End-to-End Chat Encryption):
一种杜绝第三方渗透的用户安全加密功能。通过高级加密技术,优先考虑用户私有数据的安全。
云同步服务(Cloud Service Sync):
云资源同步平台同步监控、更新、存储和扩展用户环境。
多媒体支持(Multimedia Support):
确保视频、图像、GIF、语音、动画、文档、联系人和位置等各种数据格式的文件传输。
自我销毁信息(Self?—?Destructing Messages):
通过选中群中的某一个用户并向其发送信息,以确保其他人无法查看。
地理位置集成(Geolocation Integration):
强化的地理位置集成与实时位置形成了相当有力的互动作用。
日历同步(Geolocation Integration):
日历同步确保用户对事件和任务的全面了解,提醒用户有哪些计划还未提上日程。
多平台聊天(Geolocation Integration):
跨平台信息系统使用户无论是在办公桌旁还是在路上都能及时获取工作信息。
程序内购买(In-app Purchase):
通过在数字商店上架自己的应用程序来使其变现,增加用户的应用收入。
WhatsApp所不具备的特性:
除了上述这些内置功能外,Contus Fly还基于用户期望和聊天解决方案类型进行整合。
1. 配置用户访问和管理用户账户:
->用户邀请制
->开放访问
->管理员确认
2. 以最优方式向用户通知活跃联系人
->推送通知
->邮件&邮件订阅
->短讯服务
3. 根据用户需要创建定制聊天组:
->开放创建群组权限
->只有管理员才能创建群组
->用户可以查看并请求加入某个群组
->相关用户只可查看与自己圈子有关的群组
Contus Fly还提供了各种各样帮助用户赚钱的方式:
完全免费
应用内支付
应用广告
赞助广告
订阅服务
“在未来,每一个聊天应用的注册者都拥有大展拳脚的空间。”
如果你想要建立一个类似于WhatsApp但是却又添加了新功能的现代即时聊天应用,那么就应该在添加动态功能的这条路上一直走下去。
编译组出品。编辑:郝鹏程
相关下载 |
Off-White 与 Nike 打造的全新联名鞋款 Nike Dunk Low 在历经多次跳票之后,此前终于确定了12月20日正式发售!双方以经典鞋款 SB Dunk Low 为蓝本打详情>>
在多次的传言及确认之后,Off-White™ 携手 A BATHING APE® 打造的首款联名 BAPESTA 似乎相当难产。早先也有传言表示 Off-White™ x A BATHING A详情>>
原标题:这双 Off-White™ 新鞋,能成为下一个爆款吗? 对于 Virgil Abloh 这样一位当红设计师来说,的确已经在过往的经历中制造了不少「爆款」,单单在球详情>>
原标题:Off-White x Nike发售日期叒叕跳票!存好钱的我太“南”了 坐拥绝对话题,Off-White 的火热可以从自有设计及品牌合作两个方面凸显,尤其是详情>>
原标题:惊:Off-White突发全新Logo,初代T恤正式曝光线上发售! Off-White的主理人这几个月在家中强制养病休息,少了很多联名的大动作。主线的运转也十分详情>>
原标题:不止Sk8-Hi,OFF-WHITE x VANS Old Skool联名鞋款曝光! 昨日我们为大家带来了 OFF-WHITE x VANS 的两款 Sk8-Hi 联名 Sample 鞋款曝光的消息,详情>>
原标题: Why Women Kill?我问了有老公的她们,听完我服了。 有没有哪个时刻,你也对自己的老公/男友动起了“杀意”? 引发这个话题的是最近一部评分一路详情>>
原标题:壁纸丨喜欢工装的你们,怎么能错过 WHOSETRAP ? 街头品牌,人气国潮 WHOSETRAP 日前正式公布了 2019 全新秋冬系列 Lookbook 。 风格依旧是以军详情>>
原标题:「 Why Women Kill?」我问了问有老公的她们。 有没有哪个时刻,你也对自己的老公/男友动起了“杀意”? 引发这个话题的是最近一部评分一路飙升详情>>
原标题:印度少儿编程公司WhiteHat Jr获1000万美元A轮融资 鲸媒体讯(文/小白)印度孟买教育科技初创公司WhiteHat Jr 完成1000万美元A轮融资,由现有投详情>>
WealwayshaveadreamofMUSIC,andnowthedreamiscomingtrue.WhiteTiles2isanamazinggameaboutmusic.AllyouneedtodoisjustTAPTAPandTAP,thebeautifulmusicwillcomeout.[HowtoPl详情>>
一款简单但很有趣的找茬游戏,孩子们肯定会非常喜欢它的。即使是非常年幼的儿童(3岁)可以学习和掌握与此游戏。他们可以学习到,包括乐器,工具,家具,动物和鸟类,水果和其他食品,服装,更详情>>
Whoosh游戏是一款非常有意思的休闲手游,游戏的玩法非常的像高尔夫,游戏有不同的地图可以供你选择,你要瞄准你的目标,让球进入洞中,喜欢的小伙伴快来下载吧。Whoosh游戏的特点1、详情>>
WhaleIsland是一款动作冒险RPG手机游戏,游戏由知名动漫改编,采用精美的画面,高度还原场景,还有丰富的角色任你挑选,这个夏天和猎人一起开启冒险之旅吧。WhaleIsland的特点1、经典详情>>
WheelyWorld是一款采用了核心物理引擎打造的街机赛车游戏!玩家可以自由解锁核心的赛车,在不同的赛道上冲刺和位移,小心躲避各种障碍物和陷阱,同时收集核心的道具和装备等,不同的详情>>
《WhatNeverWas》是一款有趣的解密冒险游戏,游戏中的所有谜题均来自于一名已经去世的老人,他为后世留下了许多历年来的游记、遗物和作品,你将扮演老人的孙女莎拉,在清理祖父阁楼详情>>
作为程序员,whileTrue语序肯定很是熟悉,而这款以编程为核心的游戏《whileTrue:learn()》就将让大家探访程序员一天的生活,该作中,玩家们将投身于机器学习领域,不仅要了解其原理以详情>>
游戏简介《WhatTheBox?》是一款多人在线游戏,游戏中玩家需要控制普通的盒子,试图去摧毁敌人。玩家可以拿着美工刀进行隐藏或跑动,等待完美的攻击时刻。《WhatTheBox?》非常考验详情>>
期待已久的手游苍白之夜whitenight即将登陆,这款手机游戏吸引了大批玩家的关注,有很多粉丝都在问小编苍白之夜whitenight好玩吗?苍白之夜whitenight值不值得玩?现在就为大家来简详情>>
游戏类型:CAD软件文件大小:14.54MB软件语言:简体中文运营:未知软件授权:免费版应用平台:WinXP/Vista/Win7/Win8/Win8.1/Win10安全认证:WhiteSmok详情>>
游戏类型:地图任务插件文件大小:144KB软件语言:简体中文运营:软件授权:免费版应用平台:WIN9X/2000/XP/VISTA安全认证:WhoPinged插件说明: WhoPinged查详情>>
1.魔兽争霸3这款游戏放到今天依旧可玩性十足,各种大神做的地图,让这个游戏觉得依旧很好玩,DOTA前身也详情>>
舰R,TURN DOWN FOR WHAT!详情>>
小编为您搜罗的答案:A详情>>
小编为您搜罗的答案:A详情>>
小编为您搜罗的答案:A。这是一个定语从句,Theman是先行词,要在从句中作表语,所以这里不能用who或whom,要用that小编为您搜罗的答案:b小编为您搜罗的答案:c小编为您搜罗的答案:B小编详情>>
小编为您搜罗的答案:表如果只能用if,如果宾语从句为否定句时,则只用if不用whether。 Idon’tknowifitwon'traintomorrow..我不知道明天是不详情>>
小编为您搜罗的答案:whoeverwantstodothejob详情>>
小编为您搜罗的答案:1,未来移动社交平台对Facebook来说不可或缺。随着移动互联网的发展,人们的社交行为越来越多的发生在移动场景下。把握住了移动市场就等于抓住了未来的社交。<br/>详情>>
小编为您搜罗的答案:C详情>>
小编为您搜罗的答案: 在TechCrunch举办的TCDisrupt2012旧金山站的评比中,来自非洲加纳Saya移动推出的一款即时聊天短信应用Saya成功进入七强之列,这是一款类似于著名短信聊详情>>
美拍视频: 《whistel》游戏详情>>
1.关于最初冒险者:最开始只有一个,最多雇佣3个。初始那个只是用来练手and熟悉游戏详情>>
2015年4月24日,由全球移动游戏联盟主办的第四届全球移动游戏大会(GMGC2015)在国家会议中心正式拉开帷幕。来自全球40多个国家,超过25000名移动游戏业界精英在这一年度产业详情>>