We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

FastUI - panacea or pipe dream?

Formale Metadaten

Titel
FastUI - panacea or pipe dream?
Serientitel
Anzahl der Teile
131
Autor
Mitwirkende
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Are web interfaces defined in Python a genius idea, a complete folly, or (like most technologies) a good fit for some use cases but not all? I'll give a brief tour of packages that let you build web interfaces by writing only Python, including Streamlit, Gradio, NiceGUI, reflex, Solara, dominate, ReactPy and FastUI (recently released by the Pydantic team). The main three questions I'll be asking are: 1. Is building a web UI in Python really a good idea at all? 2. What fundamental trade-offs are required to make such a tool successful? 3. If someone can answer point 1 and 2, when's the right time to use these tools? Over the last couple of years, lots of different libraries have emerged to let you develop web interfaces without getting your hands dirty with HTML, CSS, the JS ecosystem; but so far none have got as popular as "traditional" template rendering (Jinja, Django) or modern SPA frameworks like React. So are we at the dawn of a new way era — and one of these frameworks will become ubiquitous. Or is the whole idea that you can build such an interface without engaging with the fundamental technologies that power them mistaken? One important question is "what kind of interface are we aiming at?" If we are trying to give complete control over the browser, allowing Python developers to do everything raw JavaScript can do; our solution will look very different to something that is "just" trying to allow Python developers to plug common components together to build 80% of UIs with 20% of the effort. Looking at the question through this lens will help explain the design choices of the above libraries, and might even allow us to guess at which approaches will be most