CSC/ECE 517 Fall 2009/wiki1b 9 ad: Difference between revisions
No edit summary |
|||
Line 13: | Line 13: | ||
== Pros and cons of Dynamic Scaffolding == | == Pros and cons of Dynamic Scaffolding == | ||
<u>'''Pros:'''</u> | <h4><u>'''Pros:'''</u></h4> | ||
<ol> | <ol> | ||
<li>The biggest advatage of Dynamic scaffolding is that it allows the programmer to extend and modify the database schema without worrying about reflecting those changes in the interface. The user interface automatically updates to keep up with the changes.</li> | <li>The biggest advatage of Dynamic scaffolding is that it allows the programmer to extend and modify the database schema without worrying about reflecting those changes in the interface. The user interface automatically updates to keep up with the changes.</li> | ||
Line 19: | Line 19: | ||
</ol> | </ol> | ||
<u>'''Cons:'''</u> | <h4><u>'''Cons:'''</u></h4> | ||
<ol> | <ol> | ||
<li>The biggest disadvantage of Dynamic scaffolding is that the programmer cannot see whats going on. Since all the interfaces are generated on the fly, the code is hidden; this could be especially disadvantageous to someone who is trying to learn Rails.</li> | <li>The biggest disadvantage of Dynamic scaffolding is that the programmer cannot see whats going on. Since all the interfaces are generated on the fly, the code is hidden; this could be especially disadvantageous to someone who is trying to learn Rails.</li> |
Revision as of 00:37, 20 September 2009
Scaffold
Scaffolding is a meta-programming method of building database-backed software applications. It is a technique that allows a programmer to qickly generate a skeleton interface that allows the user to perform basic CRUD ( Create Read Update Delete) operations on the application's database. The auto-generated interface can then me modified to perform more powerful tasks.
Why was dynamic scaffolding removed in Rails 2?
Dynamic Scaffolding of Rails 1.x was replaced by a generator of scaffolds in Rails 2.
David Heinemeier Hansson responding to a new rails developer on a Ruby forum said "Dynamic Scaffolding didn't really help people learn about Rails or give them a way to modify the generated interface, so we killed it.".
In dynamic scaffolding when the line scaffold :model_name is added to the controller ruby automatically generates the appropriate interfaces at run time. Since, scaffolding is implemented on the fly the programmer cannot easily modify and customize the interfaces.Therefore, dynamic scaffolding was removed in Rails 2 though it is still available as a plugin.
Pros and cons of Dynamic Scaffolding
Pros:
- The biggest advatage of Dynamic scaffolding is that it allows the programmer to extend and modify the database schema without worrying about reflecting those changes in the interface. The user interface automatically updates to keep up with the changes.
- The code to generate scaffolds dynamically is simple in most frameworks and a lot is accomplished in a single line of code.
Cons:
- The biggest disadvantage of Dynamic scaffolding is that the programmer cannot see whats going on. Since all the interfaces are generated on the fly, the code is hidden; this could be especially disadvantageous to someone who is trying to learn Rails.
- The dynamic nature of generating scaffolds makes the behaviour of the application a little unpredictable.
- It is difficult to modify or customize the scaffold code since it is generated at run time.
Scaffolding in frameworks for other languages
Many other languages such as Java, .NET, PHP, Python have frameworks that have adapted scaffolding. Some of the frameworks that have adapted scaffolding are: