remi icon indicating copy to clipboard operation
remi copied to clipboard

Shameless fork/reimplementation

Open pfalcon opened this issue 9 years ago • 5 comments

I find remi pretty cool, and definitely more modern/scalable approach than e.g. http://www.gtk-server.org/ . At 100K and no dependencies beyond standard library it's also very attentively and cool written. Unfortunately, not cool enough for https://github.com/micropython/micropython , where 100K of code is unbelievably huge and unlikely fit embedded platforms supported. Even if targeting only unix port, few features currently used by remi are currently missing in micropython/micropython-lib. So, while having contemplated adding missing features on uPy side, things like threading make it too big, complex, and not portable. So, instead I started with an empty file, trying to reimplement features one by one, starting with "look" part (no events/updates so far). The most boring part (for a programmer) with web UI is styling, and so I'm going inherit one from remi. That's why I consider it a fork, even though code is intended to be written from scratch.

So, this is request for feedback (even if it's "Don't do this!" or "You're bastard!"), but mostly self-confession: any time I see similar projects, I want to know why there're some, instead of them working together. The above is my "why".

pfalcon avatar Aug 05 '16 11:08 pfalcon

Uhm, maybe it's me that I'm having problems finding the link, but where is your fork?

awesomebytes avatar Aug 05 '16 11:08 awesomebytes

In a ~/tmp. Again, this an early request for feedback/declaration of intent, maybe I'll receive so compelling arguments that I'll bury it in awe ;-).

pfalcon avatar Aug 05 '16 11:08 pfalcon

Oh, in that case, which parts of remi are unsupported by the stdlib?

Some widgets can definately be removed if needed (i.e. IMO the svg widgets should be a submodule), and also you should not include the editor in your LOC estimate.

nzjrs avatar Aug 05 '16 11:08 nzjrs

Ok, I developed my hack further so it shows complete Python -> HTML -> WebSocket -> Python -> WebSocket -> HTML interaction, pushed https://github.com/pfalcon/uremi (suggestion on name are also welcome, API isn't going to be compatible with remi).

I tested provided simple_app.py to work in 16K of heap memory with MicroPython.

(The repo above will be rebased, and probably further development will be way off.)

pfalcon avatar Aug 07 '16 11:08 pfalcon

@pfalcon Really good work! Maybe will contribute soon.

dddomodossola avatar Aug 07 '16 11:08 dddomodossola