Legato is a relatively new open source project. See https://www.legato.net/ .
The programming style is imperative.
Openlayers itself says that it is not an out-of-the-box solution, but that it is a library for making those solutions. That is the point at which legato places itself.
The core of legato is the replacement of the normal openlayers-configuring
config.xml file with the configuration. A declarative
style. You just say what you want and legato makes it so. You should not have
to remember the order in which to do things like you have to with openlayers’
own imperative style.
config.xml configures the web mapping client. There is also a
viewContext.xml which configures the content of the map. This uses an
OGC standard (WMC) to do it. You can do everything just with the
viewContext.xml is an extra if you want it.
The advantage of this system is a clear separation of concerns, just like every computer professional wants :-)
Some ground rules they have for legato:
It does not replace openlayers. It is an alternative kind of configuration mechanism. If there are openlayers updates, they try to integrate it quickly.
The internal structure is component-based. This makes it more robust and
also future-safe. (Also: “dependency injection” and “inversion of
control”). It also means you can extend it with extra components. And
openlayers controls, for instance, are available as components. Plugins can
be configured… via the
config.xml of course!
For a demo, see http://demos.legato.net/core/ . Feedback welcome! They (disy) are using legato themselves in their commercial projects. Improvements made inside those projects are fed back into legato proper. Community contributions are welcome!
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):