Termino duomenys
- Terminas: Framework
- Pilnas pavadinimas: Programavimo karkasas (angl. Framework)
- Standartas: Nėra vieno standarto (priklauso nuo technologijos)
- Naudojimo sritis: Struktūra ir taisyklės, padedančios kurti programas greičiau ir nuosekliau
Framework - kas tai?
Framework (karkasas) – tai
iš anksto paruoštų įrankių, taisyklių, bibliotekų ir struktūrų rinkinys, padedantis kurti programinę įrangą greičiau ir tvarkingiau.
• Wikipedia rašo, kad framework yra „programinė įranga, suteikianti pakartotinai naudojamą, bendrą funkcionalumą, kurį kūrėjai gali išplėsti ar pritaikyti“.
• freeCodeCamp aiškina, kad framework yra „struktūra jūsų programai“ – tarsi karkasas, ant kurio statoma visa sistema.
• Strapi pabrėžia, kad framework „suteikia struktūruotą, pakartotinai naudojamą būdą spręsti bendras programavimo problemas“.
• GeeksforGeeks nurodo, kad framework yra „bendras šablonas, kurį galima naudoti ir modifikuoti pagal poreikį“.
• Mimo rašo, kad framework yra „iš anksto parašyto kodo, gairių ir įrankių rinkinys, supaprastinantis programų kūrimą“.
Kaip veikia framework?
Pagal Wikipedia ir Strapi:
• Framework suteikia paruoštą struktūrą (failų tvarką, modulius, taisykles).
• Jis dažnai naudoja inversion of control – t. y. framework valdo programos eigą, o kūrėjas įterpia savo logiką.
• Kūrėjas rašo tik tai, kas unikalus projektui, o bendri dalykai jau yra paruošti.
• Tai tarsi namų karkasas: tu nebeturi statyti sienų nuo nulio, tik įrengti vidų.
Framework vs Library
•
Kas valdo programos eigą? Framework - Framework; Library - Tu pats.
•
Struktūra: Framework - Griežta, apibrėžta; Library - Laisva.
•
Naudojimas: Framework - Tu įterpi kodą į framework; Library - Tu kvieti bibliotekos funkcijas.
•
Pavyzdžiai: Framework - Angular, Django, Laravel; Library - Lodash, NumPy, jQuery
Framework = „don’t call us, we’ll call you“ principas.
Framework tipai
Pagal GeeksforGeeks ir Mimo:
•
Front‑end: React, Angular, Vue
•
Back‑end: Django, Laravel, Express
•
Mobilieji: Flutter, React Native
•
Žaidimų: Unity, Unreal Engine
•
Testavimo: Jest, Mocha
•
Duomenų mokslo: TensorFlow, PyTorch
Kur naudojama?
• Web programavime
• Mobiliose aplikacijose
• Žaidimų kūrime
• Dirbtinio intelekto projektuose
• API kūrime
• Įmonių sistemose
Pavyzdys
Jei kuri svetainę su Django, framework jau turi:
• vartotojų valdymą,
• URL maršrutus,
• duomenų bazės sluoksnį,
• saugumo mechanizmus.
Tu rašai tik tai, kas unikalu tavo projektui.