軟件接口的發展對于軟件行業的未來至關重要。在計算機世界中,“接口”一詞有兩種常見的含義:一方面是指軟件內部各部分之間的交互接口,即應用程序編程接口(API),表現為源代碼形式;另一方面則是指人與軟件之間的交互界面,即用戶界面(UI)。盡管大多數程序員注重設計良好的用戶界面,但實際上,軟件API的設計對于軟件的成功與否起著關鍵作用。歷史上,許多成功的軟件或Web應用都在API設計上滿足了用戶需求,即使用戶并不直接使用這些API。
歷史沿革
軟件接口的歷史可以追溯至上世紀70年代,當時Digital Research公司的Gary Kildall為微型計算機創造了世界上第一個實用的軟件API。這個API最初包含大約20個簡單的操作系統函數調用,雖然簡單粗糙,但卻極大地改變了計算機世界。Bill Gates意識到,面向應用程序開發者而非科學家的API是商業軟件成功的關鍵之一,因此他復制了CP/M及其API,并在其基礎之上增加了新的特性,從而使得MS-DOS的API在軟件開發中占據主導地位。然而,隨著Windows操作系統的推出,微軟并沒有繼續復制Kildall的成果,而是自行設計了一個龐大的API族,盡管這些API在初期飽受批評,但由于Windows引入了實用的偽多線程技術和高效的內存管理,以及易于使用的圖形界面,迅速贏得了用戶的青睞。微軟花了五年時間改進和發展早期的Windows,并最終在全球桌面操作系統市場上取得了壟斷地位。
1988年,微軟收購了Alan Cooper開發的可視化編程語言Ruby,并將其與垂死的QuickBASIC語言結合,創建了Visual Basic。Ruby實現了名為VBX的軟件API,允許程序員動態擴展Visual Basic的功能,這也預示了組件對象模型COM的前身。與此同時,在微軟以外的世界,unix系統發明了自己的API——TCP/IP,使得網絡間的通信成為可能。Marc Andreessen推出的Mosaic瀏覽器,后來演變為Netscape Navigator,標志著Web時代的到來。最初的Navigator只能查找和顯示本地文件,但得益于TCP/IP API,它可以訪問其他網絡上的遠程文件。網景的流行推動了互聯網的普及。
進入90年代,Netscape如流感般傳播開來。如今,計算機之間能夠通過通用API輕松通信,但很少有用戶會直接與這些接口交互。沒有成熟且符合時代潮流的API,即使是先進技術也可能會長期處于邊緣狀態。一旦成熟的API出現,軟件的前景便能預見。例如,現代智能手機和平板電腦本質上是計算能力不同的計算機,它們配備了短距離無線通信端口,但若缺乏公共API,則無法實現彼此之間的通信。未來可能出現的“陌生人服務”API,將使手持設備能夠自動與其他設施通信,包括商店、辦公室、售貨機和個人。目前,幾家公司在開發此類通用API,其中最有可能成功的是甲骨文公司的Jini項目。然而,Jini的目標群體主要是計算機科學家,而非解決方案提供商。
今天,軟件開發的一大重點在于Web應用程序,Web發展的驅動力主要來自交互設計和商業模式創新,而非技術創新。盡管大型Web開發商不太關注技術細節,但他們更依賴于其他人編寫的軟件組件,這意味著他們更加依賴于相應的API。無論設計何種API,首要原則是明確目標受眾和設計目的。只有了解目標受眾的需求,才能創建有用的API,實現適當的用戶接口,并確保不同軟件部分的良好集成。
規范
軟件接口的規約,即API規范,規定了軟件提供的程序接口的具體行為。例如,網絡瀏覽器IE作為一個軟件,提供了諸如mouseover這樣的接口,允許編程人員在其中編寫代碼,以便在用戶鼠標移動時觸發特定的響應。接口規約詳細描述了可用的參數、參數類型、范圍值以及可響應的事件。在概要設計文檔的接口部分,應簡潔明了地說明用戶接口、外部接口和內部接口的相關信息。
參考資料 >
軟件接口測試有多重要?專業軟件測試公司接口測試流程分享 .搜狐網.2024-08-22
軟件接口簡史.簡書.2024-08-22
詳細的軟件接口規范.道客巴巴.2024-08-22