Flash已死,哪項技術將會步其後塵?

上個星期,Adobe宣佈2020年後將停止支持Flash。這在某些方面,這一消息令人驚訝:我有時還是會訪問一些利用Flash的頁面,而在一些軟件開發社區中,還是有不少該技術的擁躉。    

但從另外一些情況來看,這一消息姍姍來遲。基於一些軟件開發社區調查出的Flash使用率,大家可能早已知道該技術的衰退。一個最爲顯著的例子就是我們的StackOverflow Trends Tools,從中可以看出Flash從2011年起就不斷地衰退。 

screenshot-1024x518.png

Flash命運的這一逆轉印證了大衆早先看法的正確性,即蘋果在2010年在iPad上取消對Flash的支持,實則“扼殺”了它的發展。

如果說Flash的衰退是人們早預料到的,那麼其他還有哪些技術將會過氣呢?下面我們擺出Stack Overflow的數據來研究一下。 

1. 下一種可能消亡的技術 

即使從2011年起,基於Flash的開發活動就開始明顯減少,但在過去十年間,Flash依然有其擁躉(有其歷史背境的原因)。那麼會不會存在其他一些技術,雖然它們表面上看起來良性發展,但實際上在過去的幾年內,已經在慢慢衰退呢? 

要回答這個問題,先來看看Stack Overflow上這幾年發佈的問題帖子,也即我們的Trends(趨勢)工具所用的數據。通過考察過去五年內的趨勢(包含了一度增長、達到峯值,然後開始衰退的各種技術標籤),然後評估每種技術的衰退速率。這是公共數據(你可以利用這一查詢來自己下載),我也很希望其他人來自己調查一下。

如果關於某一技術的相關問題每年平均減少了至少10%,那麼我們就認爲這項技術處於衰退狀態。按照這一標準,我們看看快速衰退的技術都有哪些? 

estimates-1-1024x1024.png

2010年起,Stack Overflow上快速衰減的兩個技術標籤是Flex(一種基於FlashWeb應用框架)和微軟的Silverlight。這兩種技術衰減的速度甚至超過了Flash本身,尤其是Flex,有關問題數自2010年一度達到頂峯後就開始急速衰減。就它們在網站上的存在狀況來看,這些技術已經下降了約2個數量級。   

 

silverlight_graph-1-1024x1024.png

其中一項技術Silverlight已被廢棄:微軟於2015年宣佈,自2021年起,他們將徹底停止支持Silverlight。Flex雖然從技術上受到官方支持(從2011年起,東家由Adobe換成了Apache基金會),但考慮到Flash地位的下降,以及在開發者問題帖中瀕危的存在感,很難說這項技術有什麼前途。 

 facebook_plot-1-1024x1024.png

主流技術(這裏指從2010年起至少有10萬問題的技術)倒是很少有顯著衰退。自Stack Overflow創立起(2008年),有關微軟的Web 框架

ASP.NET的問題有一定的減少。這可能是一種假象,因爲剛開始時,論壇並沒有太多的C#開發者加入進來。不過這可能也表明,微軟技術在Web開發者心中的地位在有所降低。 

Rubyon Rails相關問題差不多直到2011年纔開始變得越來越多起來,而後又慢慢減少。隨着Swift慢慢將取代Objective-C成爲iOS開發首選語言,Objective-C的相關問題也在減少。同樣,“iphone”與“ipad”這樣的標籤也正被有關Apple移動平臺的綜合性ios標籤所取代(有關趨勢的相關細節可查看我們的博文。 

 

by_month_graph-1-1-1024x1024.png

在這段時間內,還有其他一些技術也在快速衰退。Perl的影響力都衰退已經持續了很長時間(然而值得注意的是,比起Flash或Flex這種徹底僵結的標籤而言,有關它的每月提問數仍有增長。)有關Facebook 應用平臺的相關問題在2012年達到頂峯,但隨後也穩步縮減。Eclipse IDE的相關問題在2014年前後開始縮減。Jquery Mobile雖然是自適應式Web開發的一個流行庫,但根據問題數,近年來開發者對它的興趣似乎有所降低。  

2. 從問題被查看次數來考察會不會另有新意?

當然,問題數量並不一定體現相關技術的真實生命力。在遇到一個問題時,開發者往往並不會先提出自己的問題,他們會先搜尋一下現有解決方案。如果論壇上已有很多相關問題存在,用戶就會從這些問題中找到方案,而不會再提出新問題。那麼對於以上說過的這些技術,是否有些技術的標籤,已提出的問題被查看的機率會更大呢? 

下面我們從問題被查看的次數入手來考察,基於從2011年底的流量數據。 

我們能從這些標籤的流量上看出相同的衰退特徵嗎? 

by_month_graph-1-1-1024x1024.png

對於本文已考察過的處於衰減狀態的技術標籤而言,我們大體可以認爲,採用流量與問題數這兩種方法所揭示出的結論基本一致。自2012年至今,有關Flash、Flex及Siverlight問題的流量已降至接近零點。ASP.NET與Roby on Rails雖仍佔據足夠大流量,但無疑在慢慢衰退。Eclipse在2014年前還保持穩定,之後就開始衰退。   

從我們已分析的絕大多數標籤情況來看,相對於問題而言,問題的流量往往是一個稍顯滯後的指標。一旦某種技術新問題的比例開始減少,問題流量很快也開始減少。注意,這一流量現象的產生原因並非是試圖查看新問題這一行爲那麼簡單,因爲約98%的論壇流量是由回答非當天問題所產生的。更準確地說,這種現象可能證實了這樣一種行爲轉變:當開發者不再需要對某一技術提出新問題,自然也就不會查看該技術現有解決方案了。 

3. 結論:問題是否能真實地反映出某項技術的生命力?

C++之父比雅尼·斯特勞斯特魯普(Bjarne Stroustrup)曾經說過:“只有兩種編程語言:一種是受人鍼砭的,一種是沒人使用的。”我認爲在大部分情況下,他的這種看法也適用於提問。  

我們這些數據團隊的人經常會通過論壇問題數量(或查看次數)來研究技術的生命力。針對此法的批評意見也有很多,他們認爲問題數或流量真正揭示出的是對某項技術感到困惑的人所佔的比例,而更習慣於此技術的人(或稱熟練用戶)可能並不需要提問。誠然,任何一項標準的誤差與缺陷都不容忽視,某項技術的熟練用戶確實也是應考慮的一項干擾因素。

不過,我依然認爲Trends數據可以給予重要啓迪。首先,問題會有窮盡嗎?我不認同,因爲這比我們說世上該寫的書都寫完還要荒謬。迄今爲止,論壇上有140萬個JavaScript問題,然而問題數量還在穩步增長。如果有關JavaScript的問題都問光了,我們又何必繼續問下去呢? 

其次,如果某項技術的使用者都已能完全熟練地使用它,則意味着該技術社區已經陷入停滯。某項技術生態環境是否具有生命力,其中一點就在於新用戶能否源源不斷地涌入其中,以及是否有大批專家在不斷地研究平臺的缺陷。這兩類用戶都會在其工作進程中經常提問。回到2011年,某位Flash開發者可能會辯解道:“的確,有關Flash的問題數量最近是在縮減,但那是因爲它的開發文檔對我們很有幫助,大家都知道該怎麼用了。”只有時間能揭示出真實的情況。

以後我會給大家談談根據論壇上的問題數量,看看哪些技術在快速增長,以及這對於技術生態有何影響。

原文鏈接:https://community.clouderwork.com/article/view/598aa6470c080.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章