Recently I am busy on vohttpd 🙂 VoCore should have a light weight and powerful httpd(NOTE2), so we can make IoT web interface easier.(save memory and flash will reduce the cost too 🙂 )
I am new to web develop, so the process on http/javascript is very slow 🙂 But I am good at net/c develop, that part is going well.
Currently I have finished the vohttpd main application, now just consider the framework for the web side interface. I want it to be very simple and modularized.
This is my dreamed embedded httpd application:
1. light weight. even able to run on 8~16MB memory device.
normal memory usage < 60KB(NOTE1), or even < 20KB in low performance situation.
2. flexible. we can drag & drop plugin into browser, then the embedded device will have such function.
For example: to enable webcam function, we just need to drop the install package into browser, it will install all necessary compose. and show the webcam video on browser.
3. easy to develop. it should have only a few( < 10) necessary api for the plugin. I hate read documentations; also hate write them. 🙂 A developer who knows some basic C language(mainly is for string) will able to develop plugin.
User Interface should be all in web side. Plugins should only provide the function, like webapi. The javascript make the logic for the UI, bootstrap and html for the widgets on the UI.
4. fast speed, stable, etc...
I write a simple plugin control interface, based on bootstrap and jquery. source code can be find at http://github.com/vonger/vohttpd. I am still learning this, the interface will be upgrade later.
Now it is able to compile and run on linux, macos, windows(mingw). Browser: firefox, chrome, ie.
NOTE1: this memory usage is the application alloced memory, system memory is not contained. It is about 200KB~300KB in total. That is used to shared libraries, plugins, etc.
NOTE2: I compared and tried many httpd applications, none of them made me happy, in my last blog I explained that.