We are glad to announce that we’ve been working on some huge performance improvements for App Connect.
The way App Connect always worked was that each expression on the page was parsed again and again when some data or component property was updated, then the components checked which values were changed and if they need to update.
With the new update the expressions are evaluated first and we store what kind of data they depend on. When data or component properties are updated we first check if the expression needs to be parsed again or can be skipped. When no expression of a component needed parsing we can skip many of the update logic of the component and check the next component.
Not only the component update logic is skipped, expressions are parsed a lot less. Formatters are called less because of this, so having a console.log in your custom formatter doesn’t cause millions of logs in your console. Less parsing means faster page updates.
Please download the update to see if it improves speed for you and give us feedback on any problems you encounter with the update.
This App Connect update will offer a huge performance boost on your existing sites, specially if you have complex pages with a lot of expressions and formatters.
We don’t anticipate any breaking changes - just pure performance boost
You should always have some version control or regular backup of your files. But if the update causes problems then you just delete the file again, save a page with app connect in Wappler which then will copy the previous version back.
I just tested it in one of the SPA NodeJS project I’m currently working on and my first impression is that the pages are definitely loading much quicker
Some of the bugs I can report based on this testing.
Page routing is not working when clicked on a link. The route url appears correctly but the browser doesn’t automatically navigate.
The table data is not displayed on the first load. If I go to another tab and come back to this, the data displays correctly.
Radio Group values are not passed on to the API
Photo urls (AWS S3) are working correctly in some places, but in other places, photo from the same url is not being displayed.
The new AC will provide a huge performance boost. Looking forward to the release of final version. Thanks @patrick@George
Would it affect dmx-html and dmx-text attributes in any way? I’m getting different behaviour when I’m using a custom formatter that depends on loading a library.
The attribute behavior is not changed, but it depends on the expression since it will not call the update if it thinks there is nothing changed. What does your custom formatter do?
The formatters should not have side-effects to work correctly with the new changes. This means that it should always return the same output when the input didn’t change.