Nombre: Simone Giacomelli
Título: Python all the way down: Seamless Server and in-Browser web programming with wwwpy, Pyodide and WASM.
Slides for this talk: http://tiny.cc/wwwpy-pycones23
In this talk, we'll venture into a new frontier of web development by introducing an innovative method that seamlessly integrates server-side and in-browser programming. This transformative approach leverages the flexibility and power of Python and is made possible by Pyodide, a Python distribution operating on WebAssembly, and wwwpy, a pioneering library (authored by the speaker) that seamlessly integrates Python server-side operations with Pyodide.
The disconnect between server-side and client-side programming is a prevalent challenge in web development: diverse languages and data structures in play at each end reduce the seamless communication and code reusability.
The solution lies in Python's versatility, bridging this gap through Pyodide and wwwpy. By utilizing Python on both server and client (browser), a myriad of benefits is brought forth:
The reuse of Python knowledge for client-side code which leverages the developer’s existing Python expertise and past experiences.
The lower impedance between server and client is made possible by employing identical data structures (datetime, integer, float, list, set, dict, etc.) on both ends.
The transparent interaction between client and server through secure RPC (Remote Procedure Call).
The intrinsic development efficiency of sharing code between the two programming environments.
The possibility to perform DOM manipulation and Web API usage directly with Python.
In this context, Pyodide enables Python code execution directly within browsers and Node.js environments, effectively harnessing Python's potential to redefine the web development paradigm, and wwwpy provides a transparent way to invoke server functions from the browser and a Widget class to interact effortlessly with HTML5 elements.
An additional highlight is Pyodide's support for a variety of packages, including pure Python wheels from PyPI, and pure Python and binary wasm32/emscripten wheels, featuring more than 150 packages such as numpy, scikit-learn, matplotlib, scipy, beautifulsoup4, and networkx.
This talk will fundamentally change the way you perceive web development by introducing an integrated approach, reducing friction between server and client-side and elevating code reuse to new heights.
Join us to explore the future of web programming, where Python reigns, from the server to the browser. Your web development journey will never be the same again!
Python España: https://es.python.org/
Python Canarias: https://pythoncanarias.es/