這個名字是來源於建築界的腳手架,如下圖:
腳手架(scaffold) 指施工現場為工人操作並解決垂直和水平運輸而搭設的各種支架。建築界的通用術語,指建築工地上用在外牆、內部裝修或層高較高無法直接施工的地方。主要為了施工人員上下干活或外圍安全網維護及高空安裝構件等,說白了**是搭架子,腳手架制作材料通常有:竹、木、鋼管或合成材料等。有些工程也用腳手架當模板使用,此外在廣告業、市政、交通路橋、礦山等部門也廣泛被使用。
腳手架是為了保證各施工過程順利進行而搭設的工作平台。按搭設的位置分為外腳手架、里腳手架;按材料不同可分為木腳手架、竹腳手架、鋼管腳手架;按構造形式分為立桿式腳手架、橋式腳手架、門式腳手架、懸吊式腳手架、掛式腳手架、挑式腳手架、爬式腳手架。
產品特點:
1、用途廣,室內外裝修、牆壁腳手架、樓宇支撐等。
2、多功能能單用、雙用,能移動。
3、效率高、機動靈活,快速拆裝不用螺絲,取得事半功倍的效率。
4、承載力大、穩定性強。
5、安全****、自鎖能力好,系列標准化。
6、經濟實用、成本低、占用空間小,使用時間長。
用途:
1、用於樓宇、廳堂、高架橋、橋梁、隧道等模板內支頂。
2、做高層建築的內外排柵腳手架。
3、用於機電安裝、船體鑄造和裝修工程的活動工作平台。
4、利用腳手架配上建議屋架,便可構成簡易工地宿舍、倉庫或工棚。
5、用於搭設臨時的觀禮台和看台。
那編程中的腳手架是什么呢?
在計算中使用的腳手架指的是兩種技術之一:
1、與某些MVC 框架中的數據庫訪問相關的代碼生成技術;
2、由各種工具支持的項目生成技術。
由此,我們明確了腳手架的定義:腳手架作用是環境或項目的初始化,本質是一系統操作的封裝。
腳手架可以是安裝編程環境的過程,需要什么環境,就找什么環境的腳手架。
腳手架可以是幫你搭一個應用的代碼框架,或者是自動生成針對指定數據庫的CRUD等。
在軟件工程領域,腳手架可以解釋為幫助開發人員在開發過程中使用的開發工具、開發框架,使用腳手架你無須從頭開始搭建或者編寫底層軟件。下面的"腳手架"定義來自Stack Overflow,更加偏向於應用服務框架使用的一種編程思想或者說編程范式。
腳手架是一種元編程的方法,用於構建基於數據庫的應用。許多MVC框架都有運用這種思想。
程序員編寫一份specification(規格說明書),來描述怎樣去使用數據庫;而由(腳手架的)編譯器來根據這份specification生成相應的代碼,進行增、刪、改、查數據庫的操作。我們把這種模式稱為"腳手架",在腳手架上面去更高效的建造出強大的應用!其實就是由"程序員手寫代碼"升級到由"程序員指揮機器自動生成代碼"。
程序員可以在其中指定應用程序數據庫的使用方式。該編譯器或框架使用說明書中,與預先定義的代碼模板在一起,產生最終代碼的應用程序可以使用它來創建,讀取,更新和刪除數據庫條目,有效治療模板作為"支架"上建立更強大的應用程序。
單獨來看,腳手架可能並不具備很高的"性價比",但如果你的團隊有一套完整的工程體系,腳手架的作用就會被放大。工程體系的功能涵蓋范圍廣,封裝的方案類型多,對應的配置項也非常復雜。而且,大多數工程體系的開發者並不是一線的業務開發者。對於業務開發者來說,這套工程體系就是一個黑盒,他們不需要了解其中的復雜原理,只需要知道如何配置即可。所以業務開發者的需求就是快速開發快速配置,並且生成的配置項跟項目要對應,既要滿足項目的功能需求,又不能有"混淆視聽"的冗余功能。
腳手架應該是輔助性質的。學習曲線應該平緩,即使文檔再清晰易懂,也不應該要求業務開發者去花時間學習各種細節。這就是腳手架要解決的切實問題,簡單說就是:
快速生成配置;
1、降低框架學習成本。
2、隨着工程體系越來越復雜,腳手架的角色會越來越重要。
為什么需要腳手架,它可以給軟件開發帶來什么好處呢?
它可以讓開發者專心實現業務邏輯而不陷入服務架構的技術細節。
模塊復用,不重復的造輪子 。基礎能力代碼的利用,可以縮短開發時間,減少大量的開發任務,可以支持高頻的交付,實現敏捷開發。
常見的腳手架
maven、netty、vue框架、SpringBoot等