Wappler Updates

Have I missed something… there has been no new updates for a couple of weeks now?

We hope to resume updates on 4th of May again.

Next to taking some time off for me, our core team member Patrick had enough time to experiment and develop some ground braking performance improvements in the App Connect core.

The improvements are specially with the automatic data changes detection. It is now based on new techniques for reactive programming and signals, that recently got more attention in the angular area.

So a lot of good stuff is coming up :slight_smile:

19 Likes

Are you guys actually trying to beat angular at it? :joy: Angular 16 w/ signals is scheduled to be released in May.

Although It was solidJS where they were introduced right?

May the 4th be with you!

7 Likes

Actually the angular signals weren’t good enough :slight_smile: and too simple.

They did explain the theory and possible solutions nicely:

We did eventually set our work and inspiration based on Reactor.js:

and are busy implementing it now in App Connect and its specific data scopes.

4 Likes

The saying goes:
When the cat is away, the mice will play

This maybe a hint to come down under for a while :joy:

3 Likes

Yes, I think SolidJS was the first Framework that used signals. Preact also has signals (Signals | Preact) and there are a lot of libraries that are based on signals.

We experimented before with signals and observers but weren’t able to find a good way to implement it in the current App Connect without breaking backward compatibility. We first planned to wait with it for App Connect 2, but now we found a way with which we can implement the improvement in the current version. App Connect 2 would have been a total rewrite which will have a total different syntax and is not backwards compatible. So we are happy we found a way that will improve the current version of App Connect and can be applied to existing projects without having you to redo all work.

4 Likes

OMFG Such a great news on Friday evening!
Can’t wait for May The Force!

P.S.
Is it cloning still illegal? I would definitely vote with my buck for cloning an entire Wappler DEV Team! :slight_smile:

What are Signals and is it for PHP as well or just node?

It is for App Connect, our client side library. So about how fast the data gets updated in the web browser html page. So all client side only - super fast rendering of data!

7 Likes

That sounds great!

That’s really cool. Not having to redo the whole thing is a time saver and will bring peace of mind to end-users somehow.

I assume this breakthrough you had was also why the decision to implement App Connect extensions officially was taken.

Are you going to use signals for everything or a hybrid approach using signals for event-driven scenarios and observables for data-driven ones?

1 Like

Currently we will be using signals to automatically refresh data bindings expressions when only used data has changed. With the new observers, expressions are only refreshed when their involved data changes.

Before that we had to run huge cycles of data comparisons to see which data actually has changed and then refresh expressions.

Now with signals this will be done automatically so it should bring a huge performance improvement, specially on complex pages with a lot of components and data bindings. Like the one @sid loves :slight_smile:

3 Likes

Sounds like a plan! A good one!
Indeed, sid is going to love that update!

Is Signals the App Connect equivalent of Sockets in Node? Or is it just faster initial load?

No, it’s not about websockets, although websockets can benefit from signals in several ways.

In the context of reactive programming, signals can be used to handle incoming and outgoing messages through websockets. When a new message is received from the server, a signal can be emitted to notify other parts of the application about the new data.

Similarly, when the application needs to send a message to the server, it can emit a signal to trigger the websocket’s send method.

But it has nothing to do with nodejs, php, or asp.

1 Like

Thanks Jon. Just wondering how it will help me.

If you use a lot of data bindings in your pages, a lot of repeats with data bindings, and bindings that reference other bindings that need to be calculated it will improve your app.

It will perform better on older computers and phones and will look snappier.

I use data bindings in everything. Ninety percent of my job is internal company dashboards.

1 Like