Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use CodeOnTime asp.net

Tags:

asp.net

I am planning use code generator CodeOnTime in my asp.net application. Before starting this i just want to confirm that is this reliable for big project? Is code customization is possible in CodeOnTime?

If some one has used CodeOnTime then please suggest me whether i should use this or not.

like image 459
munish gautam Avatar asked Oct 18 '11 11:10

munish gautam


1 Answers

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.

like image 159
buttercup Avatar answered Sep 20 '22 05:09

buttercup