自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【2014】GitHub中國開發(fā)者年度報告

移動開發(fā)
目前 GitHub 上的注冊用戶數(shù)量已經(jīng)超過 1000 萬,為了準確我們抓取了所有用戶的個人信息并從中篩選出了所有中國開發(fā)者、中國組織和美國開發(fā)者、美國組織,然后抓取了他們所有的公開項目信息進行分析。報告的內(nèi)容分為三個部分,第一部分是中國開發(fā)者的現(xiàn)狀,第二部分是中美開發(fā)者的對比,第三部分是國內(nèi)優(yōu)秀開源項目作者的采訪。

[[127311]]

GitHuber.info 團隊出品

前言

不知道從什么時候開始,GitHub 成為了潮流,沒有個把 Star 上街都不好意思和人打招呼。由于做了 GitHuber.info,我們有機會接觸到很多 GitHub 的數(shù)據(jù),加上@Python 愛好者 的建議,的建議,我們決定自己抓取、分析數(shù)據(jù),做一個報告出來,讓大家對中國開發(fā)者在 GitHub 上的現(xiàn)狀有更具體的了解。

目前 GitHub 上的注冊用戶數(shù)量已經(jīng)超過 1000 萬,為了準確我們抓取了所有用戶的個人信息并從中篩選出了所有中國開發(fā)者、中國組織和美國開發(fā)者、美國組織,然后抓取了他們所有的公開項目信息進行分析。

報告的內(nèi)容分為三個部分,第一部分是中國開發(fā)者的現(xiàn)狀,第二部分是中美開發(fā)者的對比,第三部分是國內(nèi)優(yōu)秀開源項目作者的采訪。

第一部分從個人信息、項目信息和組織信息三個方面對中國開發(fā)者進行了統(tǒng)計,由于數(shù)據(jù)量是大長尾,我們將相似的區(qū)間進行了合并,讓圖的可讀性更高。

第二部分同樣從個人信息、項目信息和組織信息三個方面對中美開發(fā)者進行了對比,希望借此讓大家更了解我們和美國開發(fā)者之間的異同。

第三部分我們采訪了幾個國內(nèi)優(yōu)秀開源項目的作者,我們有意選擇了不同類型的項目,從而可以展示不同的開源項目發(fā)展路線,讓不同類型的開發(fā)者都能有所收獲。目前國內(nèi)的開源環(huán)境還處于發(fā)展期,仍有很多方面需要探索,希望借此拋磚引玉讓大家深入思考開源。

由于我們是第一次做這樣的報告,加上一些時間、設備方面的限制,并沒有做出我們期望的所有報告內(nèi)容和展示效果。不過從題目就可以看出來,這個報告我 們會一直做下去。失敗的事情太多了,也不差我們這一件。不過萬一成功了呢,萬一為大家?guī)硪恍﹥r值呢?想做的事情還是要去試一試的。

這是 1.0 版,之后我們還會根據(jù)大家的反饋不斷完善和更新內(nèi)容,因此我們非常希望大家能提出各種意見和建議,微信微博郵件網(wǎng)站,想用哪個都可以,我們會全部記錄下來。

非常感謝欒俊清和夏天晗,作為 GitHuber.info 團隊的一員,大家為這份報告付出了太多;感謝所有接受采訪的作者,在百忙之中抽出時間來耐心回答我們一連串的提問;感謝各位顧問,為這份報告提出了很多有 用的建議——雖然并不是每個人都會發(fā)聲,但是即使作為觀眾,也給我們帶來了無盡動力;感謝何斌協(xié)助挖掘數(shù)據(jù);最后,還要感謝看報告的每一個你,報告本身毫 無價值,是你們的注視給它注入能量,讓它能夠發(fā)光,謝謝你們,謝謝大家!

梁杰

2015. 1.29

中國開發(fā)者數(shù)據(jù)統(tǒng)計

個人信息

從上下兩幅圖中可以看出中國區(qū)程序員的活躍時段,右側(cè)的圖例是 GitHub 的各個事件,最高的灰色是 Push,次高的橘黃色是 Watch??梢钥闯?,每周六的活躍度最低,周日的活躍度比周五還高。每天的活躍度有三個高峰:上午、晚上和半夜,半夜的最高,可見大家都是夜貓子。

polyrabbit 用過 129 種語言,原因是他的項目 polyglot 中包含一個編程語言的語料庫,其中收集了各種語言的代碼段。

由于項目中可能包含第三方庫,所以統(tǒng)計出的語言數(shù)會稍大于實際使用的語言數(shù)。不過即便如此,還是有很多人掌握多門語言。

之所以使用字節(jié)而不是行數(shù),是因為從 GitHub 的 API 拿到的就是字節(jié)。此外,我們也認為字節(jié)比行數(shù)更精確一些。

可以看出絕大多數(shù)開發(fā)者的總代碼量集中在 10 萬~100 萬字節(jié)這個區(qū)間,可以在這里統(tǒng)計一下你的代碼量,看看處于哪個區(qū)間。

去 Fork 和不去 Fork 的差別非常之大,去掉 Fork 之后基本上數(shù)量都會下降一個數(shù)量級,可見大家非常喜歡 Fork。在我們的理解中,F(xiàn)ork 就表示你想要給項目提交代碼,如果只是關注的話 Star 就完全夠用了,F(xiàn)ork 過來項目還會干擾查看自己項目。

Fork 最多的那個朋友有 8000 多個項目,很難想象打開自己項目列表的時候是一種什么體驗,大家可以去體驗一下。

絕大多數(shù)開發(fā)者的粉絲數(shù)都沒有超過 10 個,超過 1000 個粉絲的開發(fā)者極其少見。事實證明,互粉最多只能走到第三個區(qū)間,到第四個區(qū)間必須要有優(yōu)秀的開源項目,GitHub 是一個靠代碼說話的地方。

Star 數(shù)的統(tǒng)計顯示大多數(shù)開發(fā)者的 Star 數(shù)都在 500 以內(nèi)。Star 就像收藏夾,內(nèi)容太多反而會影響使用。目前已經(jīng)有了一些不錯的 Star 項目管理工具,比如 oh my star,可以借助這些工具充分發(fā)揮 Star 的價值。

關注的價值在哪里?似乎是可以看看大神們每天都在做什么。不過 GitHub 作為一個程序員的社交平臺,在交互方面似乎還是稍重了一些,并不能像微博那樣易用,用 GitHub 的 API 實現(xiàn)一個移動版是個不錯的選擇。

項目信息

