[QGIS-Developer] QGIS and WebAssembly

Martin Dobias wonder.sk at gmail.com
Tue Mar 22 05:15:08 PDT 2022


Hi Richard!

On Tue, Mar 22, 2022 at 9:33 AM Richard Duivenvoorde <rdmailings at duif.net>
wrote:

>
> I think this pushes us to the technical limits of browsers. with that
> also performance wise to the limits of QGIS?
>

I am sure some other apps are going to push technical limits of browsers
further than QGIS :-) I don't think that running QGIS in browser is an
overkill, possibly over time this will be more and more common. I have
heard that AutoCAD developers have managed to get it running on
WebAssembly, apparently Adobe Photoshop as well [2], and that seems like
much larger project. In terms of performance, people often say that you can
expect 2x slowdown compared to the native code, which does not seem very
bad. Moreover, I can imagine that this could improve over time, and also in
QGIS we may find more places to optimize to make it running more smoothly.



> Like people are now asking for/using QGIS on chromebooks and (smaller)
> ARM devices: is that still really workable?
>

Hard to say... It's definitely not going to be a great solution in all
setups, at least not in the beginning...


As a technical pet project, it is cool, but can we keep the promise of a
> GIS in a browser?
> Or do we end up with a poor performing (or only working for small sets)
> of QGIS?
>

I think it is achievable to have full GIS in a browser. Yes, initially it
will probably have many limitations, but QGIS 0.1 also wasn't perfect :-)



> Or should we put more money/energy in makin QGIS more modular so you can
> use certain modules for a small viewer and the full Monty for a true
> GIS?
>

QGIS code generally is relatively modular... for this demo I simply took
the QGIS core library as it was, and it was okay. For WebAssembly, it could
be useful to have even finer granularity - for example, if I don't need DXF
export or print layouts or mesh layers, it would be useful to exclude the
code completely from qgis_core and have them as extra additional modules
(that could be loaded on demand), but it's questionable at this point if it
would be worth the extra effort and maintenance.

I think it would make sense to first try to build something small - like
you say a simple viewer, and then see where we want to go next :-)

Cheers
Martin


[1] https://madewithwebassembly.com/showcase/autocad/
[2]
https://www.bram.us/2021/10/27/adobe-photoshop-in-the-browser-thanks-to-emscripten-web-components-and-project-fugu/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20220322/8707042f/attachment.html>


More information about the QGIS-Developer mailing list