What is scaffolding? Is it a term for a particular platform?

FrameworksCode GenerationCrudScaffolding

Frameworks Problem Overview


Scaffolding, what is it? Is it a Rails-only thing?

Frameworks Solutions


Solution 1 - Frameworks

Scaffolding generally refers to a quickly set up skeleton for an app. It's not rails-only since other platforms have it as well. It's also not generally meant to be a "final" system; merely the first, smallest way to do it.

Solution 2 - Frameworks

From Wikipedia:

> 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.

Solution 3 - Frameworks

Just like a real scaffolding in a building construction site, scaffolding gives you some kind of a (fast, simplified, temporary) structure for your project, on which you can rely to build the real project.

It can be (and is today) used to describe many things - from abstracting DB layers, to web apps folder structures, and to generating and managing project dependencies .

It is not something that is specific to any language / technology, just like the term skeleton or boilerplate is platform agnostic.

It is just a term borrowed from real scaffolding (like mentioned above). You build some fast, simplified, (sometimes external, sometimes temporary) structure that will help you to build the real, more complex, finalized structure under, above, inside or outside of that temporary structure .

.. And just like the real scaffolding, the scaffolding structure is meant to support the building process of the project, rather than the project itself (with some exceptions).

Solution 4 - Frameworks

Scafolding is usually some type of code generation where you point it at a database, and the technology creates basic CRUD (create, read, update, delete) screens.

Solution 5 - Frameworks

I believe that Wikipedia and some answers here provides a narrow and restricted view. Scaffolding is not just for CRUD operations on top of a database. Scaffolding has a broader objective to give you a skeleton app for any kind of technology.

Yeoman is a modern and useful tool for scaffolding. Using their own words:

> #The web's scaffolding tool for modern webapps

> What's Yeoman? > > Yeoman helps you to kickstart new projects, prescribing best practices > and tools to help you stay productive. > > To do so, we provide a generator ecosystem. A generator is basically a > plugin that can be run with the yo command to scaffold complete > projects or useful parts. > > Through our official Generators, we promote the "Yeoman workflow". > This workflow is a robust and opinionated client-side stack, > comprising tools and frameworks that can help developers quickly build > beautiful web applications. We take care of providing everything > needed to get started without any of the normal headaches associated > with a manual setup. > > With a modular architecture that can scale out of the box, we leverage > the success and lessons learned from several open-source communities > to ensure the stack developers use is as intelligent as possible. > > As firm believers in good documentation and well thought out build > processes, Yeoman includes support for linting, testing, minification > and much more, so developers can focus on solutions rather than > worrying about the little things.

That's it. Use scaffolding to create a quick-start application to work as an example or the foundation of your solution. It makes you productive faster them building things from scratch.

Solution 6 - Frameworks

It is not a rails only term although I think it originated there (at least that is where I first heard it.)

Scaffolding is a framework that allows you to do basic CRUD operations against your database with little or no code. Generally, you then go through and add the code to manage the data the way you want replacing the scaffolding. It is generally only intended to get you up and running quickly.

Solution 7 - Frameworks

> No it is used in other technologies also such as ASP.NET MVC

it creates a basic layout from some predefined code which programmers uses in almost every project , Eg: for database data access it can make a crud method for create, read, update, delete operations OR you might use it to create layout for your View/Html Code

Solution 8 - Frameworks

Scaffolding is writing any piece of code that would not be part of the business logic but would help in unit testing and integration testing.

This is a software engineering term and not bound to any framework or programming language.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAnonymousAnonymousView Question on Stackoverflow
Solution 1 - FrameworksswilliamsView Answer on Stackoverflow
Solution 2 - FrameworkswprlView Answer on Stackoverflow
Solution 3 - FrameworksObmerk KronenView Answer on Stackoverflow
Solution 4 - FrameworksElyView Answer on Stackoverflow
Solution 5 - FrameworksZanonView Answer on Stackoverflow
Solution 6 - FrameworksRob ProuseView Answer on Stackoverflow
Solution 7 - FrameworksAmit ÇhâühañView Answer on Stackoverflow
Solution 8 - FrameworksSavannah MadisonView Answer on Stackoverflow