應用程式介面是由程式函式庫或者什麼系統提供給應用程式呼叫使用的程式碼?
電腦作業系統
命令列介面是在圖形使用者介面得到普及之前使用最為廣泛的使用者介面，它通常不支援滑鼠，用戶通過鍵盤輸入指令，電腦接收到指令後，予以執行。也有人稱之為字符使用者介面。通常認為，命令列介面沒有圖形使用者介面那麼方便用戶操作。因為，命令列介面的軟體通常需要用戶記憶操作的命令，但是，由於其本身的特點，命令列介面要較圖形使用者介面節約電腦系統的資源。在熟記命令的前提下，使用命令列介面往往要較使用圖形使用者介面的操作速度要快。所以，在現在的圖形使用者介面的作業系統中，通常都保留著可選的命令列介面。雖然現在許多電腦系統都提供了圖形化的操作方式，但是卻都沒有因而停止提供文字模式的命令列操作方式，相反的，許多系統反而更加強這部份的功能，例如Windows就不只加強了操作命令的功能和數量，也一直在改善Shell Programming的方式。而之所以要加強、改善，自然是因為不夠好；作業系統的圖形化操作方式對單一用戶端電腦的操作，已經相當方便，但如果是一群用戶端電腦，或者是24小時運作的伺服器電腦，圖形化操作方式有時會力有未逮，所以需要不斷增強命令列介面的腳本語言和巨集語言來提供豐富的控制與自動化的系統管理能力。
智慧型手機的新定義使得智慧型手機與傳統功能型手機能完全區分開來，不再是之前的模糊關係。同樣，早期的蘋果手機系統與微軟視窗手機系統不支援智慧型手機應有的多任務處理，是否為智慧型手機系統有許多爭議。但隨後蘋果發布的蘋果手機系統4支援多任務處理；而微軟也發布的視窗手機7.5支援多任務處理，至此兩者都能認定為智慧型手機系統。智慧型手機有別於普通帶有觸控式螢幕的手機。一般普通帶有觸控式螢幕的手機使用的都是生產廠商自行開發的封閉式作業系統，再透過爪哇平台來增加其他應用，所能實現的功能非常有限。行動裝置用戶可通過無線網路連上流動軟體應用程式商店免費或付費下載使用流動軟體應用程式。
應用程式介面，又稱為應用編程介面，就是軟體系統不同組成部分銜接的約定。由於近年來軟體的規模日益龐大，常常需要把複雜的系統劃分成小的組成部分，編程介面的設計十分重要。程式設計的實踐中，編程介面的設計首先要使軟體系統的職責得到合理劃分。良好的介面設計可以降低系統各部分的相互依賴，提高組成單元的內聚性，降低組成單元間的耦合程度，從而提高系統的維護性和擴充功能性。應用程式介面為：「『電腦作業系統』或『程式函式庫』提供給應用程式呼叫使用的程式碼」。其主要目的是讓應用程式開發人員得以呼叫一組常式功能，而無須考慮其底層的原始碼為何、或理解其內部工作機制的細節。API本身是抽象的，它僅定義了一個介面，而不涉及應用程式在實際實現過程中的具體操作。例如，圖形庫中的一組API定義了繪製指標的方式，可於圖形輸出裝置上顯示指標。當應用程式需要指標功能時，可在參照、編譯時連結到這組API，而執行時就會呼叫此API的實現來顯示指標。應用程式介面是一組數量上千、極其複雜的函式和副程式，可讓程式設計師做很多工作，譬如「讀取檔案」、「顯示選單」、「在視窗中顯示網頁」等等。作業系統的API可用來分配記憶體或讀取檔案。許多系統應用程式藉由API介面來實現，像是圖形系統、資料庫、網路Web服務，甚至是線上遊戲。
隨著電腦系統的進步，零售業界開始嘗試使用電腦來管理店面的商品，在1970年代商品的條碼規格確立，製造商在商品出廠時直接印製條碼，而店家便可以利用此條碼來管理商品，這便是POS系統的主要功能。過去收錢、算錢行業是用算盤，一直到目前用到電子收銀系統，也就是1個錢箱配上幾個按鈕，每當收錢時會聽到叮叮聲的收錢、算錢系統，又稱為第一代及第二代POS系統。到了第三代POS系統，便開始導入了個人電腦功能，利用個人電腦的結構來做檔案的處理、庫存及客戶資料的管理、刷卡、驗證等。第三代POS系統最常見到的是分離式架構，即一台個人電腦主機加上小型顯示器、印表機、錢箱及POS鍵盤等，不過也有將前述裝置包裝在一個機櫃裡，為整合式機體。第三代POS系統已開始跨到個人電腦領域，因軟體採用微軟架構，所以有軟體開發平台很完整，程式設計師可在Windows的開放式平台下來開發應用程式，包括網路、伺服器連結程式等，免除過去ECR在封閉式平台下，可開發程式有限的瓶頸。而第四代POS系統是擁有觸控螢幕多功能一體機，現已成為市場主流。