所有64位WinForm應用都是Chromium瀏覽器(2)

為什麼糾結?

所有64位WinForm/MFC/WPF應用都是Chromium瀏覽器,這一個技術完成於“非典疫情”期間,因為當時無事可做,只能被困在家裏。那個時期Chromium的版本是M81,因為疫情嚴重,Chrome團隊放棄了M82、83,直接發佈了M84。

 

直到2022年,LLM開始火爆,軟件應用領域開始“洗牌”了,有很多朋友私下問我,怎麼看LLM,實話實説,我當時對LLM一無所知,對其的瞭解僅僅是停留在看新聞的層次。去年的時候,一個偶然的機會,開始使用DeepSeek、ChatGPT。於是我就將這一個想法分別提交給這兩個大神,向看看它們的看法。結果非常的有意思,它們首先都認為:“這太荒謬,人家自己編譯的桌面應用,例如一個WinForm應用,你怎麼可以説它就是‘Chromium瀏覽器’”?緊接着,它們都會為我出主意,並且給我寫了很多“方案”,幫助我如何實現這一個離奇的想法,其中不妨有一部分代碼,看上去“很正經”,頗有大師的風範。

 

在與ChatGPT、DeepSeek長達10個月的不斷溝通之中,我的確學會了很多,也看到了很多難以置信的事情。它們對Chromium Project這一個尺度的項目(不低於30000000行源代碼)的瞭解深度,其實非常的讓人震撼,這的確會讓我們看到了今後必然發生的事情,那就是:職業軟件開發者今後會面臨着什麼,這一種感受,絕對不是它們可以為你“寫一些代碼”,而是它們很有可能會深度的替代你。

 

“桌面應用即現代瀏覽器”,是最近一年與DeepSeek、ChatGPT深入溝通的最終設想。雖然看上去非常的離經叛道,但這就是我們即將面對的事情。對很多開發者,特別是WinForm、MFC這方面的開發者,對這一個結論的想法是:

1、 我的應用,並沒有嵌入CEF、WebView2,怎麼可能是“瀏覽器”;

2、 你並沒有我的源代碼,你如何讓我的應用成為真真正正的瀏覽器?

3、 我自己的應用運行的很好,我為什麼要讓自己的應用成為瀏覽器?

當然,還會有很多很多的問題,完全都可以理解。其實,這些問題,是一個很難回答的問題。所以我會換一個視角,那就是,你的應用如果就是瀏覽器,會為你帶來什麼價值:

1、 Chrome、Edge的Web生態,直接就是你應用生態的一部分,這沒什麼不好;

2、 當今最好的AI、Web技術,都會在你的應用之中暢行無阻,您會不會拒絕?

3、 你的應用可以充分的調度各種各樣的原生應用組件、Web組件,為你產生無窮無盡的價值,您有可能不需要,但您的客户會需要,您的朋友也一樣;

4、 您的應用不需要修改源代碼,您的工作流程一如既往,沒有任何改變,不同的是,您可以直接為您編譯的exe寫Web生態,就如同您面對Chrome一模一樣。

當然,您是否接受,是另外一回事。只不過,當您的應用交付用户的時候,您的客户很可能會願意接受,因為,他們的很多一眼可見的需求,會直接疊加到您的應用之上,所以,他們會認為這是您為他們提供的“福利”,自然會為您點贊。

我的應用已經嵌入了CEF/WebView2

這是一個很好的問題!我們沒有貶低CEF、WebView2,我們會一直為這兩個經典點贊、喝彩。不同的是,這些“天花板”級別的神器,需要您在設計階段耗費精力,您必須選擇一個合適的窗體,並在這一個窗體之中為其開闢一個特權“矩形”,將其隆重的迎接進來,同時您還需要為其做特別的初始化、設計接口……。但問題是:如果您的產品交付了之後,用户希望在另外一個窗口之中顯示一個設計環節沒有的頁面,您會怎麼辦?打開源代碼、加入新的設計、重新編譯?

 

一個有意思的問題是,您嵌入了CEF等,性能代價是一回事,但您獲得的並不是“瀏覽器”,而僅僅是一個“數字展板”(這一個説法來自於‘DeepSeek’)。

