python w przeglądarce

Python w przeglądarce? Programiści już nad tym pracują.

Na PyCon 2022, konferencji dla społeczności „pythonistów”, programiści ponownie przyglądali się pomysłowi uruchamiania kodu Pythona w przeglądarce. Może to być najpopularniejszy język programowania na świecie, ale ma też swoje wady. W przeciwieństwie do JavaScriptu nie można uruchamiać jego kodu w przeglądarce.

Sprawdź: Co to framework?

W trakcie PyCon 2022 poruszono temat uruchamiania Pythona w przeglądarce. Jak zauważyli specjaliści, Python nie obsługuje w przeglądarce kompilacji do środowiska wykonawczego WebAssembly (Wasm), szeroko obsługiwanego standardu aplikacji internetowych IC3, który kompiluje kod napisany w Rust, C, C++ i Go do formatu binarnego, co z kolei pozwala aplikacjom webowym działać bardziej jak aplikacje desktopowe poza przeglądarką.

W trakcie tegorocznej konferencji programista CPython (Core Python – implementacja referencyjna, z której wywodzą się inne dystrybucje Pythona) Christian Heimes, a także jego współpracownik Ethan Smith, szczegółowo omówili w jaki sposób umożliwili głównej gałęzi CPython kompilację do WebAssembly.

Python w przeglądarce – to możliwe

Heimes i Smith wytłumaczyli, że CPython kompiluje teraz krzyżowo (cross-compiles) do Wasm za pomocą Emscripten, czyli łańcucha narzędzi, który kompiluje projekty napisane w C lub C++ do środowisk Node.js lub Wasm.

Prace wspomnianych developerów zostały zauważone przez Python Software Foundation. Przygotowała ona odpowiedni wpis na blogu: „The 2022 Python Language Summit: Python in the browser„. Fundacja informuje, że Pythona można uruchomić na wielu platformach, ale znany jest prosty fakt. Konkretnie: „jeśli chcemy, aby kod działał w przeglądarce, Python zwyczajnie nie da sobie z tym rady. Trzeba skorzystać z JavaScriptu”.

Teraz jednak może się to zmienić.

Wspomniana kompilacja krzyżowa jest nadal w fazie eksperymentalnej m.in. z powodu brakujących modułów w standardowej bibliotece Pythona. Mimo to najnowsze rozwiązanie zyskało duże zainteresowanie społeczności. Tej zależy, aby Python stał się po prostu lepszy i działał w przeglądarce.

Python w przeglądarce to jednak nie wszystko, czym chce zająć się społeczność. Jest też inne wyzwanie.

Python a interfejs graficzny

Kolejnym słabym punktem Pythona jest to, że korzystanie z niego na urządzeniach mobilnych lub w każdej aplikacji – nawet na komputerze stacjonarnym – wymaga graficznego interfejsu użytkownika. Jeśli dodamy do tego fakt, że jego kod nie działa w przeglądarce, łatwo można dojść do prostego wniosku. Jakiego? Pomimo swojej ogromnej popularności Python nie do końca jest językiem „ogólnego przeznaczenia”. Zresztą, niektórzy developerzy już od pewnego czasu zastanawiają się czy Python nie poszedł zbyt daleko w kierunku data science.

Zobacz: Angular vs React

Peter Wang, współzałożyciel i dyrektor generalny Anacondy, popularnej dystrybucji Pythona właśnie do data science, ogłosił na PyCon 2022 system do „przeplatania Pythona w HTML” – PyScript. Jak tłumaczył, umożliwia on programistom pisanie i uruchamianie kodu Pythona w HTML oraz wywoływanie bibliotek JavaScript w PyScript. Dzięki temu, jak przekonuje Wang, możemy pisać strony internetowe w całości w Pythonie.

PyScript jest zbudowany na Pyodide, porcie CPython, lub dystrybucji Pythona dla przeglądarki i Node.js, która jest oparta na WebAssembly i Emscripten.

Czy to rzeczywiście potrzebna zmiana?

Python ewoluuje, co z pewnością doceni wielu developerów. Nie wiadomo jednak, że zrobi to także holenderski programista Guido van Rossum, twórca Pythona.

Na poprzedniej konferencji, ale też w innych wywiadach van Rossum wspominał, że Python jest bardzo dobry w niektórych zastosowaniach. Niektórych oznacza, że nie we front-endzie. Tam programista skupiałby się na JavaScript. Jego zdaniem nie ma sensu przeciążać Pythona w dziedzinach, które są już dobrze obsługiwane przez inne języki. Van Rossum tłumaczył, że skoro Python jest świetny w data science, powinien tam powiększać mocne strony. Nie zaś stawać się „językiem do wszystkiego”.

logo IT-Leaders

IT-Leaders.pl to pierwsza w Polsce platforma łącząca Specjalistów IT bezpośrednio z pracodawcami. Anonimowy, techniczny profil i konkretnie określone oczekiwania finansowe to tylko niektóre z cech wyróżniających platformę. Zarejestruj się i zobacz jak Cię widzi pracodawca.