Brython: Zbavte se JavaScriptu a nahraďte ho Pythonem

Zpět na blog

Brython: Zbavte se JavaScriptu a nahraďte ho Pythonem

Python JavaScript Brython FrontEnd Web

Co kdyby šel JavaScript nahradit Pythonem a ten pak používat pro vývoj FrontEndu?

Přesně to je cílem projektu Brython, kterým jeho tvůrci chtějí nahradil Javascript a místo něho používat Python jako skriptovací jazyk pro web.

A navíc si můžete spustit Python rovnou v prohlížeči, bez stahování souborů a instalace.

Výhody Pythonu v prohlížeči

I když je JavaScript ten jazyk pro vývoj front-endových webových aplikací, může mít pro vás použití Pythonu následující výhody:

  • Chcete využít znalosti Pythonu, které máte.
  • Chcete používat API prohlížeče pomocí Pythonu.
  • Chcete manipulovat s objektovým modelem dokumentu (DOM) pomocí Pythonu.
  • Nechcete se učit JavaScript.
  • Nelíbí se vám syntaxe JavaScriptu.
  • Chcete používat Python s existujícími JavaScriptovými knihovnami.

Existuje mnoho vývojářů, kteří by pro vývoj frontendu dalo přednost Pythonu před JavaScriptem.

Nevýhody

Použití Brythonu má samozřejmě také nevýhody.

Python v prohlížeči není tak rychlý, jako nativní JavaScript. Záleží na vaši situaci, jestli je to pro vás překážkou anebo není.

Brython rozhodně není tak rozšířený jako JavaScript. Neexistuje pro něj žádný framework, což může být překážka pro některé vývojáře, zmlsané bohatým JavaScriptovým ekosystémem.

S tím souvisí i nedostatek výukových materiálů pro vývoj FrontEndu v Brythonu. Zde opět vítězí JavaScript, kde si můžete vybrat z široké nabídky zdrojů.

Jak začít s Brythonem

Nejjednodušším způsobem, jak si vyzkoušet Brython je pomocí jeho on-line editoru.

Zkopírujte následující kód a vložte ho do levého okna. V pravém okně potom klikněte na tlačítko run a kód se spustí.

nazev = 'LovelyData'
print(f"{nazev} se skládá z:\n")
for i, p in enumerate(nazev):
    print(f"{i+1}. {p}")

Měli byste dostat tento výsledek:

Brython editor

Python místo JavaScriptu

Pokud si chcete vyzkoušet použití Brythonu jako skriptovacího jazyka pro FrontEnd a použít ho přímo uvnitř webové stránky, aniž byste museli cokoli instalovat, stačí:

1) Zahrnout skripty z CDN.

2) Spustit funkci brython() při načtení stránky <body onload=brython()>.

3) Napsat Python dovnitř značek <script type="text/python">.

Výše uvedený příklad se dá do Brythonu přepsat takto:

from browser import document
nazev = 'LovelyData'
document['vystup'] <= (f'{nazev} se skládá z:\n')
for i, p in enumerate(nazev):
  document['vystup'] <= (f"{i+1}. {p}\n")

Měli byste dostat tento výsledek:

Brython HTML

Kompletní HTML soubor použitý v příkladu, si můžete stáhnout zde.

Jak Brython funguje

Brython nedělá nic jiného, než že přeloží Pythonovský kód do JavaScriptu. Díky tomu funguje ve všech moderních prohlížečích a to dokonce i na chytrých telefonech.

Tvůrci přiznávají, že lepší výkon můžete čekat na Firefoxu než na Chrome, ale záleží samozřejmě na individuální situaci.

Konec JavaScriptu?

Stane se Python tím jazykem pro vývoj front-endových webových aplikací a nahradí JavaScript?

Vzhledem k popularitě JavaScriptu a jeho naprosté dominanci se to pravděpodobně nestane. Rozhodně ne v blízké době.

To ale neznamená, že projekty typu Brython nemají smysl. Vždy je dobré, když ke stávajícím monopolům existují alternativy. 😉


Líbil se vám článek? Sdílejte ho s ostatními

nebo nám napište něco hezkého. Děkujeme!

Zpět na blog

Python - základy

Naučte se základy Pythonu - populárního jazyka, který vzal datovou vědu doslova útokem.

Zobrazit kurz

SQL pro analytiky

Naučte se základy SQL a relačních databází. Komplexní kurz, který vám dá jistotu při psaní databázových dotazů.

Zobrazit kurz

Power BI - Základy

I business uživatel může být datový analytik. Zjednodušte si práci s daty díky Power BI.

Zobrazit kurz

Hledáme další autory

Publikujte na Lovely Blogu a inspirujte ostatní! Sdílením svých znalosti si budujete osobní značku.

Kontaktujte nás

Odběr novinek

Novinky, návody a tipy přímo do vašeho emailu.

Copyright © 2018-2024, Colorbee, s.r.o.

Designed by grafikli.cz in Prague.