從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,不忘初心,繼續前行!