Co se naučíš: Pochopíš, co jsou knihovny a frameworky, proč se používají a jak ti mohou usnadnit programování. Naučíš se je vyhledávat a používat jejich dokumentaci.
1. Proč neprogramovat vše od nuly?
Představ si, že chceš postavit dům. Mohl bys sám vyrábět cihly, okna, dveře... Ale není jednodušší koupit hotové komponenty a jen je sestavit? V programování je to stejné!
Definice: Knihovna (Library)
Knihovna je sbírka hotového kódu (funkcí, tříd), který můžeš použít ve svém programu. Řeší běžné úlohy, abys je nemusel programovat sám.
Definice: Framework
Framework je rozsáhlejší struktura, která definuje, jak má být aplikace organizována. Poskytuje "kostru" programu a ty do ní doplňuješ svůj kód.
2. Rozdíl mezi knihovnou a frameworkem
Aspekt
Knihovna
Framework
Kdo řídí?
Ty voláš knihovnu
Framework volá tvůj kód
Rozsah
Řeší konkrétní úlohy
Celá architektura aplikace
Příklad
Matematické funkce, práce s datem
Webová aplikace, mobilní app
Analogie: Knihovna = Nářadí (kladivo, šroubovák) – použiješ, kdy potřebuješ. Framework = Stavebnice IKEA – má návod a strukturu, ty jen sestavuješ.
# Python příklad - použití knihovny math
import math
# Použití funkce z knihovny
vysledek = math.sqrt(16) # Odmocnina z 16
print(vysledek) # Vypíše: 4.0
# Použití konstanty
print(math.pi) # Vypíše: 3.141592653589793
5. Dokumentace
Každá knihovna má dokumentaci – návod, jak ji používat. Obsahuje:
Seznam funkcí a tříd
Popis parametrů a návratových hodnot
Příklady použití
Programovací paradigmata - různé přístupy
6. Scratch rozšíření
I Scratch má "knihovny" – rozšíření! Najdeš je vlevo dole pod ikonou +. Příklady:
Pero: Kreslení na plátno.
Hudba: Přehrávání zvuků a tónů.
Text to Speech: Čtení textu nahlas.
Překlad: Překlad do jiných jazyků.
Objektově orientované programování - základní principy
7. Správa závislostí
Když tvůj program používá knihovny, potřebuješ je nějak spravovat. K tomu slouží správci balíčků:
pip (Python):pip install pandas
npm (JavaScript):npm install react
NuGet (.NET): Správce pro C#.
Funkcionální programování - čisté funkce
** Úkoly pro maturitní obory
Scratch – Rozšíření: Přidej do Scratch projektu rozšíření "Text to Speech". Vytvoř program, kde postava přečte nahlas, co uživatel napíše.
Python – Knihovna math: Napiš program, který vypočítá obvod a obsah kruhu. Použij math.pi. Vstup: poloměr, výstup: obvod a obsah.
Python – Knihovna random: Napiš program "Kostka" – simuluje hod kostkou (1-6). Hoď 10× a spočítej, kolikrát padla šestka.
Word – Dokumentace: Vyber si jednu Python knihovnu (např. random). Prostuduj její dokumentaci a napiš vlastní "tahák" – 10 nejužitečnějších funkcí s příklady.
PowerPoint – Prezentace: Vytvoř prezentaci "Nejužitečnější Python knihovny" (10-12 snímků). Pro každou knihovnu uveď: účel, příklad, kdy použít.
Canva – Infografika: Vytvoř infografiku "Knihovna vs Framework" s vizuálním srovnáním a příklady.