2018. március 26., hétfő

Alkalmazásfejlesztési keretrendszerek 14_A

Drupál
Wordpress
Bootstrap
Codeigniter
Genezis

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…

A Moodle egy nyílt forráskódú, ingyenes (GNU GPL) licenc alatt terjesztett, PHP nyelven íródott eLearning keretrendszer.

https://www.oktatas.hu/pub_bin/dload/kozoktatas/pok/Budapest/szaktanacsadoi_anyagok/informatika_lms_rendszerek.pdf

https://gyires.inf.unideb.hu/GyBITT/10/ch03s02.html

Nincsenek megjegyzések:

Megjegyzés küldése