你的應用原本就是瀏覽器

您可能會奇怪,如果是:我怎麼就不知道?難道説,我的應用是一架飛機,而我一直將其看作是隻有輪子的汽車,一直在用輪子驅動,讓其在“陸地”上行走,而一直沒有起飛?

 

或許,這就是我們寫《愛麗絲漫遊桌面開發奇境記》的原因。其實,愛麗絲是不相信的,所以她設計了一個“反作弊”的myApp,具體詳見“《愛麗絲漫遊桌面應用開發奇境記》(1)”。愛麗絲的myApp,僅有一個WinForm窗體Form1,其中僅包含一個panel,一個button,一行代碼都沒寫:

Chrome 64 位會有哪些提升呢?_Linux新聞_桌面應用

 

她單純的想法是在這一個窗體之中,“徹底堵死”顯示“Web頁面”的所有可能性。結果,她在這一個“一張白紙”性質的應用之中看到了無窮無盡的可能性:

Chrome 64 位會有哪些提升呢?_Linux新聞_Web_02

 

以及:

 

 

Chrome 64 位會有哪些提升呢?_Linux新聞_桌面應用_03

Chrome 64 位會有哪些提升呢?_Linux新聞_Web_04

這意味着,她最簡單的窗體,擁有強大的基於Web邏輯組合各種各樣“控件、窗體”的能力。不僅如此,她的應用之中,可以讓你直接構造形形色色的“超級瀏覽器窗口”:

Chrome 64 位會有哪些提升呢?_Linux新聞_Chrome_05

 

Chrome 64 位會有哪些提升呢?_Linux新聞_Chrome_06

Chrome 64 位會有哪些提升呢?_Linux新聞_Chrome_07

那麼,你可以直接寫任意數量如下所示的“超級頁面”:

Chrome 64 位會有哪些提升呢?_Linux新聞_桌面應用_08

 

愛麗絲的實驗,給我們帶來一個有趣的問題,那就是:我們應該如何面對這些突如其來的“潛能”。

當我們將這一切提交給DeepSeek、ChatGPT的時候,它們最初認為這些都是“杜撰”的,因為,在它們的訓練數據之中,完全沒有這些。

 

後來,通過不斷的變更“提示詞”,它們意識到,這大概是“荒誕的新鮮事兒”,差不多屬於“內容涌現”、動態賦能。與當下的AI發展趨勢“不謀而合”。

 

我們應該怎麼面對我們自己編譯生成的exe?如果我們僅僅認為,這些exe就應該完美的執行我們“預設的應用邏輯”,這一點完全沒有問題,但會不會就此“封印”?當然不是!所以我們會竭盡所能,為我們自己的應用增加各種靈活的“插件機制”,這不僅僅是我們技能的展現,也是體現用户價值的關鍵。

 

但現在,新的問題來了,你的應用本身就是應該“巨大的Web、AI”的支撐體,您將如何面對?

所有64位WinForm應用都是超級瀏覽器,無需修改源代碼、不需要重新編譯

這是一個“近乎絕對化”的結論,不取決於您如何寫代碼,僅取決於您如何對待您的編譯所得。那麼,您的態度會不會變化?這是我們近期會提交的“開源項目”,也是面對日新月異的AI、Web技術,給出的一個策略、應對方式。

 

如果瀏覽器市場,僅僅有數量極為有限的玩家,會不會非常的寂寞?如果所有的WinForm、MFC、WPF都可以是足以媲美Chrome、Edge的瀏覽器,但擁有的Web內容維度更高,會不會很有意思。

 

瀏覽器機制,本身不是寡頭的特權,而是你編譯之後exe的運行形態之一,是你應用的一個可選擇的“角色”,就如同你自己擁有很多不同的身份一樣。

 

當你意識到,你的exe,不再剛性十足,而是可以接受額外的“文本”描述意圖,這意味着,你可以為你的exe提供“提示詞”,它們會為你“作答”,這是一種“雙向溝通”的意圖體現,這一個能力,不應該是主流瀏覽器獨享的,而是一個“普惠”的機制,你不需要“神奇的”代碼,您需要的僅僅是一個“視角微調”,如此,智能涌現,就會近在咫尺。