單個項目的代碼量大多集中在 1 萬到 10 萬字節(jié)這個區(qū)間, 前端項目大多短小精悍,或許與此有關。之后我們會統(tǒng)計不同語言的項目代碼量分布,看看各個語言的繁瑣程度。

分⽀⽅面,⼤量的項目都在 3 個以下,這反映出⼤部分項目還是純個人開發(fā),并沒有達到需要規(guī)范分支的程度。隨著項目的不斷膨脹,分⽀的管理也會變成很重要的⼀環(huán)。

PR 和 Issue 的分布并不意外,90% 的項目幾乎沒有 PR 和 Issue。在采訪李成銀的時候我們也討論過這個問題,反饋對一個開源項目來說非常重要,即使沒有能力提 PR,也可以盡量提 Issue,讓項目越走越好。

 

項目 Star 數(shù)
vinta/awesome-python 9083
numbbbbb/the-swift-programming-language-in-chinese 8078
julycoding/The-Art-Of-Programming-By-July 5500
astaxie/build-web-application-with-golang 5452
Trinea/android-open-project 5408
justjavac/free-programming-books-zh_CN 4749
tommoor/tinycon 4231
astaxie/beego 3678
greatfire/wiki 3677
binux/pyspider 3602

組織信息

 

 

組織部分總體的分布趨勢和項目很類似,不過各項統(tǒng)計按比例來算要比項目信息稍差一些。按理說組織中的項目應該更容易吸引成員參與,從而在 PR、Issue 上有更好的表現(xiàn)。反過來說,目前中國的組織并沒有充分發(fā)揮組織的作用,對開源項目的發(fā)展推動不大。目前國內(nèi)的優(yōu)秀開源項目主要還是依靠線下團隊的合作開 發(fā),距離美國開源項目的眾包模式還有些差距。

 

項目 Star 數(shù)
ecomfe/ECharts 5240
haiwen/seafile 2625
fastos/fastsocket 2558
railsbp/rails_best_practices 2545
alibaba/tengine 2429
cNode.js/nodeclub 2226
nomad/cupertino 2166
allmobilize/amazeui 2140
springside/springside4 2087
nomad/shenzhen 2038

#p#

中美開發(fā)者對比

個人對比

圖中左側(cè)圖例由上至下的順序就是語言的排名,餅圖中順時針方向也是語言的排名。

可以看出 JavaScript 和 CSS 占絕對優(yōu)勢,兩者加起來接近 1/3。中美差別比較大的是 Java 和 Ruby,這兩個語言的排名幾乎完全對稱。作為國內(nèi)的大熱門 Java 排在前面并不奇怪,但是另一個大熱門 PHP 卻并不靠前,甚至還比美國區(qū)的 PHP 使用率低,似乎國內(nèi)的 PHP 愛好者們并不太熱衷于開源。

右側(cè)是中美個人統(tǒng)計的對比,第一張和第三張圖中美的分布非常相似,第二張和第四張圖中稍有差別,在第一個區(qū)間中國的比例要小于美國,其他區(qū)間中國的比例要大于美國。

第一個區(qū)間是不活躍的用戶,可以看出美國的不活躍用戶比例比中國大。從第二個區(qū)間開始是活躍用戶,中國的比例大于美國。

之所以會出現(xiàn)這樣的情況,主要是因為美國開發(fā)者的數(shù)量很大。我們過濾出的中國開發(fā)者約 6 萬 7 千人,而美國開發(fā)者有約 36 萬人,在這種情況下,美國有更大比例的不活躍用戶也可以理解,量的上升往往帶來質(zhì)的下降,希望在總量相當?shù)臅r候我們?nèi)阅茉诒壤项I先。

項目對比

左側(cè)是中美項目統(tǒng)計的對比,可以看到三張圖的對比結(jié)果非常類似:在第一個區(qū)間中國的比例大于美國,其他區(qū)間中國的比例往往遠小于美國。

后幾張圖中的對比結(jié)果表示美國的活躍項目量全面大于中國,從第二個區(qū)間開始美國的比例最多可以達到中國的三倍,這意味著絕對數(shù)量的比例在十倍以上。

總體來說,個人信息的對比上美國稍弱于中國,但是項目對比上要強于中國,說明美國的活躍用戶其活躍度確實比中國高很多。

代碼量的對比比較特別。我們統(tǒng)計到的中國區(qū)項目量大約是 22 萬,美國區(qū)項目量大約是 100 萬,也就是說美國的絕大多數(shù)代碼都集中在第二和第三個區(qū)間,其數(shù)量遠大于中國。

從分支數(shù)來看,美國和中國的對比相差不多。不過相比之下分支數(shù)量更加集中在第二個區(qū)間。前面我們說過量的上升往往會導致質(zhì)的下降,從這個角度來說,目前我們的量和質(zhì)都處在劣勢,還需要不斷發(fā)展。

組織對比

組織的對比我們稍有劣勢。我們統(tǒng)計出 2500 個中國區(qū)組織和約 25000 個美國區(qū)組織,也就是說美國的組織數(shù)是中國的十倍。人數(shù)是中國的四倍,組織數(shù)卻達到了十倍,組織的各項指標也要強于中國,可見美國區(qū)的組織整體形式很好。

各項平均值對比

#p#

國內(nèi)優(yōu)秀開源項目作者采訪

ECharts

G:介紹一下你自己吧。

林峰:林峰,開源中國 @Kener-林峰,GitHub @kener ,微博 @Kener-林峰,百度商業(yè)前端通用技術組,數(shù)據(jù)可視化方向負責人,資深前端研發(fā)工程師。喜歡設計,熱愛編程,ZRender,ECharts 作者,目前專注于數(shù)據(jù)可視化方面的研究工作。

G:能否簡單介紹一下 ECharts 以及它的應用場景?

林峰:數(shù)據(jù)可視化產(chǎn)品有很多,ECharts 定位在滿足可復用的商業(yè)數(shù)據(jù)可視化需求,與業(yè)界已有的 Highcharts、FusionCharts 同級別的產(chǎn)品,當然他們都是成熟的商業(yè)收費產(chǎn)品,我們免費開源了,才起步,完善程度還有不小的差距。但不謙虛的說,ECharts 高度個性化和交互能力在不少方面已經(jīng)成為了業(yè)界領先,拖拽重計算、大規(guī)模散點圖獲得了國家專利,數(shù)據(jù)視圖、值域漫游、子地圖模式也都是業(yè)界首創(chuàng),獨有的功 能。至于應用場景就比較廣了,不同行業(yè)都有各種需求?;ヂ?lián)網(wǎng)就不用多說,報表系統(tǒng)、運維系統(tǒng)、網(wǎng)站展示,只要有數(shù)據(jù)展現(xiàn)的需求基本都能使用。像傳媒,數(shù)據(jù) 新聞在近幾年也被越來越多的提及,財新網(wǎng)走得很前,他們是最早使用 ECharts 作為數(shù)據(jù)新聞的可視化工具。各行各業(yè)其實都有營銷展示、企業(yè)品牌宣傳、運營收入的匯報分析等各種各樣的應用場景,不管大數(shù)據(jù)是否被過渡熱炒,數(shù)據(jù)確實已經(jīng) 成為很多企業(yè)最受重視的財富之一,有數(shù)據(jù)的地方基本都會有這方面的需求。

