在閱讀Vue(前端框架)以及Spring(Java框架)相關的文章時,經常會看到“腳手架”的概念。
腳手架,英文scaffolding。
編程的世界來源於現實的世界,那么現實世界中的“腳手架”是什么呢?
腳手架一般理解是建築中使用的設備工具,為了保證各施工過程順利進行而搭設的工作平台。
Stack Overflow上有問答:What is scaffolding? Is it a term for a particular platform?
Scaffolding is a meta-programming method of building database-backed software applications. It is a technique supported by some model-view-controller frameworks, in which the programmer may write a specification that describes how the application database may be used. The compiler uses this specification to generate code that the application can use to create, read, update and delete database entries, effectively treating the template as a "scaffold" on which to build a more powerful application.
翻譯:
“腳手架”是一種元編程的方法,用於構建基於數據庫的應用。許多MVC框架都有運用這種思想。
程序員編寫一份specification(規格說明書),來描述怎樣去使用數據庫;而由(腳手架的)編譯器來根據這份specification生成相應的代碼,進行增、刪、改、查數據庫的操作。
我們把這種模式稱為"腳手架",在腳手架上面去更高效的建造出強大的應用!
看完之后,小白還是一臉懵逼!
在web2.0時代,應用程序變得非常復雜,於是出現了很多可以讓前端開發效率提升的框架和標准及工具。
一句話來說:腳手架就是幫助我們快速搭建工程的工具,自動幫我們生成工程目錄以及相關依賴,省的你一個個去配置,笨人才這個搞!
腳手架這個詞在編程領域初次看到是在使用前端框架時。許多團隊在制定前端工程方案時會加入腳手架模塊。雖然不同的團隊對工程化的理解和實施有所差異,但是對於腳手架的定位基本是一致的:創建項目初始文件。
腳手架的定義:腳手架作用是創建項目的初始文件,本質是方案的封裝
每一個成熟的工具,都有對應的腳手架工具,它可以快速構建項目的必要目錄,不必自己一個一個的配置與搭建,只需要執行一些命令即可。
常見的腳手架工具:
如vue的vue-cli,react的creat-react-app,flutter的flutter create等等類似。其實每種語言技術都有自己的腳手架,或者自己手動搭建一個適合自己實際項目情況的腳手架工具也是可以的。
工具嗎,會用就行,封裝后,盡量最小知道,讓程序員專注於真正具體的編程。
參考:
What is scaffolding? Is it a term for a particular platform?
編程中的腳手架是什么意思?
https://www.cnblogs.com/guanghe/p/10694748.html
https://blog.csdn.net/tjj3027/article/details/90180603