選自 Real Python
作者:Jon Fincher
機器之心編譯
在 Windows 上怎樣做 Python 開發?是像大神那樣使用純文本編輯器,還是用更加完善的 IDE?到底是用自帶的命令行工具,還是需要裝新的 Terminal?本文將帶你了解如何利用微軟官方維護的 MS Terminal 與 VS Code,來為 Python 開發保駕護航。
使用 Windows 系統一大好處是它的應用太豐富了,甚至強大的 GPU 也能在閑暇時間做點其它「工作」。然而與 Linux 或 macOS 不同,在 Windows 上做開發總會遇到很多挑戰,不論是文件編碼、環境控制還是項目編譯,開發過程中總會有一些神奇的收獲。
這些對于初學者來說尤其突出:我們在安裝某個庫時可能出現各種依賴項錯誤,我們在讀寫文本時出現各種編碼錯誤等等。
那么在 Windows 上如何做 Python 開發呢?相信大神們都會有自己的解決方案,但本文希望介紹微軟官方發布的 Terminal 和 Visual Studio Code,希望它們能構建更流暢的 Windows 開發體驗。
Visual Studio Code 是程序員可以使用的最酷的代碼編輯器之一,是一個可在所有平臺上使用的開源、可擴展和輕量級編輯器。正是這些品質使微軟的 VS Code 大受歡迎,并成為 Python 開發的絕佳平臺。可能很多讀者都比較熟悉 PyCharm 與 Jupyter Notebook 等常見的 Python IDE,但 VS Code 一樣不會令你失望。
在本文中,你將學習到微軟 Terminal 和 Visual Studio Code 的特性,包括:
我們假設你了解 Python 開發,并且已經在系統上安裝了某種版本的 Python(如 Python 2.7、Python 3.6/3.7、Anaconda 或其他)。由于 VS Code 可兼容所有主流平臺,因此你可能會看到略有不同的 UI 元素,并且可能需要修改某些命令。
新興的微軟 Terminal
Windows Terminal 是一個開源終端應用程序,由微軟在今年 5 月份的 Build 開發者大會上推出。MS Terminal 支持 Command Prompt 和 PowerShell 的所有優點,基本上命令行已經可以和 Linux 相融合了,除此之外運行命令提示符也是沒問題的。
在 MS Terminal 開源后,GitHub 的 Star 量增長得非常快,目前已經超過了 5 萬。這足以說明這個項目非常受關注,在社區的開源改進下,這個工具一定挺好用。
當然,目前 MS Terminal 已經可以直接下載安裝程序了,社區的體驗也非常不錯。因此如果我們在 Windows 上做 Python 開發,命令行工具就可以采用 MS Terminal,它能解決很大一部分的包安裝、環境控制等問題。
MS Terminal 的效果怎么樣
MS Terminal 最核心的功能就是支持多條選項卡,且每一個選項卡都可以連接到命令行 shell 或應用,例如 Command Prompt 或通過 SSH 訪問樹莓派等。下圖展示了這種多選項卡的支持情況:
此外,除了功能外,更重要的就是顏值,就像我們常用 zsh 來提供更美觀的命令行一樣。雖然 zsh 目前的 GitHub 收藏量已經達到 9.4 萬了,但 ReadMe 文檔清楚地寫著它最好用于 macOS 或 Linux。而新發布的 MS Terminal 不論在界面還是在文字風格,都以前都強了很多。
背景透明度、文字高亮都可以自行定義,還能定義 emoji 等符號。如下為基本的展示,我們可以根據自己的需要調整整個界面。
整個項目還在積極開發中,很多功能也都在完善與增加。不過既然是微軟官方維護的開源項目,那么我們還是非常有信心的,至少在命令行部分可以降低開發過程中的各種報錯。當然如果讀者在 Windows 上有更好的命令行工具推薦,也可以在文末留言。
安裝和配置 VS Code
前面介紹了開發中必不可缺的命令行工具,下面我們該聊一聊 VS Code 了,它是支持 Python 開發的核心工具。下面我們從最初的安裝、環境管理到編寫、測試、發布代碼,介紹我們該如何優雅地使用 VS Code。
在任何平臺上都可以安裝 Visual Studio Code。官網提供了 Windows、Mac 和 Linux 的完整安裝說明,并且會每月更新編輯器,其中包含新功能和錯誤修正。你可以在 Visual Studio Code 網站上找到所有安裝內容:
此外,除名稱相近外,Visual Studio Code(簡稱 VS Code)與基于 Windows 的更大規模的 Visual Studio 幾乎沒有其他相同的地方。
Visual Studio Code 本身支持多種語言,并且它的一個擴展模型具有支持其他組件的豐富生態系統。VS Code 每月更新,你可以在微軟 Python 博客中了解更新信息。任何用戶都可以克隆微軟的 VS Code Github 倉庫并貢獻自己的代碼。
VS Code UI 已有詳細記錄,這里不予贅述:
Python 擴展
如上所述,VS Code 通過詳細記錄的擴展模型支持多種編程語言的開發。Python 擴展使用戶可以在 Visual Studio Code 中進行 Python 開發,具有以下特征:
Visual Studio Code 擴展不僅僅具有編程功能:
以下是比較有用的一些其他擴展和設置:
當然,在使用 VS Code 時,你可能會發現其他有用的擴展。請在評論中分享你的發現和設置!
單擊活動欄(Activity Bar)上的「擴展」圖標可以訪問和安裝新擴展和主題。用戶可以輸入關鍵詞來搜索擴展程序,以多種方式對搜索結果進行排序,快速輕松地安裝擴展程序。在本文中,在活動欄的 Extensions 項中鍵入 python 并單擊 Install 即可安裝 Python 擴展:
用戶可以通過相同的方式查找和安裝上述任何擴展。
Visual Studio Code 配置文件
值得一提的是,Visual Studio Code 可通過用戶和工作區設置(User and Workspace Settings)實現高度配置。
用戶設置(User settings)在所有 Visual Studio Code 實例中都是全局性的,而工作區設置(Workspace Settings)是特定文件夾或項目工作區的本地設置。工作區設置為 VS Code 提供了極大的靈活性,工作區設置會在整篇文章中提到。工作區設置以.json 文件的形式存儲在名為.vscode 的項目工作區本地文件夾中。
啟動新的 Python 程序
讓我們以一個新的 Python 程序來探索 Visual Studio Code 中的 Python 開發。在 VS Code 中,鍵入 Ctrl + N 打開一個新文件。(你也可以從菜單中選擇「文件」-「新建」。)
無論你如何操作,你都應該看到一個類似于以下內容的 VS Code 窗口:
打開新文件后,你即可以輸入代碼。
輸入 Python 代碼
作為測試,我們可以快速編碼埃拉托斯特尼篩法(Sieve of Eratosthenes,它可以找出小于已知數的所有質數)。在剛打開的新選項卡中鍵入以下代碼:
等等,這是怎么回事?為什么 Visual Studio Code 沒有進行任何關鍵詞高亮顯示,也沒有進行任何自動格式化或任何真正有用的操作呢?它提供了什么?
答案是,VS Code 不知道它正在處理的是什么類型的文件。緩沖區被稱為 Untitled-1,如果你查看窗口的右下角,則可以看到 Plain Text(純文本)。
若要激活 Python 擴展,請保存文件(從菜單中選擇 File-Save 或者從命令面板中選擇 File-Save File 或者只使用 Ctrl + S)為 sieve.py。VS Code 將看到.py 擴展名并正確地將該文件轉化為 Python 代碼。
現在你的窗口視圖應如下所示:
這樣就好多了!VS Code 會自動將文件重新格式化為 Python 代碼,你可以通過檢查左下角的語言模式予以驗證。
如果你有多個 Python 安裝(如 Python 2.7、Python 3.x 或 Anaconda),則可以通過單擊語言模式指示器或者從命令面板中選擇 Python: Select Interpreter 來更改 VS Code 所要使用的 Python 解釋器。默認情況下,VS Code 支持使用 pep8 格式,但你也可以選擇 black 或 yapf。
現在可以添加其余的 Sieve 代碼。若要查看 IntelliSense,請直接鍵入此代碼而不要剪切和粘貼,你應該看到如下內容:
當鍵入代碼時,VS Code 會對 for 和 if 語句下面的行進行自動、適當的縮進,添加右括號,并給出內容提示。
運行 Python 代碼
現在代碼已經完成,你可以運行它了。沒有必要讓編輯器執行此操作:Visual Studio Code 可以直接在編輯器中運行此程序。保存文件(Ctrl + S),然后在編輯器窗口中單擊右鍵并選擇在終端(Terminal)中運行 Python 文件(Run Python File):
你會看到終端窗格顯示在窗口的底部,并顯示代碼輸出結果。
編輯現有的 Python 項目
在 Sieve of Eratosthenes 示例中,你創建了一個 Python 文件。作為一個例子這很不錯,但很多時候,你需要創建更大的項目,并在更長的時間內在它上面進行開發。
典型的新項目工作流程可能如下所示:
在 Python 項目(而不是單個 Python 文件)上使用 Visual Studio Code 開辟了更多功能,使得 VS Code 能夠真正發揮作用。讓我們來看看它在更大的項目中如何運作。
假如我們編寫了一個計算器程序,該程序通過艾茲格·迪科斯徹(Edsger Dijkstra)調度場算法的一種變體來解析中綴符號(infix notation)編寫的方程式。
為了說明 Visual Studio Code 以項目為中心的特征,我們現在開始在 Python 中重新創建調度場算法作為方程式評估庫。相應 GitHub 地址:https://github.com/JFincher42/PyEval。
本地文件夾創建后,你可以快速打開 VS Code 中的整個文件夾。由于我們已經創建了文件夾和基本文件,所以首選方法(如上所述)做出如下修正:
cd /path/to/project
code .
當你這種方式打開時,VS Code 了解并將使用它看到的任何 virtualenv、pipenv 或 conda 環境。你甚至不需要首先啟動虛擬環境。通過菜單中的 File, Open Folder、鍵盤上的 Ctrl+K, Ctrl+O 或者命令面板中的 File, Open Folder 等方式,你可以打開用戶界面(UI)上的文件夾。
以下是創建的方程式 eval 庫項目:
當 Visual Studio Code 打開文件夾時,它還會再次打開上次打開的文件(這是可配置的)。你可以打開、編輯、運行和調試列出的任何文件。左側活動欄中的資源管理器視圖(Explorer view)提供文件夾中所有文件的視圖,并顯示當前選項卡集中有多少未保存文件。
代碼測試的支持
VS Code 可以自動識別在 unittest、pytest 或 Nose 框架中編寫的現有 Python 測試,但前提是在當前環境中安裝了這些框架。作者在 unittest 框架中編寫了一個用于方程式 eval 庫的單元測試,你可以在這個例子中使用它。
若要運行項目中任何 Python 文件的現有單元測試,請單擊右鍵并選擇 Run Current Unit Test File。系統將提示指定測試框架,在項目中搜索測試的位置以及測試使用的文件名模式。
所有這些都保存為本地.vscode/settings.json 文件中的工作區設置,并可以進行修改。對于這個等式項目,你可以選擇 unittest、當前文件夾和模式 *_test.py。
測試框架設置完成并顯示測試后,你可以單擊狀態欄(Status Bar)上的 Run Tests 并從命令面板中選擇一個 option 來運行所有測試:
通過在 VS Code 中打開測試文件,單擊狀態欄上的 Run Tests,然后選擇 Run Unit Test Method 以及其他要運行的特定測試,你還可以運行單個測試。這使得解決單個測試失敗并重新運行失敗的測試變得很簡單,從而能夠節省大量時間。測試結果顯示在 Python Test Log 下的 Output 窗格中。
調試支持
即使 VS Code 是代碼編輯器,直接在 VS Code 中調試 Python 也是可以的。VS Code 提供的諸多功能可以媲美好的代碼調試器,包括:
你可以在活動欄上的 Debug 視圖中看到這些功能:
調試器可以控制在內置終端或外部終端實例中運行的 Python 應用程序。它可以附加到已經運行的 Python 實例中,甚至可以調試 Django 和 Flask 應用程序。
在單個 Python 文件中調試代碼就像按 F5 啟動調試器一樣簡單。你可以按 F10 和 F11 分別跳過和進入函數,并按 Shift + F5 退出調試器。按 F9 設置斷點,或者通過單擊編輯器窗口中的左空白(lift margin)進行設置。
在開始調試更復雜的項目(包括 Django 或 Flask 應用程序)之前,你首先需要設置并選擇調試配置。設置調試配置相對簡單。從 Debug 視圖中選擇 Configuration 下拉列表(drop-down),然后選擇 Add Configuration 和 Python:
Visual Studio Code 將在當前名為.vscode/launch.json 的文件夾下創建一個調試配置文件,它允許用戶設置特定的 Python 配置以及調試 Django 和 Flask 等特定應用程序的設置。
你還可以執行遠程調試,并調試 Jinja 和 Django 模板。關閉編輯器中的 launch.json 文件,然后從 Configuration 下拉列表中為應用程序選擇正確的配置。
Git 集成
VS Code 不僅內置對源代碼控制管理的支持,還支持 Git 和 GitHub。你可以在 VS Code 中安裝對其他 SCM 的支持,并列使用它們。用戶可以從 Source Control 視圖訪問源代碼控制:
如果你的項目文件夾包含.git 文件夾,VS Code 會自動打開所有 Git / GitHub 功能。你可以執行以下諸多任務:
所有這些功能都可以直接從 VS Code UI 獲得:
VS Code 還可以識別編輯器外部進行的更改并且正確運作。
在 VS Code 中提交最近的更改相當簡單。修改后的文件顯示在 Source Control 視圖中,并帶有 M 標記,而新的未跟蹤文件使用 U 標記。將鼠標懸停在文件上然后單擊加號(+)可以暫存更改。在視圖頂部添加提交消息,然后單擊復選標記來提交更改:
你也可以在 VS Code 中將本地提交(local commits)推送到 GitHub。從 Source Control 視圖菜單中選擇 Sync,或者單擊分支指示器(branch indicator)旁邊狀態欄上的 Synchronize Changes。
所以在作者看來,Visual Studio Code 是最酷的通用編輯器之一,也是 Python 開發的最佳候選工具。希望你也可以在 Python 開發中嘗試使用 Visual Studio Code 編輯器,相信不會令你失望的。
參考文章:
有沒有覺得 2021 年過得特別快?如果你的回答是有,那么你的感覺可能是對的。因為在物理世界中,與上個世紀相比,地球自轉的速度正在加快,這導致我們現在一天的時間比以前短了一些;在理想豐滿現實骨感的現實世界中,很多人一邊在吃苦耐勞工作的同時,也在快樂地八卦與“吃瓜”,不知不覺間時間就溜走了;在看不見摸不著的虛擬的世界中,科技這把推手吸引著無數技術人參與其中,打開黑科技的大門,讓無數網友直呼“智能設備讓時間變快了!”。
對于科技背后的從業者而言,站在一年的終點回望過去,感嘆萬千,在飛逝的時間長廊里,技術的點點滴滴留下了清晰了足跡,在本篇文章中,CSDN 對 2021 年進行了整體回顧之后,盤點出了技術十大熱詞,Java、HarmonyOS、Kubernetes、元宇宙等紛紛上榜,接下來,我們不妨一起來看看吧!
工具篇:效率至上,跨平臺已成趨勢
1.Java 17 已至,開發者“咬定 Java 8 不放松”
作為程序員的開發利器,從機器語言到匯編語言到高級編程語言,編程語言經歷了半個世紀的迭代之后,優勝劣汰,常用的也僅剩下幾款。其中,1995 年誕生的 Java 雖然常被唱衰,也常被動接受 Python、Kotlin 等語言的挑戰,但不可否認的是,據 CSDN TOPN 指數月排行榜顯示,Java 仍然是開發者最為常用的編程語言。
圖:CSDN 技術指數
2021 年期間,Oracle 為我們帶來了 Java 17,在最新的版本中,帶來的主要更新有:
306:恢復始終嚴格的浮點語義
356:增強型偽隨機數發生器
382:新的 macOS 渲染管道
391:macOS/AArch64 端口
398:棄用即將刪除的 Applet API
403:強封裝JDK的內部API
406:Switch模式匹配(預覽)
407:刪除 RMI 激活
409:密封類
410:刪除實驗性 AOT 和 JIT 編譯器
411:棄用即將刪除安全管理器
412:外部函數和內存 API(孵化器)
414:Vector API(第二次進行特性孵化)
415:特定于上下文的反序列化過濾器
據 Oracle Java SE 支持路線圖顯示,Java 17 是自 2018 年 Java 11 發布以來的新首個長期支持(LTS)版本。隨著 Java 17 推出,Oracle 的許可模式也發生了改變,此前面向生產和商業用途的 Oracle JDK 版本也重新開啟了免費模式。
Oracle Java SE 支持路線圖
不過,雖然 Java 按照每六個月發布一個板塊的頻率迭代到 Java 17 ,但是不乏有很多網友高呼:Java 8 YYDS!根據 Snyk 發布的 2021 Java 社區報告,雖然有 62% 的開發者在生產環境中使用了 Java 11,但也有 60% 的用戶仍然堅持使用 8 年前發布的 Java 8。那么,你現在用到了 Java 的哪個版本呢?
2.「write once,run anywhere」 的 Flutter 2
與編程語言有所不同,開發工具作為程序員效率提升的最直接工具,人人都有一個「write once,run anywhere」的夢想。為了實現這一愿景,Google 在 2021 年推出了專為 Web、移動和桌面而構建的 Flutter 2,這一版本的發布也被諸多開發者視為跨平臺開發的終極選擇。
簡單來看,基于 Flutter 2.0 框架,開發者只需開發一套代碼就能夠為 iOS、Android、Windows、macOS 和 Linux 五大操作系統構建原生應用。也能為 Chrome、Firefox、Safari、Edge 瀏覽器打造 Web 體驗,甚至也可以嵌入到汽車、電視和智能家居為環境計算提供最普適、可移植的體驗。
時下據 SlashData 的一項調研顯示,Flutter 已經成為全球最受歡迎的跨端 UI 工具包,年增長率高達 49%,其社區成員已超過 300 萬,在 Google Play 上架的 Flutter 應用超過 35 萬款。
在開發者群體中,國內開發者作為 Flutter 應用的中流砥柱,也有很多企業在 Flutter 上傾力投入資源。例如,抖音母公司字節跳動就有超過 70 款應用在使用 Flutter;騰訊不僅在微信中使用 Flutter,還用 Flutter 桌面端打造了企業微信中的新功能,甚至《絕地求生》中的玩家社區功能也是用 Flutter 打造的。之所以會選擇使用 Flutter,是因為開發效率上的顯著提升,有開發團隊反饋道:“換用 Flutter 后,新應用和新功能的發布速度加快了 30%。”
操作系統篇:穩中求進
穩中求突破,這成為 2021 年操作系統市場中最為鮮明的發展趨勢,這一點不僅是對于新入場的 HarmonyOS 是如此,對于老牌的 Windows、Android、Linux 亦然。
1.HarmonyOS 2 向萬物互聯的智慧世界發起進軍
在開源創新驅動下,「Powered by Android」已經成為了過去式,2019 年誕生的 HarmonyOS 經過時間的迭代正式接下了歷史和期待的接力棒。
2021 年 6 月 2 日,萬眾矚目的 HarmonyOS 2 正式版重磅發布,因此在這一年度中,HarmonyOS 能成為十大技術熱詞之一,其實也屬意料之中。發布會上,華為消費者業務軟件部總裁王成錄博士介紹了在 HarmonyOS 2 上的兩個大動作。一是性能方面有兩個重要的技術升級:1、優化了內核層、硬件抽象層、ROM層、框架等技術;2、使用華為自研全套圖形棧。二是更加注重消費者隱私安全部分:1.開啟多設備協同身份認證,需要通過手機的人臉識別和手表連接的雙重保險,才能完成解鎖;2.對用戶的數據分類管理、設備分級保護,只有滿足安全等級要求的設備才能訪問相應安全等級的數據,讓用戶可以放心地使用多設備互聯。
過去一年間,華為發布了多款搭載 HarmonyOS 2 的新產品,如 HUAWEI Mate40 系列的新版本、華為年度旗艦智能手表 HUAWEI WATCH 3、以及華為新一代平板 MatePad Pro。在萬物智能時代,設備之間的互聯變得尤為重要。HarmonyOS 2 旨在無論有多少設備連接在一起,必須讓消費者像使用一臺設備一樣簡單。12 月 23 日,首款華為“鴻蒙”汽車 ——“AITO問界 M5”正式發布,目前預約訂單已過 7000 單。
值得一提的是,全新的 HarmonyOS 是基于開放原子開源基金會推出的首個發行版。開放原子開源基金會旗下的 OpenHarmony 是一個開放社區的開源項目,鼓勵開發者們基于 OpenHarmony 這個開放社區,根據設備的資源能力和業務特征,對組件化的設計方案進行靈活裁剪,滿足不同形態的終端設備對于操作系統的要求。
截止 12 月 23 日,華為在冬季旗艦新品發布會上宣布搭載鴻蒙 HarmonyOS 設備數突破 2.2 億。用戶量暴增的華為鴻蒙有望成為繼安卓、iOS 之后的全球第三大系統。
曾幾何時,說著 Windows 10 將是 Windows 系統中最后的一個版本號的微軟,在今年中似乎有些打臉了,不僅提前了四個月就對下一代系統 Windows 11 進行了預熱,還一度提高了 Windows 11 的使用門檻。Windows 11更新硬件要求如下:
不同于 Windows 10,新版的 Windows 11 采用了新的菜單和任務欄設計,添加了一種由 AI 和網絡提供個性化訂閱源的 Widgets,并引用了全新的 Snap 布局、Snap 組件和虛擬桌面功能,旨在為用戶帶來極致化體驗。另外,Windows 11 也變得更加開放,在 Microsoft Store 中,微軟計劃從亞馬遜和 Epic Games Store 開始,提供第三方商店的應用程序。除此之外,微軟還允許在商店中上架第三方替代瀏覽器—— Opera 和 Yandex 瀏覽器。
不過,在 Windows 11 帶來巨大創新的同時,用戶對其評價不一。一方面,因其改進的視覺設計、窗口管理和更加注重安全性而獲得正面評價;另一方面,因其過高的更新硬件要求而備受爭議。同時也有用戶對其用戶界面方面的回歸和修改而不滿,因此依舊有不少的用戶對是否升級持觀望態度。
面對迅速發展的競爭對手,老牌操作系統也不敢松懈,仍然在不斷地推陳出新。Android 作為全球第一的操作系統,一直致力于個性化和開放的生態系統。據統計,在全球范圍內有超過 30 億臺設備使用 Android 操作系統。
2021年,5 月 19 日,在 Google I/O 開發者大會上, Android 12 重磅登場。各種創新技術輪番上陣,令人目不暇接。谷歌表示,Android 12“建立在你喜歡 Android 所有內容的基礎上”,專注于構建一款適應用戶自身、開發安全、設計私密的操作系統,同時使用戶的所有設備協同工作。Android 12 版本給用戶帶來了更個性化的體驗和更可控的隱私安全。12 月 28 號,小米12 系列正式發布,并在 GitHub 頁面上公布了小米 12 系列的存儲庫,均基于 Android 12。此外小米近期公布了 MIUI 13 海外升級計劃,首批的 19 款設備都將基于 Android 12 系統內核。
不只 Android 12,在11 月 16 日的 2021 Google 開發者大會上,谷歌推出了 Android 12L,針對大屏幕、可折疊設備做出了一系列更新,即當用戶從折疊時的外屏切換到展開后的大尺寸內屏時保證體驗流暢、設計美觀。12 月 14 日,谷歌發布博客詳細地介紹了 Android 12(Go 版),2022 年它將面向低端手機推出更快的應用程序啟動、更長的電池壽命、更好的共享和更多的隱私控制。據統計,全球超 2 億人在使用 Android(Go 版)手機。
谷歌還表示,以上功能并非 Android 12 的全貌,之后還會繼續進行開發,以確保用戶體驗與隱私安全得到更充分的保障。
在開源領域,Linux 絕對是站在金字塔頂端的一個操作系統。
1991 年 8 月 25 日,21 歲的 Linus Torvalds(以下簡稱 Linus)做了一個免費的操作系統“ Linux ”,并在這一天向外界公布這個由“業余愛好”主導的個人項目;如今,全球超級計算機 500 強和超過 70%的智能手機都在運行 Linux,因此,8 月 25 日也被許多 Linux 的愛好者視為Linux 真正的誕生日期。
30 年來,Linus 一直領導著 Linux 內核開發,以及在 2005 年創建 Git。Linus 認為 Git 是目前市面上最好的 SCM,并表示 Linux 成功的原因之一就在于他對 Linux 持開放態度,讓所有參與 Linux 內核開發的個人(以及公司)都擁有自由發揮的空間。
2021 年的 Linux 不僅迎來了自己的 30 歲生日,甚至還跨越了物理空間乘坐毅力號火星車登上了火星。
隨著互聯網的發展,現代網頁變得更加美觀,交互能力變得更強,功能也更加強大。前端開發為互聯網發展帶來了大量高性能的應用,從瀏覽器到小程序,前端開發者已經不再局限于前端,而是各種“端”。JavaScript 也打破曾經的偏見,成為時下最流行的語言。旗下有很多深受前端開發者歡迎的開發框架,Vue 就是其中之一。
現代前端技術在迭代的過程中不斷派生出大量的模式和工具。Vue 作為前端框架中橫空出世的一匹黑馬,從13年提交首個 commit,14 年推出前端開發庫——Vue.js 并選擇開源,再到后來不斷打磨的 Vue 3、Vite 2。Vue 備受開發者的青睞,同時憑借輕量級、簡單易學等優勢取得了 GitHub Repo TOP 3的優異成績。
Vite 是 Vue 的作者尤雨溪開發的 Web 開發構建工具,用尤雨溪的原話來說:Vite,一個基于瀏覽器原生 ES imports 的開發服務器。利用瀏覽器去解析 imports,在服務器端按需編譯返回,完全跳過了打包這個概念,服務器隨啟隨用。同時不僅有 Vue 文件支持,還支持熱更新,而且熱更新的速度不會隨著模塊增多而變慢。針對生產環境還可以把同一份代碼用 rollup 打包。
Vite具有以下特點:
不過 Vite 是在開發 Vue 3 時一起開發的,所以目前僅支持 Vue 3.x 版本,這意味著不兼容 Vue 3 的庫就不能與 Vite 一起使用。
從軟件吞噬世界,到開源吞噬世界,再到如今的云原生吞噬世界。云原生的爆火有目共睹,作為其中重要的工具 K8s,其應用也越來越廣泛。VMware《2021 年 Kubernetes 狀態報告》顯示,65% 的受訪者表示其生產環境中的大部分甚至全部容器化應用都運行在 K8s 中,這一數字在 2020 年為 59%,而 2018 年這個數字還不到三分之一。
過去一年,疫情改變了每個人的生活重心,全球都在努力應對新冠疫情帶來的變化, IT 部門受到的影響尤其大,企業若想快速更新業務則需要升級和重新部署應用的能力,提高開發人員向應用添加功能的速度是關鍵。
好消息是,企業組織正從 K8s 中受益,其中受訪者認為的最大益處為:更好的資源利用率滿足不斷擴大的需求。
K8s 雖然沒有早期發展那么迅猛,但是其也成為開發者持續使用及部署的一款重要工具。
2021 年,人工智能依然是科技界的主旋律。據 DZone機構預測,到 2027 年,全球人工智能市場將達到驚人的2000 億美元,其中軟件開發約占 45%。人工智能領域分為三個方面,即基礎層、技術層和應用層。TensorFlow 作為谷歌開發的開源軟件,是人工智能領域中的一個重要軟件工具,即技術層中的學習框架。
提到人工智能軟件工具就不可避免的提到 Tensorflow 和 PyTorch 的框架之爭。自 2015 年谷歌開源 TensorFlow 以來,深度學習框架之爭越來越激烈,全球多個看重人工智能研究與應用的科技巨頭均在加大這方面的投入。作為 Facebook 主力支持的 PyTorch,從 2017 年年初發布以來可謂是異軍突起,短時間內取得了一系列成果,成為明星框架。
近年來,關于 PyTorch 與 TensorFlow 的爭論一直是一個微妙的問題,因為它們的形式在不斷變化。這兩個平臺都有非常成熟的框架,都有各自優質的文檔、眾多的學習資源和活躍的社區,它們的核心深度學習功能也有很大重疊。今天,我們更加注重的是每個框架的實際應用場景,如它們的模型可用性、部署時間和相關的生態系統,而不是它們的技術差異。
元宇宙到底是什么?想必很多人在 2021 年期間無數次地詢問及解密過。作為同樣上榜國外科技和國內科技榜單的熱詞,元宇宙一直是人們關注的焦點。
英偉達在一篇博客文章中透露,在 4 月份的 GTC 主題演講中,有一部分是由黃仁勛的虛擬數字假人出鏡代替。雖然英偉達隨后澄清這個數字假人只出現了 14 秒,但也依然引起網友熱議。而后元宇宙橫空出世。為了追上這一潮流,微軟 CEO 薩蒂亞·納德拉(Satya Nadella)曾表示,公司正在建立一個企業元宇宙;曾經在 2014 年以 20 億美元收購 Oculus 引領 VR/AR 潮流的 Facebook,于 2021 年甚至直接將公司名字改為了 Meta;羅永浩宣布下一個創業項目是“元宇宙”......
所謂元宇宙,本質上是對現實世界進行虛擬化、數字化過程,需要對內容生產、經濟系統、用戶體驗以及實體世界內容等進行大量改造。目前元宇宙仍是一個不斷發展,演變的概念,所有參與者都在用自己的方式不斷豐富它的內容。隨著元宇宙的發展,我們離《頭號玩家》里的世界還遠嗎?
以上就是我們對 2021 技術十大熱詞的總結,你心目中還有哪些熱詞或者對熱詞有哪些補充呢?歡迎在評論區補充!