User:ISuite: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 51: Line 51:


You could also have custom scripts, which could generate the CRUD screens from some database specifications. Often each new project involved writing up some templates to get the basic functionality or write a template generator script, which created these templates for your project. But these generators and scripts were non-standardized and often viewed as taking away time from the core development of an application.
You could also have custom scripts, which could generate the CRUD screens from some database specifications. Often each new project involved writing up some templates to get the basic functionality or write a template generator script, which created these templates for your project. But these generators and scripts were non-standardized and often viewed as taking away time from the core development of an application.
Scaffolding in education is basically the support a teacher gives to a new student to get him started on his subject. Scaffolding is also the temporary structure often used by workers in construction.
So what we know of the word scaffolding in real world – a temporary structure to lean on while you build the main structure. The temporary structure can then be discarded.

Revision as of 21:51, 22 September 2010

Scaffolding in Web Application Frameworks

Overview

Scaffolding in General

Scaffolding in education is basically the support a teacher gives to a new student to get him started on his subject. Scaffolding is also the temporary structure often used by workers in construction. So what we know of the word scaffolding in real world – a temporary structure to lean on while you build the main structure. The temporary structure can then be discarded.

Scaffolding in Programming

It is with the same basic idea that scaffolding in web programming frameworks refer to. It refers to a temporary structure, which is useful as a starting point for the novice. Scaffolding is nothing but a basic temporary structure that helps a new programmer to get started quickly. It is meta-programming method to quickly generate a functioning web application with the CRUD functionality. Any web application that interacts with database has 4 basic functions generally called CRUD, which it always needs and these are:

  • Create a record,
  • Read,
  • Update or
  • Delete a record.

A scaffold will generate a functioning web application that allows you to carry out these functions. Usually you get a running web application with not more than a few lines of code. It generates for you what is often termed as boilerplate code. In a MVC framework, scaffolding will usually create basic model, views and controllers and also the database objects needed.

Features of Scaffolding

In software applications, we need to use a number of frameworks to make application run. The frameworks may include:

  • Database access
  • Screen design, and
  • Business rules

And scaffolding is the mechanism by which we can create the skeletal of the web application at first go. So, now after having some basic concept of scaffolding, we can list out the main features of scaffolding below,

  • It is a framework that provides the minimal setup of the components like database, application servers, and web servers.
  • When you want to use the structure early on in the development cycle when you are experimenting with the database schema and layout, it helps to quickly generate basic functional application for you directly from the database schema.
  • Scaffolding helps when the schema undergoes refinement and you don't need to waste your time to change the views and controllers explicitly to align with the change.
  • It isn't what you would like to use directly in your production systems, you can eventually make changes as you move on with your added and updated project requirements.

History of Scaffolding

Origin and evolution

Scaffolding Theory

Scaffolding theory in education came into being in 1950, by, Jerome Bruner, where he described the various scaffolding techniques for oral language and written vocabulary. In Oral scaffolding, parents and adults help the children to make them know how to speak and communicate, how they should use the words and develop the base or a temporary framework for their children to walk in the new world. And once the child secures the control over the things, base can be taken away. Similarly, in written scaffolding, typical supporting instructions were given by the instructor to the students to learn vocabulary, to calibrate the task, to identify the task and work independently on the task, in this way they built the scaffold for them on which they can lean on while learning. So children use oral scaffolding as a vehicle to communicate and written scaffolding as tool for new thinking. And the teacher’s instructions also get changed from time to time, starting from the directions, to suggestions, to encouragement, and then observation.

Scaffolding Origin in Web Applications

Scaffolding has been around in various forms for some time. Earlier, separate code generators were written, which would generate CRUD functionality for certain frameworks. They were often the third party generators who offered varying capabilities and mainly acted as database code generators.

You could also have custom scripts, which could generate the CRUD screens from some database specifications. Often each new project involved writing up some templates to get the basic functionality or write a template generator script, which created these templates for your project. But these generators and scripts were non-standardized and often viewed as taking away time from the core development of an application.

Scaffolding in education is basically the support a teacher gives to a new student to get him started on his subject. Scaffolding is also the temporary structure often used by workers in construction.

So what we know of the word scaffolding in real world – a temporary structure to lean on while you build the main structure. The temporary structure can then be discarded.