G:最初是怎么想到開發(fā) ECharts 的呢?

林峰:我進入百度的時候被分配到一個對公司舉足輕重的產(chǎn)品:鳳巢系統(tǒng)。2 年多的摸爬滾打從菜鳥變成了高級菜鳥,成了鳳巢前端的技術負責人,整天跟各種數(shù)據(jù)打交道,開始知道了數(shù)據(jù)的價值和力量,那是 2012 年末,大數(shù)據(jù)這名詞才剛剛浮出水面,數(shù)據(jù)可視化更是(至少在國內(nèi))未被流傳,喬幫主不讓i系列上運行 Flash 加上 HTML5 開始火熱,我們需要尋求一個解決方案,用于鳳巢系統(tǒng)數(shù)據(jù)報表的可視化展現(xiàn),用于對鳳巢系統(tǒng)用戶體驗監(jiān)控數(shù)據(jù)的可視化展現(xiàn)等等,編程+設計+數(shù)據(jù)的結(jié)合的仿 佛為自己量身定制,于是就轉(zhuǎn)向了數(shù)據(jù)可視化的研究。百度前端領袖人物 Erik 回歸后組建了商業(yè)前端的通用技術組,特意的規(guī)劃出數(shù)據(jù)可視化方向,我也就順理成章的從鳳巢技術負責人的角色轉(zhuǎn)到現(xiàn)在的角色,然后就挖了一個很深很深的坑 (ECharts 的功能設計),之后近 1 年的時間里就開始與團隊一起一點點的填上這個坑。

G:ECharts 發(fā)展到現(xiàn)在,儼然成為國產(chǎn)最佳開源項目,大家一定都很好奇 ECharts 是如何走到今天的,能聊聊這個過程嗎,有哪些你印象深刻的事件呢?

林峰:最佳不敢當,只是一直在認真的做一件自己感興趣,對公司也對領域有價值的事情而已。這是 ECharts 的第 19 個月,每天習慣性的看看 ECharts 的 Star 數(shù),每到整百的時刻就記錄一下仿佛已經(jīng)融入到生活里。感謝領導們的信任讓我們團隊大多都可以隨心所欲的工作,我們不用擔心查崗,沒事出去參加個交流甚至跑 去看個展覽熏陶一下啦,喜歡的話在咖啡廳呆上一天也都可以。這種信任給予的自由并沒有減少工作時間或降低效率,我相信我們團隊的小伙伴們都早已習慣了隨時 隨地工作(餐廳、地鐵、機場甚至醫(yī)院),關鍵的是大家也愿意自發(fā)的工作,或許這也是造就 ECharts 很多天馬行空的 feature 誕生的因素,已經(jīng)數(shù)不清有多少個大晚上 hi 里突然蹦出小伙伴創(chuàng)造的杰作(我們早已窮盡了相互吹 NB 拍馬屁的詞語了),也忘記了自己多少回半夜突發(fā)靈感爬起來敲代碼了。編程本身就是一件創(chuàng)造性的工作,更不用說我們做到還是一件與藝術結(jié)合的事情,如果你并 不真正喜歡,只把他作為朝九晚五的差事,你也就不會有創(chuàng)造力了。

很感謝陪伴 ECharts 一路走來的各位,沈毅,祖明,董睿,宿爽,紅啟,楊驥,叮叮,黃悅,同兵,太云,周揚,世威,胡瑤,德城師兄,李湛總,志敏總,陳為老師等等,當然,可能 還包括您。所有印象深刻的事件也都與你們有關,ECharts 1.1.0 發(fā)布微博是我們第一條轉(zhuǎn)發(fā)過 500 的微博(還好沒被抓)。1.3 后我們被譽為“可視化領域的后起之秀”出現(xiàn)在各大主流技術媒體上,拿下了當年中國 10 大熱門開源項目。1.4 后已經(jīng)有了三種不同編程語言的 ECharts 版本,Why ECharts 的分享在R語言,數(shù)據(jù)庫等大會上出現(xiàn)。2.0 前夕我們在公司各大電子屏上面放了“比 ECharts 更好用的圖表即將出現(xiàn)”的宣傳海報引來很多關心我們的朋友“聲援”,一個不大不小的驚喜,2.0 發(fā)布我們刷了微信幾乎所有與大數(shù)據(jù)相關的大V公眾號頭條,這是我們對自己發(fā)起的挑戰(zhàn)和超越。2014 年 6 月 30 我們?yōu)?ECharts 辦了第一個生日會,從此有了小鯨魚的形象。2.0 后我們團隊基于 ECharts 的應用百度圖說上線開始公測。北京、上海、廣州、杭州、武漢、哈爾濱、西安,各種活動,各種公司,已經(jīng)數(shù)不清做過多少次分享了。我們還帶著小鯨魚去了硅谷 讓美帝同學知道我們的厲害,我們?nèi)チ藦V州,在酒店里我們通宵的準備了第二天的分享,還把圖說正式發(fā)布了,讓我們高興的是活動第二天上了廣州日報的頭條。 2.1.8 ECharts 的英文官網(wǎng)終于上線也開啟了我們國際化的征程,成為了中國第一個也是目前唯一一個入選了 GitHub Explorer Data Visualization 板塊的開源項目,短短 2 個月后 Jaroslav Benc 帶來了 Datamatic ECharts edition (英文版的圖說)讓我們倍感壓力,老外(此處為尊稱)程序員太 NB 了!登錄 GitHub 熱門榜單,star 破 5000,百度人氣、知識圖譜、世界杯等合作項目的上線等等,回想起來歷歷在目,有太多值得紀念的時刻,感謝有你。

G:ECharts 目前還面臨哪些問題呢,未來有什么發(fā)展計劃嗎?

