Mi a kulonbseg a framework es a fuggvenykonytar kozott?
Leegyszerűsítve: a framework - vagyis magyarul keretrendszer - egy-egy komplexebb feladat - például egy reszponzív vagy egy MVC paradigmákon alapuló oldal esetleg egy RESTFul szolgáltatás kialakítása - megoldását "nagy mértékben segítő, egységes módon megszerkesztett "építőkockákat" tartalmazó halmaz" ( [link] ).
A függvénykönyvtár egy-egy adott tematikájú - például matematikai, gépi tanulást elősegítendő függvények - kisebb feladatrész megoldását segítik elő.
Én erre úgy szoktam gondolni, hogy míg egy framework eseten te a komponenseket definiálod amik alapján a framework elvégzi a feladatát, addig egy library esetén te kapsz kész komponenseket amiket fel tudsz használni a kódodban.
Tehát hogy kinél van a vezérlés, az a kulcs. Legalábbis szerintem.
A framework egy fejlesztői környezet.
Ebben az értelemben egy paraméterezhető editor és az abból direkt hívható debugger is egy framework, de jobbára komplex, sokoldalú kódszerkesztőt és a fejlesztést segítő programcsomagot értenek framework alatt.
A függvénykönyvtár (lib) pedig adott célra használható függvénycsomagot jelent. Pl. egy math lib az jobbára matematikai függvényeket tartalmaz.
"A framework egy fejlesztői környezet."
Nem.
A Netbeans, az Eclipse, az Atom IDE, a Visual Studio fejlesztői környezet (Integrated Developer Environment).
A Laravel, a Spring, az Express, az Angular, a Foundation és a Bootstrap keretrendszer. Egyikhez sem jár külön IDE.
Az a baj, hogy nem egységes a "keretrendszerek" értelmezése. A függvénykönyvtárakból is többféle lehet.
Szerintem is annyit lehet általánosságban mondani, hogy a keretrendszer a tágabb dolog, de nem feltétlen bonyolultabb, vagy több, mint egy nagyobb fgvkt.
.NET esetében pl. annyira "keret" a rendszer, hogy egy közös pszeudokódra fordul le a forráskódod, bármely nyelven írtad benne. Írhatja a forráskódot több ember is, vegyes nyelven. Mondjuk egyikőtök .NET VB-ben, másik .NET C-ben, harmadik .NET C#-ban, stb. Pszeudoszintre fordulva a nyelv mégis azonos lesz.
Utána ez a pszeudokód fordul le a fizikai kódra. A hibakeresés is már pszeudokódban történik. Ott lesznek a töréspontok, tesztpontok, illetve onnan jönnek a fejlesztési hibaüzenetek. Mondhatjuk, hogy ilyen értelemben egy keretrendszer mellérendelt viszonyban van a kódoddal.
Függvénykönyvtár esetén valamilyen programozói felületről meghívható függvény-csomagod van, azaz a saját kódod ebben az értelemben alárendelő viszonyban alkalmazza az adott könyvtárat.
A függvénykönyvtár lehet forrásszinten az alapkódodban írva. Pl. C esetében a .LIB fájlok, amikre a program fejlécében hivatkozol, utána a fordító dolga a többi.
Ám lehet pszeudokódban létrehozva, vagy lehet tárgykódban is megírva. Ez is, meg az is függvénykönvtár, csak más formában, illetve adott rendszeren belül valamilyen speciális megnevezéssel. Tágabb értelmezésben lehet API-ként egy sztenderdebb interfész felületen is elérhető, teljesen elkülönült rendszer, ami függetlenül a Te kódodtól, bárki programjából szabadon használható felület. Mögötte komplex statikus vagy dinamikus függvény-könyvtár rendszerek húzódhatnak meg. Ilyen pl. a Windows API felülete is.
Értelmezés kérdése, sokan vitatkoznak majd itt is rajta. Nyilván sokféle programozói környezet van forgalomban, nehéz általánosítani.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!