国产成年女人毛片80s网站_999久久欧美人妻一区二区_边啃奶头边躁狠狠躁_国产第一页屁屁影院_久久精品国产第一区二区三区

數(shù)據(jù)接口介紹
來源:技術(shù)部       日期:2021-05-01

軟件的未來其實在很大程度上要指望軟件接口的前景如何。我們知道,計算機世界里的接口這兩個字具有兩種眾所周知的含義:其一是指軟件本身的狹義“接口”,比如各種軟件開發(fā)API等。其二則指的是人與軟件之間的交互界面。

我們把這種人-軟件之間的接口稱作“用戶界面”,也就是“UI”。這里要討論的前一種定義: 軟件不同部分之間的交互接口。通常就是所謂的API――應(yīng)用程序編程接口,其表現(xiàn)的形式是源代碼。API的發(fā)明和發(fā)展大大促進了計算機產(chǎn)業(yè)的進步,同時API幾乎決定著日常運算的各個方面。

大多數(shù)程序員秉承為軟件用戶設(shè)計優(yōu)秀的用戶界面思想,這一點早已深入人心??墒?,另一方面,如何實現(xiàn)合理的軟件API卻只為少數(shù)人所重視。歷史證明,所有在應(yīng)用上獲得成功的軟件或者Web應(yīng)用無一不是首先在API的設(shè)計上滿足了用戶的需求,即便這些用戶幾乎從不直接使用這些API!

早在上個世紀的70年代,Digital Research公司的Gary Kildall為微型計算機首創(chuàng)了世界上第一個實用的軟件API。這個初生的API大致上有20多個對操作系統(tǒng)的簡單函數(shù)調(diào)用組成,這個操作系統(tǒng)就是CP/M――那時可是相當?shù)暮唵魏痛植?,而同樣簡單的API卻讓整個計算機世界發(fā)生了重大變化。Kildall這個很有才氣的計算機專家希望自己設(shè)計的API能被其他科學(xué)工作者采用。至于商用方面的考慮可是想都沒想。而且,我們的產(chǎn)業(yè)現(xiàn)狀也證明:僅讓科學(xué)家們俱歡顏是不會在商業(yè)中賺到一分錢的!好在,比爾蓋茨認識到,用于應(yīng)用程序開發(fā)人員而不是科學(xué)家的API絕對是商業(yè)軟件獲得成功的關(guān)鍵之一,這樣一來,情況就很不一樣了。

隨后由比爾·蓋茨等開發(fā)的MS-DOS操作系統(tǒng)全盤拷貝了CP/M及其API,并在這些API的基礎(chǔ)之上又增加了一些簡單特性,務(wù)實的比爾·蓋茨將Kildall的發(fā)明變成了巨大的商業(yè)應(yīng)用并立刻讓MS-DOS的API在軟件開發(fā)中占據(jù)了主導(dǎo)地位。

然而,當微軟公司推出Windows操作系統(tǒng)的時候,系統(tǒng)的龐大API族就沒有拷貝Kildall的成果了,可是,事實證明這些微軟自己折騰出來的Windows API實在是糟糕的可以:丑陋的代碼、混亂的結(jié)構(gòu)等等不一而足。但是,Windows采用了實用的偽多線程技術(shù)和高效的內(nèi)存管理,特別是簡單易用的圖形界面立刻俘獲了一般用戶的忠心。大量的程序員也就隨之投入到Windows程序的開發(fā)中來,這些糟糕的API自然當仁不讓了。微軟花費了5年多的時間改進和發(fā)展早期的Windows并在最終壟斷了全球桌面操作系統(tǒng)市場。今天我們誰也離不開Windows API了,除非你不打算編寫支持Windows的軟件!

1988年,微軟購買了Alan Cooper開發(fā)的可視編程語言:Ruby。隨后微軟把Ruby和垂死的QuickBASIC語言組合起來創(chuàng)建了Visual Basic。Alan Cooper方面的Ruby實現(xiàn)了名為VBX的軟件API,這種API可以讓程序員動態(tài)地擴展Visual Basic功能,這一事實再次證明了軟件接口具有多大的重要性。VBX接口也就是火熱的組件對象模型COM的前身。

在為微軟的勢力之外,Unix世界也發(fā)明了自己的API,這就是TCP/IP,有了它,網(wǎng)絡(luò)之間就可以自由地通信了。TCP/IP首先在大學(xué)里獲得了普遍的歡迎,然后,到了20世紀90年代,Marc Andreessen瞄準那些不是程序員卻很想從使用計算機獲得好處的年輕人推出了世界上第一個Web瀏覽器:Mosaic,后來在此基礎(chǔ)上誕生了Netscape Navigator,可以說,正是Web和瀏覽器的發(fā)明,我們終于被帶到了信息時代。

最早的Navigator所能作的不外乎就是查找和顯示文件,這和Macintosh Finder乃至Windows Explorer也沒什么兩樣,但是,正因為有了TCP/IP API,Netscape 就可以放眼于本機之外查找和顯示其他網(wǎng)絡(luò)上的其他計算機中的文件。新世界豁然洞開。

整個90年代,Netscape就象流感病毒一樣滿世界到處擴散。到了計算機之間在通用API的努力下可以非常方便地相互通信,但幾乎沒有一個用戶會直接和這些TCP/IP接口交互。

如果沒有優(yōu)秀的、符合時代潮流的API,什么先進的技術(shù)都可能會不得不寂寞很長一段時間以等待命運的垂青。一旦成熟的API出現(xiàn),軟件的前景也就能大致看到輪廓了。

舉個例子,不管是你身上的手機還是隨身攜帶的PDA――比如PalmPilot,它們其實都是處理能力不同的計算機而已,這兩種設(shè)備都裝備了短距無線(通常是紅外線)通信端口??墒?,它們?nèi)绾尾拍芡ㄟ^這些端口實現(xiàn)相互之間的通信呢?如果這些設(shè)備之間缺乏公用的API,你的手機就不可能和你的PDA實現(xiàn)通信。

今后會產(chǎn)生一種所謂的“陌生人服務(wù)”API,比方說,當你走在大街上的時候,你的手持設(shè)備,不管是手機、PDA還是筆記本電腦或者車載導(dǎo)航設(shè)備就會自動地和周圍設(shè)施通信,商店、辦公室、售貨機和其他人等等。

有幾家公司已經(jīng)在致力于開發(fā)以上的通用API,其中最有希望的或許是Oracle公司(Oracle公司于2009年收購Sun公司)的Jini。但是,Jini的定位和以前的CP/M一樣,也是更多的把目標放在了計算機科學(xué)家而不是解決方案服務(wù)商上。

我們今天的軟件開發(fā)很大一部分是開發(fā)Web應(yīng)用程序,驅(qū)動Web進步的是交互設(shè)計和商務(wù)模式而不是技術(shù)創(chuàng)新。從技術(shù)上說,Web領(lǐng)域的大開發(fā)商不會對Web本身挖掘太多,他們?nèi)狈帉懘笮?、?fù)雜程序的耐心。但是,反過來,這些大型廠商可以把其他開發(fā)商預(yù)先編寫的軟件組件組合起來,這樣,他們就比以往更多地依賴于為其編寫的軟件API。

總而言之,不管我們設(shè)計什么API,最重要的是首先要弄明白我們在為什么目標或者為誰在設(shè)計。這是一定要記得的關(guān)鍵點。只有在我們理解目標受眾的需求之后,我們才可能創(chuàng)建有用的API,才能實現(xiàn)恰當?shù)挠脩艚涌?,才能讓不同人設(shè)計的不同軟件部分良好地集成。

上一篇:
下一篇: