微信号:developerWorks

介绍:我们的产品:《码农周刊》 http://manong.io/ 、《开发者头条》 http://toutiao.io/

简聊代码被开源了

2016-03-31 07:45 @题叶

本文选自《开发者头条》3 月 30 日用户分享,感谢作者 @题叶 分享。

欢迎分享http://toutiao.io/contribute


https://github.com/jianliaoim/talk-os/tree/master/talk-web79

朋友那边听到一些风声, 然后在 GitHub 上看到了, 前后端都有, 应该是本地能运行的.


辞职的事情民工叔叔帮公布了, 实际上我也在家养病半个多月了, 咳嗽好多了但容易复发主要说一下代码的事情, 其中有技术方面存在问题的地方, 说明一下避免误解


简聊前端的整体方案是基于单向数据流, 自己实现的 Store 和调试工具, 这部分没问题,界面渲染, 采用了组件嵌套, 延续了不可变数据, 自己设计了路由, 这些还好,界面有问题的地方, 组件内部大量使用 listenTo 是早期 Backbone 遗留的, 没有时间全清理掉,数据同步部分, 用的 Actions 进行统一, didMount 当中的 action 也尽量删除了,Restful 请求部分设计了 data-rely 方案批量抓数据, 不够完善, 思路我认为没问题


action 分发代码存在 handler/ actions/ 两个文件, 其实是准备统一的, 没有做完打包的 Gulp Webpack 配合脚本要对付多个环境, 功能基本上足够


Modal 和 Popover 组件的设计之前完成 react-stack-modal 组件但改一半放弃了


整体上代码前期在修正 Backbone 的遗留问题和提高开发效率, 做了大量修改,后面切换到 Immutable Data 时候经历了一些问题, 导致后面没有多少条件继续改进,过去两年我花了大量精力思考简聊前端架构设计如何能达到 1. 开发快速, 2. 数据流健壮


也想不到最终被这样呈现出来. 总之如果有同学看代码请注意避免被妥协的代码误导


另外公司内部现在决策我不了解, 等他们放出消息, 但估计会再补充一些说明进来




更多优质内容,欢迎安装、使用《开发者头条》iOS、Android 客户端。

体验地址http://toutiao.io/download

⬇️⬇️⬇️

 
developerWorks 更多文章 程序员那些事儿 我的“极客”老爸 斯坦福大学新课程《Startup Engineering》 码农自白:这样成为 Google 工程师 史玉柱说——读《史玉柱自述:我的营销心得》
猜您喜欢 通过Java字节码发现有趣的内幕 程序猿们,HTML5 峰会来了! 如何实现 C/C++ 与 Python 的通信? 老王要带大家一起动手啦~ 黑客必读:蜜罐技术的前世今生