大家都在點(diǎn)贊 Windows Terminal,我決定給你潑一盆冷水

2021-02-18    分類: 網(wǎng)站建設(shè)

Windows Terminal 發(fā)布以后,立刻引爆了整個(gè)技術(shù)圈,各種社交媒體上紛紛傳播著它的消息,它開(kāi)源的 GitHub 倉(cāng)庫(kù)的星標(biāo)數(shù)一路飆升,迅速成為當(dāng)日 GitHub 趨勢(shì)榜的首名,甚至連它 issue 區(qū)都擠滿了人——以至于項(xiàng)目運(yùn)營(yíng)團(tuán)隊(duì)緊急出場(chǎng)管理。不過(guò),在我觀看了相關(guān)的資料和視頻以后,感覺(jué)并沒(méi)有那么令人興奮。

在我看到一時(shí)間出現(xiàn)的很多文章,都視 Windows Terminal 為 Windows 下命令行體驗(yàn)的救世主之后,我覺(jué)得,是時(shí)候潑一盆冷水降降溫了。


Windows Terminal 項(xiàng)目下的討論


Windows Terminal 是什么?

在潑冷水之前,我想先來(lái)介紹一下 Windows Terminal 是什么,以方便你理解我的觀點(diǎn):Windows Terminal 是一個(gè)套在 Windows 操作系統(tǒng)原本的 CMD、Powershell、Windows Subsystem for Linux(WSL)之上的一個(gè)界面更加漂亮、功能更加強(qiáng)大的終端工具。嚴(yán)格來(lái)說(shuō),它是套在 CMD 、Powershell 之上的一個(gè)終端。


Powershell on Windows Terminal。

這里需要了解一下 終端(terminal)和 shell 的區(qū)別:

在命令行中,shell 提供了訪問(wèn)操作系統(tǒng)內(nèi)核功能的途徑,比如說(shuō)我們所熟悉的 bash、zsh,都是不同的 shell;而終端則為 shell 提供視覺(jué)界面(窗口),比如我們所熟悉的 iTerm2、Linux 桌面上的終端工具等。甚至于我們?cè)?VSCode 中所使用的命令行,也是某種意義上的終端。

我們?cè)?Windows 下所使用的 CMD、Powershell 既然是一個(gè)終端,也是一個(gè) Shell,還是同名的腳本系統(tǒng)。

但是,它也只是一個(gè)終端而已,而不是一個(gè)更加好用的 Shell。

為什么 Windows Terminal 不是救世主?

作為一個(gè)終端,Windows Terminal 無(wú)疑是合格的,它提供了非常強(qiáng)大的功能,來(lái)自微軟的強(qiáng)大工程能力也讓它能夠吸引更多的眼球。


Cmder 效果圖。

圖片來(lái)源:Cmder 官網(wǎng)

但是,如果僅僅是一個(gè)終端,其實(shí)開(kāi)源社區(qū)早已有更多的解決方案,比如 cmder 、 ConEmu 、 Hyper 等等,這些 Terminal 也足夠好看和好用。


ConEmu效果圖。

圖片來(lái)源:ConEmu 官網(wǎng)

這種第三方就可以做好的事情,微軟官方的進(jìn)入不過(guò)是在現(xiàn)有的命令行生態(tài)下提供更多的一種選擇,而不是真正的問(wèn)題解決方案。

當(dāng)我們吐槽 Windows 命令行時(shí),我們?cè)谕虏凼裁矗?/h4>

那么我們是對(duì)什么不滿意呢?Windows 用戶所吐槽的命令行不好用不在于其表面,而在于其沒(méi)有一個(gè)足夠好用的 Shell。 Windows 下的兩個(gè)命令行界面都各有自己的問(wèn)題,CMD 因?yàn)闀r(shí)間久遠(yuǎn),很多功能不齊全。而 Power Shell 雖然功能強(qiáng)大,但不合理的命令語(yǔ)法,大量冗長(zhǎng)的、駝峰式命名的命令和參數(shù)使得用戶的命令操作極為不便,體驗(yàn)極差。如果沒(méi)有一個(gè)足夠好用的 Shell ,無(wú)論換了多少外面的終端,無(wú)非是披了一個(gè)閃閃發(fā)光的、半透明的漂亮外衣罷了。

