![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Scaffolding, as used in computing, refers to one of two techniques:
Scaffolding in software development refers to automated code generation techniques that quickly produce the fundamental structure of software applications. Typically employed within model–view–controller (MVC) and similar architectural patterns, scaffolding helps developers rapidly create code for common application functions and data interactions, particularly CRUD operations.
Scaffolding evolved from earlier software development tools such as Oracle's CASE Generator and various other 4GL tools, designed to simplify the creation of robust database-driven applications.
The concept gained widespread popularity through frameworks like Ruby on Rails, known for its efficient generation of MVC structures and CRUD operations. Scaffolding is now supported by a wide range of development frameworks across different programming languages, including:
Scaffolding can occur at two distinct phases of software development:
Scaffolding presents several advantages and disadvantages:
Complicated software projects often share certain conventions on project structure and requirements. For example, they often have separate folders for source code, binaries and code tests, as well as files containing license agreements, release notes and contact information. To simplify the creation of projects following those conventions, "scaffolding" tools can automatically generate them at the beginning of each project. Such tools include Yeoman, Cargo and Ritchie CLI. For .NET projects, dotnet
, the command-line tool included with the .NET SDK, can be used to scaffold new projects.