pfalcon / awesome-micropython

Curated list of awesome MicroPython resources
Creative Commons Attribution Share Alike 4.0 International
179 stars 9 forks source link

MicroWebSrv2 :) #2

Closed jczic closed 4 years ago

jczic commented 4 years ago

Hello, I'm the author of MicroWebSrv2, a MicroPython HTTP web server fully asynchronous with modules like WebSockets and PyhtmlTemplate. It is light, very optimized (mem, I/Os, ...) and ready for ESP32, STM32 on Pyboard, Pycom's chipsets (WiPy, LoPy).

Repository : https://github.com/jczic/MicroWebSrv2 Features : https://github.com/jczic/MicroWebSrv2#features

Do you think it is a good idea to add it on the list? Thank you for your response 👍

pfalcon commented 4 years ago

Thanks for your interest in this humble list. The original idea of this list, the same as the original idea of the MicroPython project (ok, of my participation in the MicroPython project), is to promote minimalist code and solutions, "read and understand before you run" type of code, etc. Does any of these principles were governing for your project?

very optimized (mem, I/Os, ...)

Can you elaborate on this?

jczic commented 4 years ago

Hi @pfalcon, The first web server was a light utility for our professional projects and I pushed it on GitHub under MIT licence (MicroWebSrv). It used by many people because it was very simple to integrate but not optimized, not asynchronous and not great for me.

The real project is now MicroWebSrv2, from scratch and fully in MicroPython. On CPython it works very well with a large amount of requests and websockets and resists to stress tests. On MicroPython, parameters are designed for a light configuration but it works good too.

I say "very optimized", in full CPython/MicroPython, because memory management is preallocated and the creation of new buffers is avoided as much as possible. Today, it's used in our industrial projects with a best integration and better robustness than its precursor.

It's as you like :) I've also other light utilities for MicroPython on my GitHub... Sincerely.