每每Windows一更新,都伴隨著一波又一波的高潮,從介面UI到系統佈局,再到各種新功能的加入,每個版本的Windows或多或少都有些改變。
當然,在使用者的眼中,所關心的無外乎是新版Windows有哪些新功能,會不會有BUG存在。就比如最近更新的Win10「2004版」,新增了諸如獨立的Cortana、網頁預覽、工作管理員顯示GPU溫度等全新功能,但也有不少BUG。
2004版搜尋預覽功能
而在開發者眼中,他們所關心的是有沒有新框架,新介面的支援,能夠讓Windows應用的開發變得更加容易,受眾更廣。而在這些的背後,少不了今天的主角——「API」。
什麼是API
其實到目前為止,API在業界中一直沒有一個明確的定義。這是因為作為「專有名詞」的API,隨著網際網路技術和數字經濟的高速發展,最初所表達的含義已經容納不下這些新的內容,而且它的外延還在不斷擴大,所包含的內容也越來越多。
API又被稱為「應用程式程式設計介面」,它能通過定義一組函式、協議和資料結構,來明確APP中各個元件之間的互動方式,然後通過介面的形式,將Web應用、作業系統、資料庫等提供給外部使用
這就是我們暫時知道的API。說人話就是:有了API作為介面,系統就能利用它在各大APP中來回切換。
隨著近年來,軟體規模的日益龐大,開發者們常常需要把複雜的系統,劃分成細小的組成部分,而其中的「API介面設計」就顯得十分重要。只有使軟體系統的職責得到合理劃分,良好的介面設計就能降低系統各部分的相互依賴,從而提高系統的可維護性和可擴充套件性。
說人話就是:通過API介面合理分工,APP的開發和使用才會更加便捷。
作為使用者的我們,平時能夠直接接觸的API幾乎沒有(因為API是面向開發者的)。但基本上都會使用到,比如朋友發來的並夕夕拼單鏈接,點選進入後會直接跳轉到並夕夕APP當中(當然這是較為簡單的API介面)
API分類
如果說作業系統是使用者與硬體系統之間的介面,那麼API就是硬體系統與軟體之間相互連通的樞紐(簡單來說就是起「插頭」的作用)。因為用途、功能和使用環境的不同,一般將API分為「類庫型API」、「作業系統型API」、「遠端應用型API」和「web應用型API」這四大類,而我們多數時間能夠接觸到的API,一般是作業系統型和web應用型這兩類。
1.作業系統型API
就如字面意思那樣,通常是作業系統層對外部提供的介面,可以讓開發者在不了解應用程式「工作原理」的情況下,使用它的功能,完成對作業系統的操作。就像我們需要使用電時,只需要插上插頭就會有電流過來,而不用了解電流的產生原理。
比如,在Windows API環境下,我們下載東西時,可以通過瀏覽器呼叫客戶端程式進行下載。
2.Web應用型API
這類API通過使用「http協議」,在企業與不同的應用程式之間、企業與企業之間,通過web開發架構的方法,以服務的形式,對外提供呼叫介面,從而滿足消費者的需求。這在我們生活中很常見,例如各類APP的使用者登入介面,就是使用的這類API。
就開發者而言,最讓他們抓狂的就是「平臺介面混亂」現象了,而我們熟知的Windows平臺就是這樣的。然而,在今年5月20日的微軟「Build開發者大會」上,微軟為開發者們帶來了福報,展示了全新的Windows 開發工具「Project Reunion」。
從字面上,就能感受到一股濃濃的「Microsoft WindowFamily」的味道(是不是很香?)。
根據微軟的介紹,Project Reunion 是一組庫、框架、元件和工具的集合體,結合了 Win32 本機應用程式的功能和現代API技術(新 API、聚合 API 和 API 子集)。
簡單來說就是集合了幾乎所有型別的API,讓開發者可以在Windows 平臺中的任何應用程式中使用它。如果開發者想將自己的應用釋出至不同的Windows 平臺,只需要通過Project Reunion工具即可,無需再進行重新編寫。
目前,Project Reunion 中已有的元件包括:WinUI 3 for XAML 利用 XAML 的功能,可以幫助開發者為各種應用程式構建流暢的 UX;C++/WinRT、RUST/WinRT 和 C#/WinRT 提供自定義型別的語言本地投影,方便開發人員呼叫 Windows API,更輕鬆地使用自己熟悉的語言構建各類 Windows 應用和元件;MSIX-Core 用於打包應用程式,以通過商店或自己的交付管道分發到 Windows 桌面計算機。
更為可怕的是,Project Reunion為新的應用程式提供一個共同的平臺,從而讓開發者能夠緊跟平臺步伐,而不在乎用的是C++、.NET還是ReactNative。這意味著可以在Linux和Windows系統下,進行平行計算,徹底打通了Linux和Windows之間的隔閡!(在Win 10的2004版中加入Linux子系統就是體現)
Linuxer們可能萬萬沒想到,最終敲破Linux和Windows之間窗戶的石頭,居然來自微軟自己。
隨著Windows的不斷更新,相信Project Reunion這個工具向的技術也會包含更多的API,為我們想要的下一代Windows提供最為牢固的基礎。目前物聯網和5G技術的飛速發展,各種新的API仍在不斷地湧現,而API技術的安全將會是下一個浪潮的開端。