#1 2023-04-18 09:45:48

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

A simple demo of mORMot + Sempare Template Engine


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

#2 2023-04-18 16:57:11

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,655
Website

Re: A simple demo of mORMot + Sempare Template Engine

I did not know about this Sempare template engine.
The syntax seems a bit verbose and unreadable to me, in comparison to Mustache  - once you got the Mustache way of thinking, it is very powerful.
But it is nice seeing such new code around.

Note that with the latest mormot.core.mustache versions, we can also access directly dynamic arrays or records as data source: we are not restricted to TDocVariant/JSON input data.
See e.g. https://github.com/synopse/mORMot2/blob … w.pas#L413

Offline

#3 2023-04-19 01:21:14

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

Re: A simple demo of mORMot + Sempare Template Engine

Mustache is great, especially your Pascal implementation - it's fast.
I think the difference is that Mustache is logic-less, while Sempare template has features like for loop, sometimes it's a must-have, for example in case the logic must be written out side of Pascal/Delphi code.


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

#4 2023-04-19 05:05:52

igors233
Member
Registered: 2012-09-10
Posts: 241

Re: A simple demo of mORMot + Sempare Template Engine

Yes, mustache is powerfull but sometimes it's simplicity is weak link. In some cases it requires creating new variables or additional processing on code side to achive something. I do think an additional MustacheEx or MustachemORM descendant could help in many areas and make it much more powerful.

Offline

#5 Today 18:18:36

darnocian
Member
From: Amersham, UK
Registered: Today
Posts: 1
Website

Re: A simple demo of mORMot + Sempare Template Engine

I thought I'd share that I've been working on an IDE plugin for the Sempare Template Engine.

The plugin exposes a dockable form allowing you to preview templates:
Sempare Template Playground

Above you can also see you can test mock json data against a template, so you don't have to launch an app to test. Json object's field names just need to map onto fields in records/classes.

Illustrating some of the things with different colors: script tags, keywords, numbers, strings, boolean
Zooming on the template

You can customise some of the settings...
Cusomisation Options

I'm hoping to release this later in the year.

I appreciate some of the comments re the templates looking verbose, but then we could say, why do we write pascal? wink

The point of the sempare template language being pascal like was to make it something that Delphi developers would recognise easily, and would not require a manual to interpret.

Besides the lack of features, the simplicity of mustache can be limiting. I'm not critisising the DMustache implementation, just saying some people like the simplicity, or it works for the solution. The sempare template engine has a parser, compiled AST, and template registry - so the toolchest is there if you want to use it, and there are plenty of articles now and a rich set of documentation.

A reminder about the location: https://github.com/sempare/sempare-delp … ate-engine

Online

Board footer

Powered by FluxBB