Lost more than a week, learned a lot of new stuff and switched to Chromium...

Started by Mario, April 02, 2017, 07:25:16 PM

Previous topic - Next topic

Mario

As I explained in https://www.photools.com/community/index.php?topic=6470.0 I encountered a serious setback in the development for IMatch 2017.

In order to use the new OpenLayers library (and some other new JavaScript libraries) I had to force the embedded Internet Explorer in IMatch (used for the App and Map panels) to a specific "current" mode.
Unfortunately this, for whatever reasons, severely interfered with the user interface toolkit I use for IMatch.
After 8 days, I have not even received an acknowledge of my two bug reports from them. Pointless to wait...

So I bit the bullet and re-scheduled by development roadmap  :-\ :-X ::) :o ;)

For late summer I had planned to investigate how to switch IMatch from using the Windows Webbrowser control (based on IE, not Edge still) to using the free Chromium browser.
Chromium is the open source browser engine on which the Google Chrome browser is build. The JavaScript engine in Chromium is the fastest and most modern engine available. Which is why Node.js, Epsilon etc. use it. If you use Microsoft Studio Code, Spotify, Amazon Music etc. you are using Chromium already - it's the engine behind all that.

To make this short: After a bit more than a week of very little sleep and a lot of learning new stuff, I have successfully switched IMatch 2017 to use the Chromium browser. For the App panels. The Map Panel. The App Manager. Everything.

Major benefits include:

+ Top-notch browser. Supports all the latest standards. Same as Google Chrome.
+ Super-fast JavaScript engine. A massive performance boost (several hundred percent in some apps, compared to the WebBrowser control).
+ Support for the latest standards.

and one of the best things is: remote debugging.

This means that you can debug an app that is running in IMatch from an external Google Chrome browser. You just open chrome and connect to the chrome browser running your app in IMatch. All the variables, the source code, network etc. is accessible and usable. Massive comfort improvement for developers.

For users, all these changes mean nothing. They won't be able to tell a difference. But they get super-fast and comfortable apps.

After developing all the sample apps and IMatch stock apps I have a really good 'feel' for what can be achieved. IMatch 2017 will surely evolve very quickly over the coming months because the app infrastructure allows me (and others) to develop new features in form of apps very fast. IMatch is the platform for this of course. But certain features can be implemented much quicker as an app than I can implement them in native code - which is good for me and for IMatch users.

And, most apps written for IMatch can also run in a web browser, accessing the database remotely via IMWS instead of IMatch. The only exception are apps which are closely linked to IMatch, e.g. apps which work with the file window.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

ben

One week only, to switch to chromium?!
I am impressed. I've heard othere stories before.
Congrats...

Mario

Quote from: ben on April 02, 2017, 08:38:33 PM
One week only, to switch to chromium?!
I am impressed. I've heard othere stories before.
Congrats...
Thanks. It was a trifle complicated, but at least I did not have to deal extensively with implementing Chrome extensions or native implementations for JavaScript classes. The embedded IMWS takes most of the load.
The multi-process architecture of Chromium is very safe and stable, but adds another layer of complexity. Ugs. Still, performance and HTML compliance are superb. IMatch can send thousands of messages to apps per second and they don't even break sweat  ;D
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

jch2103

John

Menace

Thank you for keep us informed and it is interesting to see, how it is developed. I'm really keen to see the result.

(Btw I uses chromium for years: Opera- und Vivaldi-Browsers  ;) ).