Scaffold or Scaffolding is a wooden or metal support structure used either as a temporary structure to be taken down later like in case of event stages or to support the newly built structure.
So how does it relate to building software? Some of the software framework and tools offer similar support code which can help you build your softwares faster. This term was popularised by Ruby On Rails and later adopted by Rails inspired technologies like Grails, Play e.t.c
When you scaffold a code, it generates CRUD (Create, Read, Update and Delete) flows for you including UI and backend layers. Most of the scaffolding tools work on either Forward Engineering like Ruby On Rails, Yeoman and of course ScaffoldThis, or Reverse Enginnering where they reverse engineer the code from Database or some other source.
A lot of scaffolding tools gets marketed and promoted as MDE (Model Driven Engineering) or MDA ( Model Driven Architecture) which is a term owned by OMG (not Oh My God! its Object Management Group), these tools work from either Java classes as model or UML as model. You can design a class diagram and the tool would generate appropriate source code, however most of these tools do not generate complete deployable application, they would give you small pieces of code.
So is Scaffolding worth it?
Scaffolding your code gets you up and running a lot faster than what you can do manually even with a huge team, some times we do not realise the impact of these tools but lets see if you can design a Windows desktop application without Visual Studio GUI editor or build a Java desktop application without Netbeans GUI builder. We take these tools for granted but essentially, Software engineering is hard and we could use all the help at all stages, however little that may be.
however most of the tool comes at a cost, I am not talking about commercial cost but architectural or technical cost. In case of tools like Ruby On Rails and clones, you need to learn the language and framework. Once you have done that, then you would need to change the generated code to suit your needs. The moment you start changing the code, you can not regenerate the code from tool, this is known as Round Trip Engineering problem and almost all tools suffer from it.
Does ScaffoldThis solves the issue?
Yes and No, I have been chasing code generation tools for last 12 years to get the perfect one before I decided to build ScaffoldThis, there are some issues with code generation which is difficult to solve like Roup Trip Engineering and we are working on it, however other are not so much. We are currently focusing on not removing your need to customise the code, but delaying the need till you really need it.
When we analysed the reasons for customisation , the first customisation is to change the UI because you do not like the boring, old , drab UI which is generated. ScaffoldThis gives you option to choose from multiple different UI themes through its Theme Market and not only that, unlike most of the tools you do not need to compile,build, deploy to see the application, you can simply flick and click to see the preview of your app in your chosen theme, dont like it, change it, click, preview, change, repeat till you get your dream theme.
ScaffoldThis also lets you choose your own architecture, unlike others, so you can use your existing technical knowledge to build stuffs, Its hard building software in any language, why would you want to learn another language, you dont learn french to speak japanese, just because I sell the french to japanese translator.
Our dream is to make ScaffoldThis the default way to building softwares in any technology, make it a way of life and not just a tool, and you can help us get there by joining us. So just go ahead and Sign Up for early access release.