Alkalmazásfejlesztési keretrendszerek

Az alkalmazásfejlesztési keretrendszerek rendkívüli mértékben képesek munkánkat megkönnyíteni, meggyorsítani és hatékonyabbá tenni. Mégis többször is látom, hogy a fejlesztők egyáltalán nem használnak keretrendszereket a munkájuk során. Azt hiszem, hogy ennek a legfőbb oka, hogy magyarul eléggé ritkán lehet hozzájuk dokumentációt találni.

Alkalmazásfejlesztési keretrendszerek

A keretrendszerek képesek munkánkat megkönnyíteni, meggyorsítani és hatékonyabbá tenni

A keretrendszerek olyan alapelemeket biztosító rendszerek amelyek összetett feladatokat képesek megoldani. Egy vázat adnak alkalmazásaink számára, melyet a fejlesztőnek már csak tovább kell építenie.

Ha nézünk mondjuk egy webes alkalmazást akkor van jó pár olyan feladat amit az alkalmazás funkciójától függetlenül kezelnünk kell. Ilyenek például a rövid URL-ek, a munkamenetek kezelése, vagy éppen az adatbázis kapcsolatok és lekérdezések működtetése. A különböző keretrendszerek ezekre kínálnak kész megoldásokat.

Előnyök

A fentiekből egyenesen következik, hogy a keretrendszerek használatával sok fejlesztési időt takaríthatunk meg. Az időmegtakarítás egyrészt abból jön, hogy a sztenderd feladatokat a keretrendszer maga automatikusan megoldja. Másrészt, ami legalább ugyanannyira fontos, a keretrendszerek általában rákényszerítenek bennünket valamilyen kódolási és file struktúrálási sztenderdre. Így pár hónap múlva ha újra hozzá kell nyúlni a kódhoz, akkor egyértelműen tudni fogjuk, hogy mit hol keressünk. A sztenderdizálás további haszna, hogy jelentősen megkönnyíti a csoportmunkát. Röviden egy átláthatóbb, könnyebben fenntartható kódot kapunk.

Hátrányok

Tanulásukhoz idő kell. Talán ez az egyetlen hátrányuk. Tapasztalatom szerint egy keretrendszer megtanulására fordított idő rövid távon már az első projekt esetén megtérül, hosszú távon pedig összehasonlíthatatlan a különbség. Némely keretrendszer e mellett nem kellőképpen rugalmas, és az automatizált eljárások hatására időnként nem a legoptimálisabb háttérfolyamatokat kapjuk.

PHP keretrendszerek

Jelen pillanatban 4 népszerű PHP-s keretrendszer van. A Zend, a CakePHP, a Symfony és a CodeIgniter.

Többé kevésbé azonos tudásúak, azonos a tanulásukra fordítandó idő, azonos licensz alá tartoznak. Azt hiszem, hogy az esetek majd’ 100%-ában az történik, hogy amelyikkel az ember elkezd dolgozni azután arra esküszik és az összes többi nehézkesnek és bugyutának tűnik. Szóval aki még nem kötelezte el magát az katt ide.

JavaScript keretrendszerek

Webfejlesztés esetén nagy valószínűséggel a szerver oldali keretrendszerek mellett bizonyára szükségünk lesz valamilyen kliens oldali keretrendszerre is. Ezek közül a Yahoo! User Interface (YUI), a Prototype és a Dojo a legnépszerűbbek.

A JavaScript keretrendszerek egyik legfontosabb tulajdonsága, hogy keresztplatformossá teszik használatukkal a JavaScript alkalmazást, azaz kiszűrik a különböző böngészők eltérő JavaScript kezeléséből adódó problémák nagy részét.

Használati szempontból nagyjából ugyanaz igaz rájuk mint a PHP-sekre, azaz ha az ember elkezdi használni az egyiket akkor arra és csak arra esküszik. Szóval aki még nem használja egyiket sem annak azt mondom, hogy prototype és script.aculo.us.

Összefoglalás

Ez az általános és rendkívül rövidke bemutató nem vállalta fel azt a feladatot, hogy konkrétan bemutassuk egyik vagy másik keretrendszer használatát. A cél csupán annyi volt, hogy minden webfejlesztő figyelmét felhívjam arra, hogy mennyit nyerünk azzal ha elkezdünk valamilyen alkalmazás fejlesztési keretrendszert használni webes fejlesztéseinkhez. Sok időt nyerünk használatukkal és jobban kezelhető és fenntartható kódot eredményeznek. Mindezért egy rövidke tanulási idővel kell fizetnünk, ami egyértelműen egy jó üzlet. Egyetlen figyelmeztetésem van. Ha valaki elkezd keretrendszerekkel dolgozni utána már nem hajlandó többet nélkülük dolgozni…

4 thoughts on “Alkalmazásfejlesztési keretrendszerek

  1. Megemlíteném a JS könyvtárakhoz a jQuery-t, bár nem használta, de t udom, hogy az is nagyon pörög (több könyv, stb.), azonban Prototype + script.aculo.us -ra esküszök én is.

    Azonban segítséget szeretnék kérni, mert szeretnék kipróbálni egy php framework-t. Melyiket ajánjátok?

    A felsoroltak közül egyértelműen – a neve miat is – a Zend áll közel a szívemhez. Pro? Kontra?

    Kösz és üdv
    – kisPocok –

  2. kisPocok: Amint írtam is mindenki azt fogja javasolni amit használ. Ha találsz valakit aki egy időben dolgozik egyszerre többel, akkor talán ő tud elfogulatlan véleményt adni az eltérésekről. Nekem a CakePHP az automatikus kódgenerálás miatt egyből kiütötte a többi versenyzőt annyira, hogy nem is néztem, hogy a többi egyáltalán tud-e ilyet. Próbáltam még a CodeIgnitert és a Symfony-t, de mindkettő nehézkesnek tűnt a cake után. De mivel ezeket nem használtam hosszabb ideig nem tudok objektív véleményt adni. 🙂

  3. Ajánlom a magyar fejlesztésű Mozajik keretrendszert is, ami ugyan még jövő év elejéig bétában van, de bizonyos szempontokból most előbukkannak az előnyei:

    – saját beépített Django-inspirálta template rendszer ami támogatja a template inheritance funkciót
    – komplex összekapcsolt tábla lekérések, marha egyszerűen, mindenféle SQL nélkül
    – PHP 5.3 támogatás (ez is a minimum)
    – MVC interfész (ez mondjuk nem előny, mert mindegyik ilyen 🙂 ami egyszerűen pluginelhető (na ez már előny :))

    http://www.mozajik.org/

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.