林峰:對我們自己項目升級和維護來說,代碼體積,特性功能耦合在主模塊里是最大的問題,要進一步的打散,更細粒度的拆分,提供動態(tài)、按需組裝的能力。

對開發(fā)者項目開發(fā)來說,更詳細友好的文檔,幫助,我想我該做些教程了(已經(jīng)計劃半年了...)。

對圖表閱讀使用方來說,移動設備優(yōu)化,藝術美感的提高,大數(shù)據(jù)性能響應。ECharts 2.2 已經(jīng)做了大量移動設備優(yōu)化工作,ECharts-m (ECharts Mobile 版)很快就要跟大家見面了,其他的事情先賣個關子,很快大家就會看到更好玩的 ECharts。

G:ECharts 的發(fā)展過程中應該也遇到過很多困難吧,你是如何克服它們的呢?

林峰:永遠都有未完成的任務列表,這是我寫 ECharts 以來一直提到的,我曾經(jīng)極度懷疑我是永遠沒法把這個任務列表清空的,現(xiàn)在我是深信不疑了-_-。

不管團隊還是個人,能力和時間在某段日子里總會是有限的,能做和可做的事情有很多,可以也應該收集盡量多的需求和反饋,但要學會辨別哪些是真實需求哪些是偽需求甚至是不合理的需求,不要被用戶左右,學會做減法,保持自己的節(jié)奏。

另外就是很多人看到來自百度的不管什么東西,上來先劈頭蓋臉的一句“真是谷歌有什么百度出什么啊”,也不管好壞與否,接著補刀“一看就是山寨 xx 的貨色,跟 xx 比弱爆了”,一開始我還去禮貌的跟他們回復一句我們的不同啦,特色啥的。他們還會接著找茬,上手調(diào)不通就罵文檔,不符合他的預期就說有 bug,后來我發(fā)現(xiàn)完全沒必要浪費這個時間伺候他們。做好自己的事情就行,忍并隨他去吧,當你把事情做好了他們就會慢慢的閉嘴的,他們?nèi)绻娴男枰? ECharts,那些文檔就能解決的問題寫得再爛他早晚也會自己找到或者從各種途徑問到的。

這可能會怠慢了一些人,但我后來明白了,把精力放在更該做的事情上是對更多人的負責,用祖明同學的話,這是“我們指尖上的責任”。

G:可以總結(jié)一下 ECharts 的發(fā)展模式嗎?比如先從興趣出發(fā)最后得到公司支持,或者從誕生就由公司支持和運作等等。如果其他開發(fā)者也想遵循這個模式的話,有什么話想對他們說嗎?

林峰:ECharts 怎么來的各位自己去看緣起吧,我很幸運,這事本身就是自己的興趣,也是公司的需要,遇到各種好領導放任自如的讓我隨意發(fā)揮,并且當事情越做越大的時候能夠不斷的給于支持和幫助。

做好一個項目,最最重要的,團隊的力量,要找到那些志同道合,才華橫溢的小伙伴與你并肩,ECharts 團隊是個跨部門的虛擬組織,我們面向百度全體 FE 招募,組建時我立了個規(guī)矩,“如果你忙或者沒時間做這件事情,請暫時離開,我們隨時歡迎你歸來”,剛開始幾個月我兩周清一次場,各種進進出出,但半年后團 隊就基本穩(wěn)定至今了,用叮叮的話我們也成了一個小小的 family。

G:最后來聊聊開源吧,你覺得開源對大多數(shù)普通程序員來說意義何在呢?大家都聽過開源、GitHub,但是就像那些大道理一樣,真正做的時候往往無法進行結(jié)合,你覺得程序員應該如何充分利用 GitHub 呢?

林峰太有意義了,學習??!看大牛們的代碼是一種幸福,從模仿到領悟到融入自己的程序里,這就是成長。身邊很多大牛們都把 GitHub 視為游樂場或者玩具店,不是說兒戲了,是要有玩家的態(tài)度和享受玩的快樂,要在上面學會折騰,GitHub 上有無數(shù)好的項目,多動手,多折騰,嘗試融入到這些開源社區(qū)去做些貢獻,一開始哪怕就是跟 Issue 湊熱鬧,給些使用反饋,文檔錯別字糾正都是有意義的,然后就是貢獻自己的想法,幫助別人解決問題,當你開始貢獻代碼,或許你就能體會到開源對你的意義。

G:2014 年國內(nèi)開源界涌現(xiàn)出很多優(yōu)秀的開源項目,大多數(shù)似乎都有公司的介入,這一點上國外的優(yōu)秀開源項目也很類似,往往有大公司的程序員是核心貢獻者。你覺得公司在開源項目中扮演的是什么角色呢?在當前國內(nèi)的大環(huán)境下,如何在公司中做一個成功的開源項目呢?

林峰:對公司來說是貢獻者也是獲益者,公司是不會無緣無故啟動一個跟自身業(yè)務無關或者自己都用不到的項目。好的項目能獲得更多人的關注、反饋、代碼 貢獻,開源后如果能讓這個項目發(fā)展更好不僅對公司自身項目需求有意義,甚至可以讓公司在某個領域確立自己的技術領導地位(想想看 Android,Linux,jQ,Bootstrap),這無疑是對公司極好的事情。

公司是否可以運作一個開源項目跟公司狀況和基因有關,這個真不好說。只能說一點,在公司內(nèi)做開源項目,這個項目本身是否對公司帶來價值是關鍵,短期的長期的都最好要有。

PS:我們離成功還遠著呢,還沒到分享成功經(jīng)驗的時候。

ThinkJS

G:介紹一下你自己吧。

李成銀:我叫李成銀,工作 7 年了吧。以前在百度待過,現(xiàn)在在 360,以后嘛還不知道。以前是做后端的,現(xiàn)在主要在做前端以及 Node.js 這邊的一些東西。我自己想做并且一直在做的是一些工程化、工具化、流程化方面的東西,希望可以提升團隊的開發(fā)效率。

G:為什么要開發(fā) ThinkJS?

李成銀:使用 Express 的時候感覺框架功能有限,無法快速實現(xiàn)特定的業(yè)務需求,此外,Node.js 自身的異步寫法并不好寫也不好用,再加上之前用過 ThinkPHP,于是就想開發(fā)一個使用 Promise 的類似的 Node.js 框架。

G:ThinkJS 是如何發(fā)展起來的呢?

