A clean, modern software development workspace with a laptop
Môj objav týždňa!

Streamlit: Ako spraviť rozhranie

Och, ani neviete, aký som nadšený! Doteraz som bojoval s HTML a CSS, ale potom som objavil Streamlit. Je to neuveriteľné, ako rýchlo sa dá z Python kódu spraviť skutočná aplikácia. Už žiadne trápenie s frontendom, proste píšem kód a ono to funguje!

Pozrieť si postup

Prečo som si vybral práve Streamlit?

icon-b

Nulové znalosti HTML? Žiadny problém!

Predstavte si, že nemusíte riešiť žiadne divy, spany ani divoké CSS selektory. Streamlit za vás urobí všetku tú "špinavú" prácu. Ja som len napísal pár riadkov v Pythone a zrazu sa mi v prehliadači objavilo krásne tlačidlo a graf. Bolo to ako kúzlo! Naozaj som neveril, že to môže byť takéto jednoduché, kým som to neskúsil na vlastnej koži.

Viac o Pythone

Rýchlosť svetla!

Od nápadu k funkčnému prototypu mi to trvalo asi 15 minút. Predtým by som len 2 hodiny nastavoval prostredie. Neuveriteľné, fakt!

01

Interaktivita

Posuvníky, textové polia, nahrávanie súborov – všetko je pripravené. Stačí zavolať jednu funkciu. Wau!

02

Komunita a pluginy

Keď som niečo nevedel (čo bolo často, haha!), na fórach som hneď našiel odpoveď. Existujú tisíce komponentov, ktoré si môžete len tak stiahnuť a pridať do projektu. Skúšal som napríklad prepojenie s mapami a fungovalo to na prvý šup!

Riešenie chýb

Moja prvá štruktúra: frontend_structure

Keď som začínal, myslel som si, že budem musieť písať stovky riadkov kódu, aby som rozdelil stránku na stĺpce alebo sekcie. Ale čuduj sa svete, v Streamlite je to o niečom úplne inom! Použil som jednoduchý príkaz `st.columns` a zrazu som mal vedľa seba dva panely. Jeden pre nastavenia a druhý pre výsledky môjho AI modelu.

Predstavte si to nadšenie, keď som zistil, že môžem použiť aj `st.sidebar`! Jedným riadkom kódu som vytvoril bočné menu, ktoré sa na mobiloch automaticky skryje. Nie je to geniálne? Celá štruktúra môjho projektu vyzerá približne takto:

  • Hlavička: Používam `st.title` na veľký nadpis, ktorý hneď udrie do očí.
  • Bočný panel: Sem dávam všetky prepínače a parametre pre môj výber LLM modelu.
  • Hlavná plocha: Tu sa zobrazuje chatovacie rozhranie alebo grafy.
  • Pätička: Malé info o tom, že som to spáchal ja, začínajúci kóder z Trebišova.

"Najväčšia chyba, ktorú som urobil, bolo snažiť sa vnútiť Streamlitu vlastné CSS hneď na začiatku. Zistil som, že je lepšie nechať ho pracovať tak, ako bol navrhnutý. Výsledok je čistý a profesionálny."

— Poznámka z môjho denníka

Knižnica komponentov: component_library

Viete, čo ma najviac prekvapilo? Množstvo hotových vecí. Nemusel som programovať vlastný kalendár alebo výber farieb. Všetko je to v `st.date_input` alebo `st.color_picker`. Skúšal som aj `st.metric`, čo vyzerá super na zobrazenie štatistík. Ogo! Vyzerá to ako dashboard z nejakého drahého softvéru.

V sekcii user_input_handling som zistil, že Streamlit funguje na princípe re-runu. To znamená, že keď niečo zmeníte v inpute, celá stránka sa znova načíta od zhora nadol. Najprv ma to miatlo, ale potom som pochopil, že je to vlastne super jednoduché na logiku aplikácie. Stačí prepojiť input s premennou a bum, hneď máte aktuálnu hodnotu všade v kóde.

85%
Času ušetreného na vývoji frontendu
100+
Dostupných widgetov v základnej verzii
A collage of web UI elements, sliders, buttons, and charts i Close up of Python code on a dark screen, focus on syntax hi

Nasadenie do sveta: deployment_steps

Dobre, aplikáciu mám na počítači, ale ako ju ukázať kamošom? Tu prichádza ten najlepší moment! Streamlit má vlastný Cloud, kde si aplikáciu nahodíte zadarmo. Stačí mať kód na GitHube a prepojiť to. Bol som v šoku, že to trvalo asi dve minúty a moja aplikácia bola online na adrese, ktorú som mohol poslať komukoľvek.

1

Nahrajte kód na GitHub

Vytvorte si repozitár a nezabudnite na súbor `requirements.txt`. Bez neho cloud nebude vedieť, aké knižnice potrebujete. Ja som na to prvýkrát zabudol a predstavte si tie nervy, keď mi to vyhodilo chybu!

2

Prepojte so Streamlit Cloud

Prihláste sa cez GitHub, vyberte váš projekt a stlačte "Deploy". Vážne, je to len jedno tlačidlo. Sledoval som konzolu, ako sa inštalujú balíčky a cítil som sa ako ozajstný hacker.

3

Zdieľajte odkaz

A je to! Vaša aplikácia beží. Ak chcete niečo zmeniť, stačí nahrať nový kód na GitHub a stránka sa automaticky aktualizuje. Fakt nekecám, je to také jednoduché!

Ak vás zaujíma, ako prepojiť toto rozhranie s reálnymi dátami, určite si pozrite moju skúsenosť so zberom dát pre slovenské texty. Je to dôležitý krok, aby váš frontend nebol len prázdna schránka, ale aby naozaj niečo robil.

Čo mi nebolo jasné (FAQ)

Môžem v Streamlite meniť farby?

Áno! Hoci som hovoril, že CSS netreba, v nastaveniach (config.toml) si môžete zmeniť primárnu farbu napríklad na túto moju obľúbenú limetkovú. Vyzerá to potom oveľa lepšie a viac "moje".

Je to zadarmo?

Predstavte si, že áno! Streamlit Cloud má verziu pre komunitu, ktorá je úplne free. Na moje pokusy a projekty v Trebišove to bohato stačí. Neuveriteľné, že za takéto nástroje nemusíme platiť!

Zvládne to aj začiatočník?

Ak som to zvládol ja, tak to zvládne každý. Stačí základy Pythonu. Ak viete napísať `print("Ahoj")`, tak sa naučíte aj `st.write("Ahoj")`. Je to fakt intuitívne.

Chcete vidieť môj
prvý funkčný kód?

Nečakajte, kým sa naučíte všetko. Začnite s jedným tlačidlom a uvidíte, kam vás to zavedie. Ja som začal a už sa neviem zastaviť!