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.

Last edited Jul 17, 2008 at 1:39 AM by RossCode, version 4


mminto Dec 2, 2010 at 9:04 PM 
Hi RossCode, I have used CodeSmith within 2 organisations and hope to start using it from within the new business I have just started working for. They produce ERP solutions for the mining sector. They are at the beginning of major re-write of their entire suite of ERP modules and databases. They are migrating from Open Edge Progress 10.2B to a .Net / C Sharp / Sql Server 2008 R2 solution. I would like to introduce them to some tools to ease the transition and improve the quality and consistency of the produced code. CodeSmith offers some great frameworks and I was wondering what suggestions you would have regarding an appropriate framework to start with. I would like to think that we could avoid a framework that is too heavy, and one that would allow connection pooling and promote a service orientated architecture approach. A lot of the developers here are about to embark on a major change in the solution architecture paradigm, and I hope to minimize the pain as much as possible. Also, the whole development team here are about to receive training in the use of the SCRUM development methodology. I am also a firm believer in the use of tools like ReSharper 5.1. Another question: can your framework use Sql Server 2008 ?