(One of my summaries of a talk at the 2017 fossgis conference).
The company where he works (geoinfo) builds https://geoportal.ch, a website for the mandatory information exchange between regional governments and the citizens in Switzerland. So: it is used a lot.
The company is split into two. One develops the software, one maintains the servers and the data center. They have their own hardware so that they can optimize much more.
Old geo portals used to be mostly html. Little changes could mean a complete page reload. Nowadays you have single page apps made with lots of javascript. A modern interface is responsive and reactive.
Responsive: adjust yourself to the available screen size. Also support mobile phones.
Reactive: you don’t want a “save” or “update” button. Actions should be reflected in the backend right away. A change in one part should have effect on the map right away. They use angularjs for this.
On the server side, they use nodejs. Modern server-side javascript can be very very fast.
All the backend system interaction goes through nodejs. Even the map times, as nodejs has to handle authentication and permissions.
They need good map caching. Most maps consist of multiple layers. But the layers can be categorized into a specific “area” or a specific “situation”. The area or the situation is cached separately and later combined. This means that a situation can be reused with a different area and vice versa.
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):