3 down vote
I used Code-on-Time before stopping to use it.
The problem itself are many-fold:
You will have to weigh this product (and other non-ORM code-generating products, like IronSpeed, Code-On-Time, CodeCharge which uses proprietary data access layers.) vs using ORM-layer with Advanced Code-Generators.
The first problem you will run into is defining the business logic part. You will need their Premium or Unlimited version. So you start to upgrade from Standard to Premium quite quickly. Personally, I bumped into many limitations in their Premium version and needed to upgrade to the Unlimited version, such as complex business logic, dynamic access control (needed so you can redefine access control), simple auditing and logging.
The CodeOnTime unlimited version is US$2499 for 12 months. Sadly, I could not justify this price because of recession in the USA and cost-cutting. So if you own CodeOnTime for 4 years, you can imagine the big bill you end up paying for.
The second problem you will run into is the data-model part and what actually constitutes ORM + MVC approach vs. Code-Gnerator layer approach.
For example, the way how their modelling works, is that it pulls all the MSSQL tables and generates edit fields, tables and grids from there. That works great, until you need to add business logic, limiting input, validating input. You'll have to make lots of custom code for this, in case the default settings does not apply for you. You can see that in the Code-on-Time advanced tutorials.
The third problem is slowness. Their demos are fast because they load limited data, clear the data after some time. In live production, the customer has to put up with CSS issues (which was later fixed in later versions), slow loading of massive-data (try it on production environment), editing collisions, which may corrupt data.
The forth problem is black-box approach. You want to test your final results. How do you test all the attributes and go through all the parameters and settings without losing your prior work due to code-generation errors? I've lost work due to code-generation inconsistencies. That bit me really hard.
The alternative to Code-On-Time is to look at Visual Studio objectively and weigh whether using simple code-generators (CodeOnTime, IronSpeed, CodeCharge) outweighs using C# + ORM + MVC or WinForms layer).
Examples are:
LBLGenPro (ORM) + CSLA.NET (Code Generation) + ASP.NET MVC
DataGen.net (ORM) + CSLA.NET (Code Generation) + WinForms
Entity Framework + CSLA.NET + WinForms or MVC
LBLGenPRo (ORM) + Entity Framework + (with your own Rules and Workflow engine) + ASP.NET
Entity Framework + (Workflow engine) + ASP.NET
SubSonic + Castle ORM + ASP.NET MVC
Linq + ASP.NET Dynamic Data
Entity Framework + ASP.NET Dynamic Data
On other languages:
PHP + Cakewalk (you can almost generate a whole website with 50 tables in 1 day)
PHP + YII
Java + Struts
Java + JBoss + JSF + ExtJS
The above achieve the same results in a more cost-effective manner and something you can build your business upon.
This question has been here for almost 3+ months unanswered. You can imagine the really small community vs. the huge community for C#, ORMs and ASP.NET MVC.
Hope this helps.
I used Code-on-Time before stopping to use it.
The problem itself are many-fold:
You will have to weigh this product (and other non-ORM code-generating products, like IronSpeed, Code-On-Time, CodeCharge which uses proprietary data access layers.) vs using ORM-layer with Advanced Code-Generators.
The first problem you will run into is defining the business logic part. You will need their Premium or Unlimited version. So you start to upgrade from Standard to Premium quite quickly. Personally, I bumped into many limitations in their Premium version and needed to upgrade to the Unlimited version, such as complex business logic, dynamic access control (needed so you can redefine access control), simple auditing and logging.
The CodeOnTime unlimited version is US$2499 for 12 months. Sadly, I could not justify this price because of recession in the USA and cost-cutting. So if you own CodeOnTime for 4 years, you can imagine the big bill you end up paying for.
The second problem you will run into is the data-model part and what actually constitutes ORM + MVC approach vs. Code-Gnerator layer approach.
For example, the way how their modelling works, is that it pulls all the MSSQL tables and generates edit fields, tables and grids from there. That works great, until you need to add business logic, limiting input, validating input. You'll have to make lots of custom code for this, in case the default settings does not apply for you. You can see that in the Code-on-Time advanced tutorials.
The third problem is slowness. Their demos are fast because they load limited data, clear the data after some time. In live production, the customer has to put up with CSS issues (which was later fixed in later versions), slow loading of massive-data (try it on production environment), editing collisions, which may corrupt data.
The forth problem is black-box approach. You want to test your final results. How do you test all the attributes and go through all the parameters and settings without losing your prior work due to code-generation errors? I've lost work due to code-generation inconsistencies. That bit me really hard.
The alternative to Code-On-Time is to look at Visual Studio objectively and weigh whether using simple code-generators (CodeOnTime, IronSpeed, CodeCharge) outweighs using C# + ORM + MVC or WinForms layer).
Examples are:
LBLGenPro (ORM) + CSLA.NET (Code Generation) + ASP.NET MVC
DataGen.net (ORM) + CSLA.NET (Code Generation) + WinForms
Entity Framework + CSLA.NET + WinForms or MVC
LBLGenPRo (ORM) + Entity Framework + (with your own Rules and Workflow engine) + ASP.NET
Entity Framework + (Workflow engine) + ASP.NET
SubSonic + Castle ORM + ASP.NET MVC
Linq + ASP.NET Dynamic Data
Entity Framework + ASP.NET Dynamic Data
On other languages:
PHP + Cakewalk (you can almost generate a whole website with 50 tables in 1 day)
PHP + YII
Java + Struts
Java + JBoss + JSF + ExtJS
The above achieve the same results in a more cost-effective manner and something you can build your business upon.
This question has been here for almost 3+ months unanswered. You can imagine the really small community vs. the huge community for C#, ORMs and ASP.NET MVC.
Hope this helps.
Comments