← All resources
Clarion language

Clarion ABC vs Legacy: which template chain should you use?

Every Clarion application is built on one of two template chains: ABC (Application Builder Classes) or Legacy, still often called the Clarion chain. The choice affects how generated code is structured, how easily third-party products slot in, and how much hand-written code you carry.

How the two chains differ

The Legacy chain generates largely procedural code: the logic for a browse or form is emitted inline into each procedure. It is straightforward to read and to patch, but the same logic is duplicated across every procedure, so a behavioural change means touching many places.

The ABC chain generates code that instantiates and configures class objects. Shared behaviour lives in the class library rather than in each procedure, so procedures are shorter and consistent behaviour is easier to enforce across an application.

Practical consequences

The chain you are on shapes day-to-day maintenance more than most teams expect.

  • ABC gives smaller generated procedures and one place to override shared behaviour
  • Legacy gives a flatter, more literal read of what a procedure does
  • Deep hand-written embed code is usually the hardest part of any conversion
  • Third-party templates are commonly supplied for both chains — check before you buy

Should you convert a Legacy application to ABC?

Converting is a real project, not a switch. The dictionary carries over, but every procedure is regenerated and embed code has to be reviewed and rehomed. It is worth doing when you plan years of further investment in the application, when you want consistent behaviour enforced centrally, or when a component you need is only practical under ABC.

It is rarely worth doing for an application in maintenance-only mode. In that case, keeping the Legacy chain and adding capability through chain-compatible templates is the cheaper and safer route.

How Noyantis templates handle this

Our wrapper templates ship with both ABC and Legacy compatibility, so the chain your application uses does not limit which components you can add. That matters most for older systems where conversion is off the table but the user interface or integration capability still needs to move forward.

Frequently asked questions

Can one application mix ABC and Legacy?
No. An application uses one template chain. Separate applications in the same solution can differ, but a single APP file commits to one chain.
How do I tell which chain an application uses?
Check the application properties in the IDE — the template chain in use is shown there, and ABC applications reference the ABC class files in generated source.
Do Noyantis templates work with both chains?
Yes. Our wrapper templates support both ABC and Legacy across all recent Clarion versions, from Clarion 6 through Clarion 12.

Want to take this further?

Browse Clarion templates

Related guides