前往
大廳
主題

回顧Firefox自2017年以來損失五千萬用戶的主因?

大師兄 | 2022-02-19 20:51:17 | 巴幣 100 | 人氣 496

對於從第一代就開始用的我而言,百感交集,實際上Firefox衰退勢在必行,這讓我想寫一篇說一下自己想法。

其實各位在google打上 "why firefox lose market share?" ,會發現 Firefox長年就是老二或老三,上上下下,但從2015年開始損失使用者是一去不復返,在2017年之後則是明顯加快消失的速度。
即便目前linux預設的瀏覽器主要都是firefox,
但是不敵其他瀏覽器的鯨吞蠶食...

對於使用者而言,
目前windows下主流前五個瀏覽器應該就是分為:Chrome、Edge、Firefox、IE跟Safari。

對於程式設計師而言,
其實2020之後的Edge,他核心換成Chromium之後,就是Chrome,
無論使用者對Edge有多大好感,對於開發者而言,為了節省開發成本,Edge就只是Chrome的一種而已

或許對於Firefox的使用者而言,
Firefox自始自終都好用,
沒理由衰退,
然而真正主宰資訊產業的某領域發展(例如網頁或者APP),其實不是使用者的選擇,而是 "眾軟體工程師們" 的選擇。
如果一個網頁不支援Firefox(或者你的手機),你會罵這個網頁,但如果大多數網頁都不支援Firefox,你就不會用Firefox

對於所有軟體工程師而言,
一但開發市場有成本上的問題時,就會很快轉變,什麼派別的仁義道德宣示,在自己生存面前都是廢話。
對於務實主義的工程師而言,時間成本與營利的換算勝過一切,比起單一軟體的精實,能快速布局不同戰場才是工程師的價值。
而工程師的這個舉動,會自然而然產生商業聚落,也直接影響了整個使用者的挑選。
經典案例就是同為手機的iOS與Android對上winphone跟nokia symbian,
MacOS轉用ARM,對上Windows轉用ARM,
這些經典案例,如果有市場敏銳度跟軟體開發經驗的人,能很快分出兩邊市場差異,
當時2007年,iOS推出的時候,賈伯斯已經幫開發者整理一條路,包含後來的Xcode,取得不難,
Android更是簡單,Java沒人不會,而且行之有年,開發文件也不少
重點,兩者都有一個中心化的市場管理機制,
winphone跟nokia symbian也有包好工具,但是他們的開發與發佈確實就有難度,
另外,手機的軟體開發,Android跟iOS吸收了大量的開發者,如果你winphone跟nokia symbian不能以當時主流iOS方便做轉換,完全沒有開發價值。
然而,
Windows在ARM的教訓,一直是沒學到,直到現在2022年初,我只能以 "超爛" 來形容 windows的跨平台開發,windows .net core甚至是.net 6在跨平台上面不是做不到,而是對上其他程式而言,真的非常難用!
先不談非常成熟的JAVA跟Python等等,大多OpenSource都能很好的轉換不同平台,
比較封閉的,簡單來說同樣用到C#語言的Unity,卻很早就開始能自由跨平台,
Unity你在MacOS、Linux跟Windows都能以一定程度開發專案,不會像Visual Studio這麼困難重重,
有興趣可以去了解IL2CPP跟MONO,還有CLR轉JIT機制等等,你會發現微軟非常混,
簡單來說,我開發一個Unity遊戲,只要一開始想好,並以C#開發完,再生成遊戲時就能毫無阻礙的同時生成windows與Android程式,並在完全不同的系統與硬體上使用,
但是微軟的visual studio非常難做到這件事情,目前你在最容易以ARM開發的MacOS會看到Visual Studio的...廢,而Windows ARM雖然裝Visual Studio完整很多,但是也比Unity支援還不完善,而且Windows在ARM這邊卻沒有正常一點的開發機器,不是太貴就是太弱,從第一代windows ARM到現在講了過了整整七年,大家都當ARM不能作為PC用時候,
MacOS的Rosetta轉ARM晶片,很有效的解決這問題,
坦白說,開發商幾乎不用花太多時間,只要檢查好該檢查的就能轉換,
自然大家很快就推出合適的程式。

程式開發說起來浪漫,實際上非常現實,唯有開發沒有阻礙、沒有大損失、成本低到不在乎,或者市場準備好了,我們才會上。
莊主如果沒做好安排,我們工程師可沒這麼笨的跟上。
廠商幹嘛花成本轉變自己的東西,用來進入新領域? 這是高風險的事情,
如果沒有低成本或者大錢景,是沒人要配合的。