李成銀:最初是作為興趣來做,并不是一開始就準備當做一個項目來寫。到 2014 年 4 月份的時候發(fā)現(xiàn)這個項目在公司內(nèi)外都有很多人在用,大家也確實有這樣的需求,于是就繼續(xù)做下去,并明確了當做部門的正式項目來做。2014 年 9 月 22 號 1.0 正式發(fā)布,標志著 ThinkJS 成為一個正式的開發(fā)項目。1.0 之前主要是實現(xiàn)了我個人的一些想法,但是之后作為部門的正式項目,部門會有更多時間和人力的投入,也會考慮 merge 一些 PR。

G:ThinkJS 為什么決定采用開源的形式來做呢?

李成銀:實際上現(xiàn)在不涉及公司機密的東西公司都是鼓勵開源的。對于前端來說,本來代碼就是藏不住的,既然藏不住何不把它開源出去,用更好的心態(tài)來擁 抱它。這其實也是 GitHub 上前端項目最多的原因。雖然 ThinkJS 是一個后端框架,但是因為我們有這樣一種心態(tài),所以一開始做的時候就很自然的決定要開源。

G:開源給 ThinkJS 帶來了什么呢?

李成銀:開源可以帶來更多的用戶,從而可以發(fā)現(xiàn)更多我們內(nèi)部使用無法發(fā)現(xiàn)的問題和需求,讓項目可以發(fā)展的更好。此外,開源項目對團隊和維護者本身有 很大的提升作用。開源項目除了技術還有很多東西要做,比如寫文檔、和用戶交流等等,這些事情實際上會鍛煉很多重要的能力,長遠來看對于開發(fā)者個人的發(fā)展有 很大好處,之后做更大的事情時就會發(fā)揮出效果。

我也很不喜歡寫文檔,寫完文檔代碼變了就必須更新。但是實際上很多用戶都是只看文檔不看代碼的,因此你的文檔質(zhì)量直接影響到項目的上手難度和使用效果。

G:ThinkJS 有沒有受到公司方面的幫助呢,比如推廣?

李成銀:ThinkJS 實際上是以部門的形式開源,并不是以公司的形式開源。這樣做的好處是更加自由一些,而且和公司的關系并不是特別緊密,這對于項目本身的發(fā)展是一件好事,因 為如果項目和公司關系非常緊密的話,一旦項目的負責人離職,項目就很可能無法繼續(xù)發(fā)展。雖然這樣做可能會減少一些公司方面的支持,但是長遠來看對項目的發(fā) 展更有利,主要的支持來自社區(qū)。

G:ThinkJS 是如何從一個個人項目轉(zhuǎn)變成部門的正式項目呢?

李成銀:主要有兩方面原因,一方面是當時已經(jīng)有一些人在用 ThinkJS,我們看到了這個項目的實際效果,再加上 Node.js 越來越熱,我們覺得這個項目未來有很好的發(fā)展前景,因此就變成了部門的正式項目。這其實是一個很自然的過程,從個人興趣出發(fā)的項目如果在實際使用中得到大 家的認可并且有很大潛力的話,就很可能會被部門認可。

相對來說,產(chǎn)品型的項目更容易得到認可,因為產(chǎn)品類型的項目更容易看到效果,技術類型的項目有時候很難統(tǒng)計使用情況,有些公司并不會公開他們使用的技術。不過總體來說,只要一個項目能體現(xiàn)出它自己的價值,就很容易變成部門的項目。

G:你覺得國內(nèi)的開源現(xiàn)狀如何呢?

李成銀:目前國內(nèi)的開源項目基本上都是團隊內(nèi)部在開發(fā),即使是非常成功的項目 PR 也非常非常少,所以目前來說國內(nèi)的開源環(huán)境仍然不夠活躍不夠開放。一個項目出來會被很多人罵,不過關鍵就是別人罵了我們我們還不知道,也就無法改進。我們 覺得罵本身不是壞事,說明用戶還是需要你的項目的,只是項目不夠好而已。但是關鍵是罵也要去 Issue 里罵,這樣我們才能看到。總體來說國內(nèi)的開源環(huán)境已經(jīng)比之前要好了,Issue 多起來了,PR 也有一些,不過目前來說還不夠成熟,不能像國外的項目一樣能夠通過 PR 完成很多功能。

其實也不能怪大家,國內(nèi)和國外的工作情況就不一樣。國外大家把編程當興趣來做,工作也沒有國內(nèi)這么忙,所以有更多的時間和興趣投入開源項目中。國內(nèi) 經(jīng)常加班,壓力很大,大家對于開源的熱情就不高,更多的是把開源項目當做一個寶庫,遇到問題的時候去找現(xiàn)成的解決辦法,而不是參與其中。

此外,大家更喜歡用國外開源項目還有一個原因,就是國外的項目更加穩(wěn)定,不太容易出現(xiàn)項目無人維護的情況。國內(nèi)的開源項目有時候開發(fā)者會放棄并停止 更新,這樣依賴這些項目構(gòu)建的項目就會很難處理,而國外的開源項目即使維護者停止更新,他也會找到其他人繼續(xù)維護,比如前段時間的 Express,這就讓用戶很有安全感。

Cocos2d-x

G:請簡單介紹一下你自己吧。

林順:林順,Cocos2d-x 的聯(lián)合創(chuàng)始人,從小喜歡玩游戲,暴雪粉,星際死忠粉,最近愛上風暴英雄,喜歡不受打擾寫代碼,喜歡數(shù)碼電子。

G:Cocos2d-x 大家應該都聽過了,說實話我第一次聽到它的時候還以為是國外的開源項目,后來知道是國人開發(fā)的時候非常驚訝。雖然 Cocos2d-x 在國內(nèi)已經(jīng)非常有名,不過對于大多數(shù)沒有接觸過游戲的開發(fā)者來說可能不太了解,你能介紹一下 Cocos2d-x 以及由它延伸出的整條產(chǎn)品線嗎?

林順:Cocos2d-x 是專業(yè)的跨平臺移動游戲引擎,采用 MIT 協(xié)議,從 2010 年 7 月提交第一行代碼到 GitHub 就是完全開源免費的,目前在全球超過 25% 的市場份額,而在中國這一份額超過 70%,全球超過 40 萬的開發(fā)者正使用該引擎開發(fā)游戲。X 代表著 Cross,為開發(fā)者提供了跨平臺支持,采用 C++ 語言編寫一次游戲邏輯即可編譯到 iOS、Android 以及更多手機平臺上運行,并且運行性能是最高效的。2012 年初 Google 贊助 Cocos2d-x 團隊創(chuàng)建了 Cocos2d-html5 分支,并在 Zynga 的幫助下完成了 JSB(JavaScript Binding)產(chǎn)品的開發(fā),實現(xiàn)了 JS 腳本游戲一次開發(fā),不僅能跨原來 Cocos2d-x 支持的所有平臺,還能發(fā)布到 Web。

