What is scaffolding? Is it a term for a particular

2019-03-07 23:46发布

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

7条回答
一夜七次
2楼-- · 2019-03-08 00:25

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.

查看更多
Lonely孤独者°
3楼-- · 2019-03-08 00:31

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.

查看更多
你好瞎i
4楼-- · 2019-03-08 00:32

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

查看更多
Anthone
5楼-- · 2019-03-08 00:36

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

查看更多
时光不老,我们不散
6楼-- · 2019-03-08 00:37

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.

查看更多
Summer. ? 凉城
7楼-- · 2019-03-08 00:42

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.

查看更多
登录 后发表回答