I used WebIOPi to test (and debugging) the RPi ports, it is easy and hepful. But now I want to create a webpage (as I can use html/css e create a nice modern interface).

I don't know how to use javascript and the WebIOPi website doesn't help me much with sample codes. Python doesn't have good options of liberty to create modern GUI's (Tkinter, wxPython and PyGTK they just look very Windows 95)

PHP doesn't seem to be a good option (My opinion).

1 Answer 1


Since the Raspberry Pi is a typical Linux computer, it can pretty much run any web server that runs on Linux computers. Your choice of webserver will depend on your choice of programming languages. People choose webservers for different reasons, but language and convenience are considerations.

  • WebIoPi (Python/PHP)
  • Apache Web Server (Java)
  • Rails (Ruby)
  • Nodejs (Javascript)
  • Mongoose (C++)
  • etc.

All of these can create great web UI or clunky web UI. If you want to create great web UI, you should search for "web ui frameworks". You will have many options. You will also have to do a potentially a LOT more work depending on how responsive you want your web application to be. And this is where your choice of web server can matter because you may find yourself coding in one, two or even three languages. Most companies deal with this mess by hiring different teams of developers to deal with front-end UI vs back-end server stuff. If you only have yourself, you can choose web servers and UI frameworks that minimize your own effort. Unfortunately, modern web programming uses Javascript extensively and NodeJS is THE Javascript web server. It is unfortunate in the sense that Python is one of the primary Raspberry Pi languages, so advice and examples in Python abound, but not so much in Javascript.

You will have to do some more research on web frameworks and web servers. My own personal choice of NodeJS and Vuetify will likely not help you. You may find yourself accepting WebIoPi as is.

  • 1
    Excellent answer. Thank you very much for that lesson. After searching I ended up choosing Flask as framework web and so I can programming in Python. I guess it will avoid me the hassle of programming in many languages. Your answer clarified a bit more my humble idea about development in IT. Thank you. Commented Jul 20, 2018 at 6:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.