目前 Cocos2d-x 的工具鏈已經(jīng)覆蓋了游戲從新建項目一直到游戲 SDK 接入、打包發(fā)布的全過程,集成開發(fā)工具 Cocos Studio 支持快速原型構(gòu)建和驗證,調(diào)試腳本代碼和應用打包使用 Cocos Code IDE,AnySDK 高效快速接入海量渠道。此外,Cocos 社區(qū)還有 Cocos Play 和 Cocos Runtime 來實現(xiàn)游戲的點擊即玩效果,提升游戲轉(zhuǎn)化率。2015 年 3D 和 3D 編輯器將是 Cocos2d-x 的發(fā)展重點,秉承最高效,體積最小的優(yōu)勢,提供更強大的 3D 功能,支持用戶使用 Cocos2d-x 的 3D 版本做出優(yōu)秀的 3D 游戲作品。

G:Cocos2d-x 應該從誕生開始就是由公司在運作的項目吧,最初公司為什么選擇做游戲引擎,又是如何決定把它開源的呢?

林順:Cocos2d-x 從最開始就是完全開源、免費,當時 Cocos2d-x 項目的目標是為我和王哲所在的操作系統(tǒng)公司提供游戲內(nèi)容。一個新操作系統(tǒng),全新的生態(tài),沒有很好的游戲內(nèi)容,一點都不高大上,而是高處不勝寒,所以我們開 發(fā) Cocos2d-x 這個跨平臺的開發(fā)工具,讓開發(fā)者可以快速的將游戲發(fā)布到 iOS 的同時,能快速、低成本的發(fā)布到 Android,最后順手一編,將游戲內(nèi)容也導入我們的操作系統(tǒng),實現(xiàn)零落差同步導入最優(yōu)秀的游戲內(nèi)容。

G:目前在國外已經(jīng)有一套很成熟的公司參與開源甚至主導開源的模式,但是在國內(nèi)這還是一個比較新的概念。開源本身的不確定性和公司需要的可控性應該是矛盾的,觸控科技是如何處理這個矛盾呢?

林順:開源引擎在不確定性和可控性上并沒有很大的矛盾,目標都是提高效率,降低成本,更好的為商業(yè)游戲開發(fā)服務。

開源游戲引擎的好處是可以從社區(qū)獲得最直接的需求,接地氣,推動產(chǎn)品往正確的方向快速發(fā)展;社區(qū)的代碼貢獻者也能共同分享他們的成果,從而加速產(chǎn)品 升級。Cocos2d-x 的發(fā)展離不開觸控科技《捕魚達人》系列游戲的推動,《捕魚達人1》基于 Cocos2d-x v1.0,引擎所有技術上的坑是捕魚游戲最先趟平的,國內(nèi)各種奇葩機型的適配和性能優(yōu)化,也都是基于捕魚達人進行驗證。

G:Cocos2d-x 整條產(chǎn)品線發(fā)展到現(xiàn)在的規(guī)模和知名度,你覺得開源在其中起到了什么作用呢?

林順:開源在里面有決定性的作用,首先開源社區(qū)的需求驅(qū)動模式,為我們提供了最好的需求參考,其次,來自全世界超過 300 位的優(yōu)秀工程師在為引擎貢獻代碼,這是一筆無法估算的財富,如果不是因為開源模式,我相信沒有哪家公司能讓這么多的優(yōu)秀工程師在為同一個項目貢獻代碼。最 后,開源免費的模式,讓更多人能從中受益,他們的口口相傳才造就了今天 Cocos2d-x 的口碑和用戶基礎。

G:什么事都是有利有弊,你覺得公司主導的開源項目相比個人或者社區(qū)主導的開源項目利在哪里,弊又在哪里呢?

林順:有公司或者資本提供支持的開源項目,相對于個人或者沒有資本支持的開源項目的優(yōu)勢:有更多的資源投入,對開源項目的后期發(fā)展至關重要,允許有 更多專職的研發(fā)人員,產(chǎn)品的迭代周期和質(zhì)量也能得到很好的控制,提供更加持續(xù)長久的維護,可以讓開源產(chǎn)品走的更高、更遠。至于弊端,那就得看對開源項目的 態(tài)度,如果本著服務行業(yè),推動行業(yè)升級,用開放的心態(tài)來做開源項目,并不會存在著什么弊端,全世界范圍內(nèi)也并不乏有各個公司支持的開源項目。當時我們的操 作系統(tǒng)公司做的不好了,引擎項目發(fā)展的卻是很好,愿意投資我們的有好幾家,但是最后還是覺得陳昊芝思路很開放,能堅持不把一個開源的項目做成閉源商業(yè)項 目,最終和他一起做,一路走來,也發(fā)現(xiàn)我們當初的選擇是最正確的。

G:如果其他公司也想走開源路線,有什么話想對他們說嗎?

林順:非常歡迎一起加入開源路線,開源項目不論是對個人和對公司,能學習到很多寶貴的知識,社區(qū)里匯集的智慧是巨大的寶貴的,國外資深程序員教你兩 招,你就能發(fā)現(xiàn)原來代碼還能這么寫,框架還能這么設計優(yōu)雅。另外,和社區(qū)做好互動,有效采集用戶需求和反饋,是推動開源項目往正確方向發(fā)展的關鍵,也是產(chǎn) 品化和易用化的捷徑。

G:最后來聊聊開源吧,你覺得開源對大多數(shù)普通程序員來說意義何在呢?程序員應該如何充分利用 GitHub 呢?

林順:參與開源項目對于程序員來講是一種高效、快速學習成長的方法,不僅如此,如果你是一個技術愛好者,參與開源項目你有可能找到自己的興趣,擅長結(jié)合點。當然,如果能找到和商業(yè)的結(jié)合點,進而從事自己喜歡的工作,那就更爽了,這點是很難得的。

一般有秩序的開源社區(qū)都提供很好的知識和經(jīng)驗交流平臺,深入?yún)⑴c到開源項目中,對個人的技術成長和視野會有很大的幫助。

GitHub 在全球的火爆程度無需多表,提供非常高效的項目開發(fā)協(xié)作機制,是了解開源項目運作機制的很好入口。在 GitHub 上,開發(fā)人員可以隨時與全世界的人共享代碼,也允許接受來自全球不同地方的人貢獻各種 idea,代碼片段,也是社區(qū)交流的基礎,越來越多的開源項目遷移到 GitHub 上。最后,歡迎各位加入 Cocos2d-x 開源項目社區(qū),成為我們社區(qū)的一份子,實現(xiàn)自己的游戲夢想。

