軟件開發:至今的歷史回顧

軟件開發:至今的歷史回顧

軟件開發:至今的歷史回顧

軟體開發(SD)自誕生以來就具有鮮明的特徵。從一開始,軟體開發領域就分為兩大類:自由開源軟體開發和專有閉源軟體開發。

而這一切又引發了各個分散式系統領域競相開發類似軟體的競賽,最終催生了各種類型的應用程式。因此,分散式系統催生了第一個也是至今仍在使用的系統軟體(SS),隨後是程式設計軟體(SP),最終是應用軟體(AS)。而這些應用軟體涵蓋了從傳統的本地應用程式(即可安裝且特定於每個作業系統的軟體)到運行在區塊鏈上、透過互聯網運行的創新分散式應用程式。

軟件開發:內容1

軟體

幾乎與 SS 誕生的同時,SP 和 SA 也誕生了。 SS 基本上就是作業系統本身,包含了裝置驅動程式、系統公用程式以及所有用於特定控制電腦功能的工具,即所有有助於管理硬體 (HW) 元素(如記憶體、磁碟、連接埠、裝置和周邊裝置)的程式。

軟體程式包(SP)包含程式設計師用來開發其他電腦程式的軟體產品,這些程式使用不同的程式語言和/或資料庫。軟體程式包通常包括文字編輯器、編譯器、解釋器、連結器和偵錯器。它們還包括整合開發環境(IDE),IDE 是一種將上述所有必要工具整合到一個環境(通常是圖形使用者介面,或 GUI)中的軟體包,以涵蓋完整的程式開發生命週期。

軟體應用(SA)類別涵蓋了(最終)使用者用於完成任務的軟體。 SA通常包括辦公室套件、圖形設計或多媒體軟體、會計或行政軟體等等,這只是該類別中所有應用類型的一小部分。因此,SA,或簡稱為應用程序,指的是…

允許最終用戶在計算機,筆記本電腦,平板電腦,移動電話或其他類型的設備或技術平台上執行不同任務的任何程序。

軟件開發:內容2

應用

在電腦發展初期,應用程式(App)的特點是必須安裝才能使用,而且只能在特定的原生作業系統上運行。然而,隨著時間的推移和電腦科學技術的進步,應用程式不斷發展,獲得了可移植性、跨平台相容性、模組化和可擴展性等特性。因此,如今我們擁有多種類型的應用程序,從傳統的原生應用程式到創新的分散式應用程序,應有盡有。

首頁

原生應用程式是專門為特定作業系統開發的,通常使用軟體開發工具包 (SDK),它們是最早出現的應用程式類型。這些應用程式的關鍵特點是與設備或平台的功能和特性完全集成,從而帶來更佳的用戶體驗。因此,它們在原生環境中往往外觀和效能更佳,運作也更流暢、更可靠。然而,如果每個原生作業系統版本都需要開發新的應用程序,那麼它們的開發成本通常會更高。

隨著科技進步,Web應用程式(也稱為WebApp)應運而生。這些應用程式透過網頁瀏覽器嵌入到網頁或網站中運作。因此,它們幾乎可以在任何網路瀏覽器以及任何類型的電腦、裝置或平台上運行。而且,幾乎所有能在Web格式中實現的功能,都可以在可安裝的原生應用程式格式中實現。

混合應用是前兩種方法的結合產物。這類應用程式使用典型的 Web 應用語言開發,使其能夠在不同平台上運行,同時又具備原生應用程式存取運作所在電腦、裝置或平台大部分硬體功能的能力。換句話說,它們充分利用了 Web 開發的靈活性和原生應用程式的硬體適配性。

現在

如今,漸進式 Web 應用 (PWA) 正在蓬勃發展。它們本質上是利用 Service Worker 和其他技術的網頁,其運作方式更接近原生應用,而非傳統 Web 應用。 Service Worker 和其他技術在背景執行,而應用程式本身則在 Web 瀏覽器中運行。

最後,目前的應用程式正在遷移到分散式應用程式(也稱為去中心化應用程序,簡稱 DApp)格式。這些去中心化應用程式使用區塊鏈平台,允許用戶直接互動和進行交易(協議),而無需管理服務的中心實體進行中介。因此,在 DApp 中,每個使用者都是去中心化網路中的節點,所有節點共同充當平台上所有交易的全球公證人。

結論

軟體開發領域身處科學技術的核心,因此不斷發展進步。也因為如此,從可安裝軟體(原生應用)發展了許多其他形式的應用(Web應用、混合應用、漸進式應用、分散式應用)。

現有的應用程式形式肯定很快就會被新的、創新的應用程式形式所取代,這些應用程式形式將受到當前和不斷變化的技術的影響,例如大數據、深度學習、人工智慧,以及仍在不斷發展的技術,例如雲端運算和區塊鏈。


在 Google 中將其新增為首選來源