一個原因是,Flash是閉源的,所以不太容易“提前發現漏洞”。雖然說開源在這方面到底有沒有更好也很難說。
另一個原因就是,Flash的確是渾身是洞,主要還是Macromedia寫這玩意的時候太早太超前了,后續的更新維護又很難憑自身來做到十全十美(嗯,也許連五全五美都算不上)。Flash才能給Adobe帶來多少收入?而要憑Adobe一己之力維護和更新一個像Flash這樣、需要讓HTML5或者WebAssembly這些競品/替代品在全行業一起投入好幾年的支持才能比擬的平臺,著實是有些超出Adobe的實力和財力。
所以說歸根結底還是錢的問題,Adobe一直想靠Flash、ActionScript和自家的FlashIDE啥的來賺錢、結果也沒賺到幾毛錢,后續的AIR也是慘慘戚戚,所以你看今天Adobe基本也就不提這些“跨平臺編程產品”了,老老實實做自己的CC去了。既然賺不到錢就更不可能用心去維護了,只想窮根竭底地撈些剩余價值,你看狗屎Adobe這不就把大陸地區的FlashPlayer插件賣給臭名昭著的思杰馬克丁了么。
而HTML5/WebAssembly這些就不一樣了。這些東西說白了是一套標準,各大瀏覽器廠商自己去根據大家商量好的標準、在標準的指導下去實現自己的產品。WebKit搞一套自己的產品內核,Blink搞一套,Chakra搞一套,將來紅芯啥的可能也回去搞一套(大霧),每家的實現都不盡然相同,一家爆了另一家未必會爆,而且這些內核大多比較現代,背后的維護也都是財力充足的主,而且大多還靠瀏覽器吃飯,當然會盡心盡力了。所以不管怎么說,將來肯定是要比Flash更靠譜點的。唯一的缺點是可能Web程式在不同瀏覽器的兼容性會不太好甚至可能跑不起來,而不像有Flash的時候那樣,通常而言兼容性還湊合能使。