Pen

G:請簡單介紹一下你自己吧。

小魚:大家都叫我小魚,在大部分需要 ID 的網(wǎng)站叫一般用 sofish。法學院畢業(yè)后,就一直寫代碼。

G:你做過很多開源項目,我們就聊聊 Star 最多 Pen 吧。Markdown 相關的項目非常多,不過 Pen 這樣的項目我確實是第一次見到。簡單介紹一下 Pen 的用途吧。

小魚:Pen 是一個支持 Markdown 的可視化(實時編譯)編輯器。

寫 Pen 是因為當時覺得百姓網(wǎng)用戶發(fā)貼的體驗應該更好一點,剛好 GitHub 當時有一個 ZenPen 的項目很火,準備用。不過這貨代碼耦合度太高,CSS / JS 也分不開,還不能自定義功能。覺得非常雞肋,無奈就只能自己寫。目標就是編輯的時候與發(fā)布結(jié)果一樣,真正的 WYSIWYG,并支持自定義功能,CSS / JS 也好分開。而剛好 Markdown 的一些語法比較簡潔,就直接支持了。當時上了 Trending,GitHub 的員工給提了一個非常給力的 PR,支持顯示 Markdown。

不過后來覺得太麻煩,沒集成在產(chǎn)品上,也就一直沒更新。直到 Teambition 在用,嚴清同學貢獻了很多代碼,也解決了很多隱藏的 Bug。

G:最初是如何想到要做 Pen 這么一個項目呢?做得過程中有什么有意思或者讓你印象深刻的事情呢?和我們分享一下吧。

小魚:像上面說的,直接原因是工作需要。我的大部分開源項目,除了 Typo.css,直接原因都是想把工作中一些功能抽象成模塊,順路就開源了。像最早的 AliceUI 是已經(jīng)大面積用在了支付寶上,才開源的。要說印象深刻,我覺得開源的項目一定要用在某個產(chǎn)品上,特別是商業(yè)項目,才能變的真正好用,因為無論是開源還是閉 源都需要保證質(zhì)量的動力,而工作就是動力之一。任何沒真正用在商業(yè)產(chǎn)品上的開源項目,都是要慎用的,也稱不上好。

G:Pen 是如何獲得這么多的 Star 呢,你有做過什么相關的推廣嗎?

小魚:沒有,就是發(fā)了一下微博和 V2EX,然后就好多人關注了。

G:作為中國區(qū)排名前十的開發(fā)者,你平時的工作應該也很忙吧,你是如何在這種情況下完成 Pen 這個項目的呢?

小魚:工作也忙的,不過不會完全沒有時間。我人生中最忙的階段似乎是在寫我這句話的前 6 個月內(nèi),因為做產(chǎn)品的同時要帶人,常態(tài)是回到家都是 10 點以后,因此最近也沒什么產(chǎn)出,除了 m.ele.me 已經(jīng)上線,并沒有什么開源項目。相比構(gòu)思 Pen 應該是什么樣的,體驗要達到什么程度,寫 Pen 花的時間并不多,300 行代碼對我來說難度并不大。順路說下,ZenPen 當時應該是幾千行級別的,但功能沒有 Pen 好。

G:你覺得作為個人開發(fā)者來開發(fā)和維護一個開源項目難度大嗎?中間有沒有想要放棄的時候呢?

小魚:難度還是要看項目吧。不過我相信人多不一定能解決問題,因為技術問題普遍都有天花板,對于核心思想和技術,大多情況下應該是由更少的人產(chǎn)出 的。思想定了,核心技術定了,添加功能可能并沒有想象中那么難。而對于有沒有放棄,我通常是這樣想的,最差的可能就是放棄。堅持會發(fā)生很多美好的事情,比 如寫博客。如果有很多緊要的事,時間不多,有時候也只能放棄,只做覺得緊要的。

G:你覺得純個人開發(fā)開源項目和有公司背景的開源項目比起來有什么本質(zhì)的區(qū)別呢,作為一個開發(fā)者應該如何選擇?

小魚:本質(zhì)上都是開源。個人并沒有統(tǒng)計過個人開源的東西更成功,還是公司開源的東西更成功。不過像 ElasticSearch 大多代碼都是一個人寫的,非常成功;Docker 是一個公司維護的,非常成功;Bootstrap 是 2 個人開發(fā)的,公司維護的,非常成功。本質(zhì)上我覺得是開源的產(chǎn)品真正有用,就會有人用;如果有公司給時間和金錢支持,那相當好;而最好的是有一個社區(qū),大家 一起維護。比如你可以在 Google 上找到關于 jQuery 的幾乎所有答案,這就是社區(qū)的力量。所以如果你有一個好的項目,那么嘗試培養(yǎng)一個社區(qū),比一個人寫,或者只有公司支持沒有人開發(fā)的僵尸項目好。

G:如果有人也想走純個人的開源路線,有什么話想對他們說嗎?

小魚:做一個有用的產(chǎn)品比是否開源,是不是個人的都更有意思,如果可能,請只生產(chǎn)讓這個世界更美好的東西。

G:最后來聊聊開源吧,你覺得開源對大多數(shù)普通程序員來說意義何在呢?程序員應該如何充分利用 GitHub 呢?

小魚:開源是一種共享的精神。意義可能有很多種。讓別人受益,自己得到改進反饋,讓更多人從代碼認識你,諸如此類,于每個人不同。開源并沒有直接改變過我的生活,不過我喜歡寫寫代碼,還能幫到人,于我已經(jīng)是很大的樂趣,而有樂趣的生活就是我的意義。

對于 GitHub,他只是工作/協(xié)作平臺,這樣的平臺還有更多選擇。不過我一直用它,是因為其他產(chǎn)品都做的太丑,無論是細節(jié)還是體驗,而我更愿意選擇好用的工具,即使付費。

Vue.js

G:請簡單介紹一下你自己吧。

尤雨溪:我叫尤雨溪,目前在一家創(chuàng)業(yè)公司 Meteor 任職,做全棧式 JavaScript 框架的開發(fā)。之前則是在 Google 紐約的 Creative Lab,主要負責 HTML5 的界面原型開發(fā)。

G:MVVM 的框架現(xiàn)在也有不少,Vue 有什么獨特之處嗎?

尤雨溪:Vue 相對于其他 MVVM 框架,最主要有兩個特點:1. 原生 JS 對象即模型;2. 面向組件的開發(fā)模式。其他嘛就是比較輕量,侵入性比較低,容易上手。