對(duì)于開(kāi)發(fā)者們來(lái)說(shuō),真正希望 Windows 做的,不是一個(gè)更漂亮的終端。漂亮的終端只能讓他們一時(shí)新鮮,但是如果希望開(kāi)發(fā)者們真正感覺(jué)到 Windows 命令行好用,就需要提供一個(gè)更加強(qiáng)大的 Shell,幫助開(kāi)發(fā)者能夠用上 Unix 式的命令行工具。

Windows Terminal + Windows Subsystem for Linux ?

在 Microsoft Build 2019 大會(huì)上,除了 Windows Terminal 以外,還發(fā)布了 Windows Subsystem for Linux 2(WSL2)。新一代的 WSL 相比于上一代,提供了完整的 Linux 內(nèi)核,將會(huì)提供更好的系統(tǒng)支持??雌饋?lái),Windows Terminal 和 WSL 的結(jié)合,已經(jīng)非常好了,但作為一個(gè) Shell 來(lái)用的話,又顯的過(guò)于笨重。

WSL 2 所提供的,不過(guò)是一個(gè)更加簡(jiǎn)單、更加易用的 Windows 下的虛擬機(jī),你不再需要安裝 Virtual Box、VMWare 而已,一個(gè) Windows Subsystem for Linux 就可以滿足開(kāi)發(fā)者的大部分需求。

但是,這并不能解決問(wèn)題,這治標(biāo)不治本的選擇。WSL 無(wú)論做的再怎么好,無(wú)法擺脫它只是一個(gè)運(yùn)行于 Windows 系統(tǒng)中附屬的子系統(tǒng)。無(wú)論 WSL 做的再好,本質(zhì)上并沒(méi)有比虛擬機(jī)做的更多。

作為一個(gè)開(kāi)發(fā)者,我認(rèn)為什么才是微軟真正應(yīng)該做的?


Windows Love Linux。

作為 Windows 系統(tǒng)的開(kāi)發(fā)者,微軟真正的價(jià)值顯然不是做一個(gè)終端那么簡(jiǎn)單。作為生態(tài)的打造者,微軟真正可以做好的是,打造一個(gè)能夠在體驗(yàn)和生態(tài)上與 Unix Shell 一致的 Shell,或者是干脆提供 Bash、Zsh 等常用 Shell 的原生支持(WSL 雖然支持 Bash、Zsh等,但依然是需要先進(jìn)入 WSL 才能使用,但你可以暢想一下,如果 CMD 變成了 Bash,會(huì)是什么樣的呢?)。這些事情是第三方開(kāi)發(fā)者所無(wú)法做的更好的,只有生態(tài)的構(gòu)建者在一開(kāi)始就將一個(gè)體驗(yàn)良好的 Shell 放置在系統(tǒng)的核心,無(wú)需開(kāi)發(fā)者自行安裝、配置,才能夠讓開(kāi)發(fā)者真正擁有一個(gè)好的命令行體驗(yàn)。如果微軟能提供一個(gè)足夠好用的 Shell,我相信類似于 Windows Terminal 這樣的應(yīng)用,會(huì)如雨后春筍一般,從開(kāi)源社區(qū)中源源不斷的冒出來(lái)。

總結(jié)

對(duì)于廣大使用 Windows 開(kāi)發(fā)的用戶來(lái)說(shuō),一個(gè)閃閃發(fā)亮的、現(xiàn)代化的、功能強(qiáng)大的終端固然很好,但好的終端只不過(guò)是錦上添花之舉,而一個(gè)強(qiáng)大好用的 Shell 才是真正能夠雪中送炭的東西,只有一個(gè)足夠好用的 Shell,才能成為 Windows 命令行世界的救世主。而這,才是真正值得微軟花費(fèi)大量的時(shí)間、精力去做的。

網(wǎng)站題目:大家都在點(diǎn)贊 Windows Terminal,我決定給你潑一盆冷水
網(wǎng)站鏈接:http://muchs.cn/news/101655.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作建站公司、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作電子商務(wù)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司