备注:本文读者应当掌握面向对象编程和函数式编程,极力推荐先了解和学习rdux的设计思想。 几个月之前我开始用单页应用(spa)的方式的方式编写一个动态业务需求的项目。和大多数的单页应用一样,随着业务逻辑和状态增多使得我们的应用日益庞大、臃肿。 需求说明 这是我一个创业项目的核心产品,因为还处于早起发展阶段以及商业竞争等因素,这个产品的业务变化是相当大的。 可扩展的通信层 我们具有相对稳定的业务领域,然而还是会有其他的因素影响着产品的状态,我们具有如下的通信需求: 用户 RESTfulAPI 在此基础上可能会有(或没有)如下的:; 与现有用户建立P2P链接的相关成员 与服务器进行实时的通讯 为支持不同的通信协议(HTTP,WbSockt,UDP[wbRTC])我们需要不同格式的数据: HTTP/WbSockt采用JSON的通信格式 JSON-RPC格式的WbSockt通信 BERTorBERT-RTC格式的WbRTC或WbSockt通信 BERT通信协议非常适合P2P通信方式,尤其对于二进制数据的传输,比如图片以及不适合文本表示的数据。 为实现所有服务之间的通信,RxJS看起来是一个很不错的选择,通过它可以方便的管理各种类型的异步事件。 Givnallthsrvicswndto白癜风多久能治好北京白癜风治疗最新方法
|