What is scaffolding? Is it a term for a particular platform?
Asked Answered
P

11

130

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

Petree answered 24/10, 2008 at 19:46 Comment(0)
J
107

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.

Jake answered 24/10, 2008 at 19:48 Comment(3)
See linuxgeekoid.wordpress.com/2011/06/18/… for an elaboration of this perspective. Other uses of the term are derivative.Attach
Seems more legitimate.Mccreery
Rails claims a lot of words or re-appropriates them to others (especially when it comes to tests) thanks to certain popular books and selling to non traditional backgrounds (nothing wrong with this either). Absolutely great patterns/ideas found in it but unfortunately sometimes muddies things. This is one case where I agree with one of those choices though!Themis
X
50

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.

Xylia answered 24/10, 2008 at 19:47 Comment(2)
This is very interesting. I'd never heard of scaffolding used in that sense of the word. I'd heard it used more like swilliams mentioned (below). Learn something new every day. :-)Avaricious
This is actually what scaffolding is and what I've always known it to be. The accepted answer is a common misnomer I've come across quite frequently.Joo
D
49

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

Dilettante answered 15/1, 2017 at 6:5 Comment(0)
P
38

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.

Pneumonic answered 24/10, 2008 at 19:48 Comment(0)
G
16

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.

Genotype answered 12/10, 2016 at 20:13 Comment(0)
P
14

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.

Poynter answered 24/10, 2008 at 19:49 Comment(0)
N
3

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

Necrotomy answered 12/7, 2016 at 15:6 Comment(0)
P
2

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.

Pucker answered 29/11, 2021 at 18:36 Comment(0)
E
1

No, scaffolding is not the term for the specific platform, however many know this term in the context of Ruby on Rails or .NET

There are also plenty of tools that perform javascript scaffolding:

Those tools are also known as code-generators

Emmott answered 20/9, 2022 at 13:12 Comment(0)
S
1

Scaffolding is the term used when you don't want to create all parts of the structure such as models, views, etc. and want to generate them all in one go. A lot of frameworks use this technique, I studied about it while doing odoo but most of the references given were to ruby on rails :)

Sanitation answered 25/1, 2023 at 7:53 Comment(0)
W
0

Scaffolding is not platform-specific. In layman's terms, a scaffolding tool provides an out-of-the-box structure for a new application. Typically, using a tool like this will get you a working prototype sooner. Scaffolding tools are great for new projects and prevent developers from having to write a lot of boilerplate code upfront.

There are a lot of options for open source scaffold tools. An example is Hatchify. If you have your schema, you can drop it into Hatchify and have a simple app built in minutes.

Wizardly answered 3/4 at 15:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.