G:最初是如何想到要做 veu 這么一個項目呢?做得過程中有什么有意思或者讓你印象深刻的事情呢?和我們分享一下吧

尤雨溪:最初是因為在原型開發(fā)的過程中,需要一個輕量、簡單的框架來提高開發(fā)效率,但當時并沒有符合我需求的框架。我當時研究了 Knockout, Angular 和 Ractive,但他們各自有各自我不喜歡的地方:Knockout 不能用原生 JS 對象做 model,Angular 太龐大,有很多我不需要的東西,Ractive 的 API 最符合我審美,但它當時沒有組件系統(tǒng)。另外一點就是我在看這些項目源碼的時候覺得數(shù)據(jù)綁定的實現(xiàn)很有意思,很想自己寫一個來加深理解。整個過程其實是比較 隨意的,一開始并沒有什么計劃,就是一點一點嘗試去寫,內(nèi)部設計改過無數(shù)次,到 0.11 更是徹底重寫了一遍。

G:Vue 是如何獲得這么多的 Star 呢,你有做過什么相關的推廣嗎?

尤雨溪:一開始剛發(fā)布 Vue 的時候,主要是通過國外的一些軟件開發(fā)新聞聚合站點,比如 HackerNews, Reddit,以及一些前端開發(fā)博客 / newsletter。實際上就是發(fā)個鏈接上去看運氣,之后除了維護一個官方 twitter 賬號之外并沒有做什么刻意推廣。我覺得個人開源項目能否獲得長期關注,很重要一開始發(fā)布的那一波是否能夠產(chǎn)生一個好勢頭,后面基本都是自然增長。當時 Vue 發(fā)到 HackerNews 之后被頂?shù)搅耸醉摚@可能是最關鍵的一個契機,因為 HN 帶來的流量和關注度實在太厲害了,而且受眾全都是開發(fā)者。另一方面就是我在 Vue 的文檔站點上也下了不少功夫,好的文檔表現(xiàn)的是開發(fā)者的誠意,第一印象也很重要。

G:做一個框架應該要投入不少時間精力吧,你是如何安排時間來實現(xiàn)它的呢?

尤雨溪:確實花了不少精力,有段時間我?guī)缀跛械臉I(yè)余時間都花在上面了。當然因為 Vue 也用在工作上的一些項目里所以也有理由在工作時間里分配一些。我做 Vue 其實是有些周期性的,可能會有幾個月特別投入,實現(xiàn)一些比較大的改進,然后會有幾個月專注于別的事情,對 Vue 只是改改 bug。

G:你覺得作為個人開發(fā)者來開發(fā)和維護一個開源項目難度大嗎?中間有沒有想要放棄的時候呢?

尤雨溪:這要看項目的規(guī)模了。一般來說適合個人維護的項目,最好是專注于解決一個較小的專門問題的庫,否則可能會占用過多精力。項目的規(guī)模大到一定 程度以后,最好是由社區(qū)或者團隊來共同維護。說實話 Vue 現(xiàn)在的 issue 增長速度已經(jīng)挺累人的了,好在現(xiàn)在也有很多社區(qū)開發(fā)者會積極地幫忙回答問題,讓我省了很多精力。

G:你覺得純個人開發(fā)開源項目和有公司背景的開源項目比起來有什么本質(zhì)的區(qū)別呢,作為一個開發(fā)者應該如何選擇?

尤雨溪:有公司背景的開源,其背后肯定是有商業(yè)利益的推動,所以只要公司的商業(yè)利益和項目的發(fā)展狀況是正相關的,這個項目就會有比較穩(wěn)定的財力和人 力支持。但這類項目通常更受公司決策的影響,對社區(qū)的意見不如個人開發(fā)的項目來得敏感。個人覺得選擇一個項目的時候是個人還是公司開發(fā)并不是關鍵,關鍵是 看背后的公司/個人是否靠譜。

G:如果有人也想走純個人的開源路線,有什么話想對他們說嗎?

尤雨溪:我覺得做個人開源因為精力有限,所以需要專注,更需要對自己做的項目的定位有明確的理解,確保自己做的東西確實解決了一個痛點,這樣花的精力才有意義。

G:最后來聊聊開源吧,你覺得開源對大多數(shù)普通程序員來說意義何在呢?程序員應該如何充分利用 GitHub 呢?

尤雨溪:我覺得開源的意義對于普通開發(fā)者來說,可以看別人的源碼學習自然是最主要的了。在 GitHub 上利用高級搜索去搜自己語言排在前列的項目和開發(fā)者,可以學到很多東西。另外每周看看 trending 的新項目也可以發(fā)現(xiàn)很多好東西。另一方面,盡可能多地開源自己的代碼也有好處,因為這可以迫使你對自己的代碼保持一個高水準的要求,而不是得過且過。

參與人員

(按姓氏筆畫排名)

團隊成員:

梁杰、欒俊清、夏天晗

顧問:

胡少陽、李靖、李松峰、李濤、林峰、盧俊祥、阮一峰、唐巧、響馬、周裕波、justjavac (迷渡)、sofish

采訪嘉賓:

李成銀、林峰、林順、尤雨溪、sofish

本文出自:http://githuber.info/#/report

責任編輯:林師授 來源: githuber.info
相關推薦

2015-02-03 02:50:37

2021-11-17 16:24:11

GitHub代碼開發(fā)者

2021-01-06 09:36:01

GitHub代碼開發(fā)者

2017-10-13 19:20:26

PythonGitHub年度報告

2018-12-13 12:24:53

GitHub 語言開發(fā)者

2021-11-29 09:56:10

開發(fā)JavascriptGitHub

2015-02-13 10:49:56

jQuery

2010-10-26 15:57:08

UPS市場年度報告

2018-10-19 09:13:55

2015-03-17 10:09:15

iOS開發(fā)企業(yè)開發(fā)者收入

2020-12-03 14:42:28

GitHub編程開發(fā)者

2015-03-17 10:18:21

iOS開發(fā)者收入

2017-12-08 12:44:44

GithubiOS機器學習

2016-03-24 09:51:41

Stack Overf開發(fā)者報告

2014-10-08 09:42:02

2018-12-18 22:31:11

AI數(shù)據(jù)科技

2017-03-24 10:02:35

StackOverfl開發(fā)者調(diào)查

2014-05-30 17:21:04

WWDC2014預測蘋果

2011-12-08 14:50:47

Web App

2018-10-18 14:43:04

點贊
收藏

51CTO技術棧公眾號