好,我們回到瀏覽器吧!
瀏覽器就請各位就想像成一個APP平台,就不難理解。

可能很多使用者都沒思考過一個問題,
瀏覽器到底是什麼?
瀏覽器說穿了,這軟體能把伺服器上傳來的程式語言,生成你看到的網頁。
那有一個重點來了,因為它是一個裝在你電腦軟體,然後透過這個軟體自身判斷,產生一個網頁,
這意味著什麼問題呢? Firefox跟Chrome可能面對同一段程式時,可能做出差異很大的顯示與判斷,
因此工程師做完程式後,通常會跑腳本來測試網頁,並且看看長相有沒有變形等等。
目前網頁非常依賴CSS、Javascript跟HTML5,
其中毛病最多的是Javacript,
而Chromium底層的Javascript引擎就是V8 JavaScript engine
這意味著,當2020年,微軟放棄Edge原本核心後,對於幾乎所有的軟體工程師而言,在那一天開始,世界上就沒有Edge了,因為它就是chrome,
也因此Chrome的開發投入會更加重視。

實際上,
跨網頁程式的問題,過去也有不少開發者想過這問題,那就是透過附加元件(插件)解決,
早期ActiveX是一個經典透過通用規範控制額外安裝在你電腦的客製軟體或函式庫,來實現你本機的某些程式控制或使用,這種東西後來爭議很大,但因為它的使用也越來越豐富,歷史演變下,這類API用法就非常豐富,漸漸你能看到Chrome store或者Firefox WebExtension的各種產品。

所以我們這裡整理一下,
一般在瀏覽器上面,主要有兩種工程師為活:
  1. 網頁開發工程師
  2. 附加元件(插件)開發工程師

我相信大部分人會認為,Edge跟Chrome的強勢,讓Firefox失去市場,
尤其 Chrome跟Edge一家親的時候,更沒理由針對Firefox開發,
不過這不能解釋為什麼2017年底後明顯出現的快速衰退...

實際問題點是Firefox WebExtension的轉變,
各位可以google "Firefox 57版 大改版"
這版本當年哀嚎不斷,還引發Firefox死忠保衛戰,
對於程式工程師而言,相容遠與穩定比追求速度重要非常多,實際上Firefox犯了非常不該犯的錯誤。

以我公司而言,
我們曾經使用Firefox做各種開發,例如SQLite的管理工具有不少好用的是WebExtension製作,
也有不少經典好用的程式,
在57版之後變成絕響,
換句話說,
Firefox在一瞬間得罪了 軟體工程師 與 使用者。
對於使用者而言,不能用就是BUG,他們會找開發者或Firefox算帳,
而對於開發者而言,不只是潑冷水,而是潑了冰水,你能想像努力開發許久的程式,在一瞬間變成不能用的心情麼? 同時還要被客戶追殺...
如果今天Chrome也做這種事情,那就是重新洗牌。
不過今天Firefox做這種是,
就是俗稱的做死自己。

以上個人淺見,分享一下。

我曾經是Firefox支持者,Firefox所謂的消費者有IE以外的選擇,猶言在耳,不管買幾台電腦,都會裝,
不過57版之後,Firefox完全忘了初衷,非常諷刺,選擇呢? 沒得選,那就別指望工程師花時間開發,
除非必要,我就裝個56版,
要不然是沒必要裝,
因為Firefox已死。

創作回應

雞尾酒
以前FIREFOX就是靠那些外掛來吸引人,而且好用到爆,我都一直狂推其他同學朋友。

記得FIREFOX有2次大改版。第一次好像是 3.X 的某次升級(還是V.4),就發生相容性問題。那次還可以用硬相容法解決大多數問題,工程師也慢慢更新外掛。

57版就真的大悲劇…… 我記得還是勉強用到7x~8x版,幾乎所有外掛在57版後,都不再升級,新的外掛也極少。最後因為相容性問題,我現在也是用chrome了;而且chrome的外掛在3年前也完全成熟了。

2023-01-04 11:26:02
大師兄
感謝看完,我記得Firefox好像在2004年就推出webExtension,以工程師而言,真的非常值得一玩,而它的存在也很有指標性。57版以後真的很可惜,現在edge跟chrome我都用,畢竟背後幾乎一模一樣,但我認為作為工程師,chrome還是比較好用。
2023-01-04 21:09:54

更多創作