Why The Kinetic Framework?
Before the Kinetic Framework, just about every custom development project we got at RCM Technologies started with the tech lead developing some sort of framework that other team members can leverage when building the user interface. Getting that framework in place usually takes a while, and not much else can be done until at least a good chunk of it is in place. Not only that, but the framework is usually fairly routine once you make a few key decisions. It's the same type of code over and over again, which makes writing it by hand error-prone. Also, making the decisions about how to handle certain aspects takes time and usually has consequences that aren't always obvious when the decision is made.
The end result is that projects usually take a week or two to get off the ground before other developers can really jump in and get going. It's this time that the Kinetic Framework is intended to help with. It also helps you by making a few of those key decisions. Why is that a good thing? Because the decisions are based on past project experience and frameworks that Kinetic IG at RCM Technologies has used in the past. It's a best of breed among a few different frameworks, extracted out to be quick and easy to start using.
It's definitely not the only solution out there. If you've looked at .NetTiers (another CodeSmith template-based code generator framework) or some of the software factories being generated by Microsoft, you'll notice they all do pretty much the same type of thing.! While I think the Kinetic Framework is one of the best options, the point is, use something. In most cases, it's better than starting from scratch. I personally think both of the other solutions I listed are great and give you a lot of foundation - almost too much for smaller projects. And I think that the smaller niche is where the Kinetic Framework can fit in nicely.
If you do decide to use it, don't feel that it has to be used "as is". It's meant to be a set of templates that you can use to get a jumpstart on your project. If you don't like how something is implemented, you've got the full source so you can change it! Want a new feature in it for something you're doing? Add it! Want to remove something? Go for it.
If you do modify the templates or find an issue, we'd like to know about not only the change, but also why you made the change. If it's a bug, we want to fix it. But more importantly, if it's a new feature, we want to see how we can incorporate that into future releases of the Kinetic Framework, so everyone can benefit from your experiences!
The Kinetic Framework is being actively used at RCM Technologies, so we fully expect it to progress. We have a list of features we want to add, but we are definitely open to ideas from the community.