Wednesday 9 May 2018

Re: Ubiquity NG - was Re: ubiquity migrated to git

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEjgpAlf31r9zoj/E+dLrxPRLmqEEFAlry3NsACgkQdLrxPRLm
qEHlaRAAoIKQOh8JkkwYxDKmwj2jDYGZ3NTBO7UqdVYrLnckDd8l4TYus71jLN/t
1fsGNbuvVCGEU/KIVYAAOPB1YJamfj78xUPz8DDimaD8w515XlwzRBEO3pLiPxaF
Qvv0zHhO9ApA7vmR+dPU7pKbWJjNB5l06iub8z96nLwSsu6YbSzH3BAsQcxY1n3p
c5G3uh+tBswdjrsAIuSTrG8kG9cqt57ZFrbmhJcmI99knt3vvprN5yTYH7p45t4n
DO81F9F9iuO+o+WMBqO8lPBz7bu1oeNPjy65gO6h67Di3Q2ZNmYT+O1j4NQc9G0h
dIHDpF7adTNnL+Yz4yQRFDtefJhYzmQobUMUm4IXTQWRfy2GRRaVDrsQTKqdQNqa
IYOhFSXE8o9gLAlXWRgtMr+7ebJo/snSCLXZBe7GlCv/CNEjL8clbe7TxDU2Q658
RjHzhGu8GleTf2IpW19Sqh37/FPZDQeDykXSxMQHU9acQonTCp7g1qJBjtiZqvzi
xTBAFroG6aPcIOlaZFiM/g417ZQssfYv0mid5lHNFyyRXlhGFe3Hd3TNhpVMSiNN
CVI/bGF0n5YYZPfmHyr/fldUvJl4tgNg4C7jfi1ez9X5UqeGYcyZw9KHNCxqa7OB
WRO6O3g71g1wqDTUCFNsdCBmZ53XCx9fdl4vOLcSCr4n4AxJ8Xo=
=5mfM
-----END PGP SIGNATURE-----
Hey Mark / Simon,
<snip />  
Third, we have Electron, which is the HTML5 app framework used by world  class app developers. Skype, Spotify and a ton of GREAT apps on Ubuntu  are Electron apps.  
I respectfully disagree that this is the correct approach for a system  installer. With all due respect to these very popular applications,  Electron uses quite a bit of system resources and could be interesting  to get working correctly. If you are absolutely certain that this is the  way to go, I won't argue this point too much, but I believe that you  would have triple the speed (and/or it would use a third of the memory)  by writing a native application rather than an Electron one, and with  proper testing and organization (perhaps by using a compiled language  rather than an interpreted one, etc.), it would be a very welcome speed  jump over the current Ubiquity codebase.  
As a potential alternative to Electron for cross platform webapps built on web technologies, it might be worth looking into webview (https://github.com/zserge/webview) as an alternative. From some of the things I've been seeing around the web it gives reasonable compatibility with Electron without adding the entire Chromium engine to each application; rather, it uses built in web rendering engines wherever possible.

Chris MacNaughton
chris.macnaughton@canonical.com