Re: [問題] 所謂 framework 到底是何物

看板C_and_CPP作者 (單身老王)時間9年前發表 (2016/01/04 18:06), 9年前編輯推噓3(3015)
留言18則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《NoStra ()》之銘言: : 常常聽到 framework : 上網查了說明, 但是覺得有點抽象 : 實在不知道語意是什麼? : 例如常聽到的 Android framework : 既不是程式語言本身也不是sdk更不是IDE : 到底是什麼的東西呢 : 謝謝前輩指教 Framework 要比喻的話 就像做特定料理 例如 客人要吃生菜沙拉 你可能會用萵苣 小黃瓜 千島醬 擺好盤 也可能放幾個番茄 一把苜蓿芽 優格醬 但你不會把客家小炒端上來 所以 生菜沙拉 客家小炒 就是兩種不同的Framework 這就是所謂的"框架" 以 Android 來說 你是藉由繼承 Activity、遵守Activity的Lifecycle 還有 Android 系統許多的限制 例如不能在 MainThread 跑 Network 簡而言之 使用Framework 就是遵守契約 你在台灣生活 你依照台灣的法律開公司 什麼公司都可以 怎麼運作都可以 只要合法就好 你依照台灣的法律結婚 什麼老婆都可以 怎麼相處都可以 只要合法就好 那這樣講來 當紅的 Unity Engine 算不算 Framework? 我覺得不算 你會說 Unity 內 藉由繼承 Unity 的類別並 Override 可以算是 Framework 呀 但事實上 你不能擴充 Unity "Engine" 本身的運作 Unity 提供的是腳本上的自由 而非引擎、程式根本上的自由 至於Cocos2d 官方就直接告訴你:我是一個Framework - 話說 我覺得Java本身就是一種Framework XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.241.165 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1451930815.A.8B5.html

01/05 20:55, , 1F
就語言角度,是否語言就是一種Framework?因為他需要
01/05 20:55, 1F

01/05 20:56, , 2F
有spec可以依循,如同Framework的骨架?
01/05 20:56, 2F
我的看法是 Java的JVM與他的Library 其實就對開發的思維 做了一定程度的規劃

01/05 22:07, , 3F
那古往今來所有計算機上的東東都叫framework好了
01/05 22:07, 3F

01/05 22:08, , 4F
計算機上有什麼東東是不用依循spec的?
01/05 22:08, 4F
你要這樣想 就這樣想吧 沒人可以阻止

01/05 22:10, , 5F
龐德爵士:"為了避免混淆起見,從現在開始MI6派駐外國的
01/05 22:10, 5F

01/05 22:11, , 6F
所有情報員通通改名詹姆士龐德,代號全部改成007"
01/05 22:11, 6F

01/05 22:11, , 7F
是這樣嗎?
01/05 22:11, 7F

01/05 22:57, , 8F
If it says it's a framework, it's a framework.
01/05 22:57, 8F

01/05 22:58, , 9F
這種東西和 buzzword 一樣自己說了就算, 認真定義就輸了
01/05 22:58, 9F
的確是開發者說了算沒錯XD ※ 編輯: bachelorwhc (114.34.241.165), 01/06/2016 00:28:32

01/06 12:30, , 10F
BULLSHIT.
01/06 12:30, 10F

01/06 12:31, , 11F
頂多可以說「語言內有一些規範類似framework的特性」
01/06 12:31, 11F

01/06 12:31, , 12F
說「語言就是framework」 那就是BULLSHIT
01/06 12:31, 12F
http://goo.gl/1il3YL 是啦是啦 你說的都對 我說的都BULLSHIT - 我們好像從來沒有一個人說過語言就是Framework JVM跟Library完全被忽略掉了 顆顆 ※ 編輯: bachelorwhc (114.34.241.165), 01/06/2016 12:54:45

01/07 01:06, , 13F
即使加上jvm,java在一般認知中離framework還很遠
01/07 01:06, 13F

01/07 01:07, , 14F
framework有個共通特性就是它們被設計做特定用途
01/07 01:07, 14F

01/07 01:08, , 15F
web framework就是做web應用,gui framework就是做gui
01/07 01:08, 15F

01/07 01:10, , 16F
但是java本身是general purpose,可以做web也能做gui
01/07 01:10, 16F

01/07 01:11, , 17F
因此普遍來說,很少有人會認為java是framework
01/07 01:11, 17F

01/08 13:30, , 18F
有些framework看起來就像剛DSL
01/08 13:30, 18F
文章代碼(AID): #1MYhI_Yr (C_and_CPP)
文章代碼(AID): #1MYhI_Yr (C_and_CPP)