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 templatesRelated guides
What is the Clarion programming language?
A practical introduction to Clarion: what it is, what it is used for, why business applications built with it are still running after 30 years, and where it fits today.
Upgrading Clarion: moving an application from Clarion 6 to Clarion 12
A staged approach to upgrading older Clarion applications — what actually breaks, how to sequence the work, and how to keep shipping while you do it.
Modernising a legacy Clarion application without rewriting it
Why rewriting a working Clarion system is usually the wrong first move, and the modernisation steps that deliver value earliest — UI refresh, APIs, cloud accounting and mobile access.