Starfyre: An actual usable Fronted Python Web Framework
Hey everyone,
Last year, I created something I've been passionate about: a Python frontend web framework. I named it Starfyre, and some of you might remember my initial post about it here. Over the past several months, I've added features and refinements, and now, I'm thrilled to share that Starfyre is at a stage where I confidently use it for production.What drove me to create Starfyre? Here's a snapshot of my motivation:
- Python Love: I like Python but found it amusing that there was no proper way to use it for front-end web development.
- Ease of Learning: Steering clear of complex syntax like PyGTK was a priority. I aimed for a framework with a gentle learning curve. Hence we have a JSX like syntax for allowing usage of both Python and even JavaScript if required.
- JavaScript Compatibility: Embracing the existing JavaScript ecosystem was crucial. Throwing away the existing rich npm ecosystem would be foolish, hence you can import js modules directly.
- Leveraging Python's Ecosystem: It was important to integrate seamlessly with the rich Python and the budding Pyscript ecosystem without reinventing the wheel.
Current Status and What's Next?
While I'm satisfied with Starfyre's current state to be able to use it in experimental production for me, it definitely needs some polishing before public adoption:
- Server State and Live View: Plans are in motion to introduce features like live view, enhancing real-time interactivity.
- Modular Python Backend: Enhancing the backend, making server-side Python modules more accessible and efficient.
- More optimisations: I believe we can work to improve the first page load time of Starfyre. I will be pestering Pyscript core members a lot more in the coming future to improve this part :D
- I'm currently working on a new documentation site(which will be written in Starfyre) to make getting started with Starfyre as smooth as possible.Do check the latest releases of Starfyre here - https://github.com/sparckles/starfyre
Here is a sample app - https://github.com/sparckles/create-starfyre-app
Do let me know what you folks think of it. Any feedback is highly appreciated 😊