yjbanov / butterfly

A web framework for Dart based on Flutter's widget model
Apache License 2.0
157 stars 13 forks source link

Complimentary libs #2

Open ghost opened 7 years ago

ghost commented 7 years ago

Greencat is a flux, event store. Seems like a good match to me.

I am thinking of building an example to use both together.

But I am wondering if there are some other complimentary libraries to build examples with.

I also want to ask if the encapsulation philosophy extends all the way up to building PWA style web apps with this. For example with PWA, I often load the common shared pojo (podo in dart I guess ) as a common library, so that asynchronously loaded components can latter use that and cross communicate.

Sorry about too many questions in one issue...

alexeieleusis commented 7 years ago

Can you elaborate a bit more on what you are referring to when you say complimentary libraries? Is it like an extra library specific for greencat-butterfly integration? If so, I am not aware of any plan in that regard right now.

As for PWAs I don't know how it can affect or improve, but I would guess that you could design your store so only the objects you need when you load are created, or even start with the store specific to the initial load and then combine it with the ones you need on the way, I have no experience with either approach and I guess it will be a tradeoff.

What are you planning for your example? I am interested in having a more comprehensive example in greencat.

ghost commented 7 years ago

well, they are complimentary because they are agnostic to being used in Flutter or Dart & they elaborate / extend the architecture. greencat is agnostic and extends the architecture to support something called event store.

In my example, i am using a CQRS pattern as a play thing to build up an architecture. The client is Dart (flutter and web) The server is:

The idea is to allow the client to work offline and online. When online the messages will be replayed from server to client and client to server. The other idea is to see how much reuse of code is possible between the Dart frontends and Dart backends.

I use golang for message queue and other infrastructure things because Dart does not have that yet.