身為一個程式開發者,說點術語也是很合理的...不過有時候太多術語,不只是同事不知道你在說什麼,連自己也不確定到底自己在說什麼,這裡就稍微簡單描述一些常見的開發術語囉,適合完全不懂程式的朋友了解一下!如果我有哪裡解釋錯了,也請指教我!

Ref: Stackoverflow - Difference between framework vs Library vs IDE vs API vs SDK vs Toolkits?

IDE - 整合開發環境

Integrated development environment. IDE 就是 developer 用來寫程式的一個環境/介面,比如說 Eclipse, IntelliJ, Android Studio, Visual Studio,可以想像成是厲害很多的記事本(是跟記事本不同等級的東西),除了可以寫出一行行的程式碼以外,還可以編譯/執行程式。
範例:

A: 你都用什麼 IDE 來開發 Android 啊?
B: 喔喔,我用 Android Studio 。

Library - 函式庫/資源庫

Library 是一堆已經包裝好的 code,可以直接取用,讓 developer 能夠更快速、方便地開發。比如說 Android 的 Support Library,可以想像成是我要組裝一檯車子,有人提供我車輪、引擎的「模組」,讓我不用自己造車輪!
範例:

A: Android 的 Actionbar(標題功能列) 是不是要匯入什麼 library 啊?
B: 對啊,你要用 android-support-v7-appcompat 喲。

API - 應用程式介面

Application programming interface. API 就是一個讓開法者能夠存取 Library 裡面的 functions/methods (函數/方法) 的介面,而不用了解這些 function 是怎麼運作、被實作的。回到剛剛的造車例子,今天我要把車輪裝上車子,只要事先跟車輪廠商說好,輪子跟車身銜接的地方形狀要長什麼樣,到時候就可以直接把輪子擺上來了,我不用知道車輪是怎麼製造的。 API 本身就是一個介面,你也可以把它想像成是水面,你在水面上對著湖中女神大喊「我掉的是 金斧頭」,湖中女神就會丟出一把金斧頭(如果你沒說謊的話...),你不用知道到底她是怎麼找到你的斧頭的;同時,如果你不知道拿斧頭的規則,亂喊「我要 金斧頭」,湖中女神就不會理你。所以可以說,湖中女神是一個 "Library",有開出 "拿斧頭的 API"。

範例:

A: Google Map 是不是有什麼 API 可以用啊?
B: 有啊,像 Google Maps Android API 就可以讓你寫一點點 code 就能在 app 裡面顯示 Google Map。

SDK - 軟體開發工具包

Software development kit. SDK 通常是方便讓你在某一個系統上開發,通常會包含一些工具包、檔案描述還有範例程式碼,一般來說都是在開始寫程式之前就要弄好的環境設定之一。比如說 開發 Android 功能的 Android SDK 開發 windows 功能的Windows SDK, 開發 3D 繪圖功能的 DirectX SDK
範例:

A: 要開發 Android 的話,要先安裝 Android SDK

Framework - 框架

Framework 就像骨架一樣,通常會是一堆資料夾與預先寫好的程式們的集合,等著你把其他的 code 補齊,造出你自己的車子。就像一間還沒有裝潢的屋子一樣,他只提供你蓋好的房子,讓你自己 implement 其中的功能。
範例:

A: Bootstrap 是一個非常好用的 front-end framework!

還有什麼你常聽到的術語嗎? 歡迎分享!
Last Updated: 2014-1001

Comments

comments powered by Disqus
Copyright © 2013 Andro Chen
Powered by Logdown and Greyshade
Favicon from The Noun Project