从2012年开始接触Darwin Streaming Server,到2018年从底层开始彻底从新架构、研发、完成,EasyDarwin这个项目已经发展了6年了,时间飞逝,那时候我们工做时间还不是很长,在对架构的理解上仍是比较浅显,可是通过多年的发展,给我最大的一个理解是:顺势而为!node
以EasyDarwin 2018年的发展为例,咱们经历了两次完全的迭代,一次是由C++转向node.js,另外一次是由node.js转向了golang,并终于稳定了基础。为何说是顺势而为呢,在12年开始研究Darwin,并研发底层架构时,咱们可用的、可研究的,无非就是ACE、libevent这些框架,而这些框架不少时候比较庞大,并且ACE这种很难稳定下来,就致使在底层花费的时间太长,那么从今天来看,基于开源的引擎,咱们已经不用再过多去关注底层网络编程了,并且只要潜心去开发应用层的协议,并且相似于node.js、golang,周边配套的组件很是丰富,错误检查的机制也很完善,相比于当年的ACE、libevent开发,开发效率上飞跃太多。在我看来,这就是顺势而为,除非有特殊化的定制,否则咱们不须要再过多在底层上恋战,咱们能够花更多的时间去研究架构,疏通逻辑,优化算法。golang
2018的EasyDarwin经历node.js和golang版本的发展后,已经很是明确了自个人定位和下一步的发展目标:那就是更好地服务于安防行业,下降开发门槛,让更多的互联网开发者即便不熟悉音视频开发,也能经过简单的整合就能开发出业务场景须要的服务程序!web
EasyDarwin从安防行业发展过来,后面也将专一服务于安防、公安相关行业,咱们还将秉承Easy的特性,不只仅是调研Easy,并且要在开发者的入门、测试、研发等各个维度上,都充分Easy化,配套创建更多的文档和视频教程,简单到让产品经理来调研,也能知道EasyDarwin是否可以知足他们产品的需求:算法
强化版本归档:按期更新,按期归档发布版本,更多的时候,不须要编译就能先使用看到效果;编程
简化二次开发:从编程语言继续采用golang,到配套更多的迭代示例,让普通研发只须要几行代码就能接入本身想要的功能;网络
整合:整合ffmpeg等优质工具,以稳定+稳定的方式迭代产品。架构
在开发层面上,继续站在巨人的肩膀上前行:框架
基于golang开发和迭代;编程语言
使用golang + C++进行流媒体关于复杂计算类型功能的开发;svg
引入更多golang社区的优秀组件;
从整个社会的编程开发者到公司,商业化已经愈来愈没法阻挡了,有技术的人担子重、时间少,技术通常的时间多、缺少经验,但凡是开发工做,都得有钱来推进,而咱们开源不但要技术好的来开发、并且还得有时间、愿意分享、愿意抛头露面,这种已是愈来愈百里挑一了,好在,咱们团队还有几个这样的人存在,2019,EasyDarwin,不忘初心,继续前行!