Bemutatkozik a RecroGrid Framework |
Welcome to the RecroGrid Framework Guide.
This topic contains the following sections:
A RecroGrid Framework egy teljesen egyedülálló, fejlesztőknek készített keretrendszer, adatbázist kezelő alkalmazások fejlesztéséhez. A keretrendszer integráltan tartalmazza egy ügyvitelei alkalmazás alapvető funkcionalitásának komponenseit kliens és szerveroldalon egyaránt.
A rendszer célja, hogy a magasabb szintű (viszonylag) könnyen használható alkalmazáskészítő rendszerek és az alacsonyabb szintű klasszikus osztálykönyvtárak kontroll elemeinek (Grid, ListCtrl, FormView, Adatbázis műveletek) előnyeit kihasználva és azok hátrányait/korlátait kiküszöbölve egy integrált keretrendszert kapjon a fejlesztő. Ezt úgy sikerült elérni, hogy a megjelenítési réteg bizonyos elemei egy szinttel feljebb a végfelhasználó szintjére kerültek, de az alacsonyabb szintű rétegeket és a felülettel való kapcsolatot a fejlesztő teljes mértékben tudja kontrollálni a keretrendszer adta lehetőségeken kívül, a teljes hagyományos kód szintű vezérléssel is. A végeredmény, hogy a RecroGrid Framework egy nagyon rugalmas és stabil, minden korábbinál hatékonyabb fejlesztést teszt lehetővé, megtartva a hagyományos kódolás előnyeit mint a kiváló teljesítményt és a bármely feladatot megvalósítható környezetet. A RecroGrid Framework használatával a fejlesztő soha nem fog korlátokba ütközni, mivel amit a keretrendszer nem tud, azt egyénileg mindig meg lehet valósítani.
A tervezés során, a klasszikus táblázatos (vagy bármilyen template alapú) megjelenítés és a rekordokhoz tartozó részletező dialógusok megjelenítésének egyszerűsítésén túl, további fontos cél hogy a végfelhasználó egyénileg is meg tudja változtatni a felületre kivezetett dizájn, jogosultsági és egyéb beállításokat, nem kell hozzá a fejlesztő és nincs szükség újrafordításra. A fejlesztő minden korábbi hasonlónak tűnő kontrollnál (pl. GridView, ListView, FormView) kényelmesebben tudja megjeleníteni és szerkeszthetővé tenni az adatokat a felhasználóknak, anélkül, hogy bármilyen hátrányt szenvedne az egyéni funkciók vagy testreszabási lehetőségekben, mint ahogyan az a magasabb szintű alkalmazáskészítő rendszerek esetén (előbb vagy utóbb) mindig bekövetkezik.
A RecroGrid Framework képes egyetlen utasítással a teljes adatbázis, illetve annak adatait táblázatos vagy tetszőleges template alapú formában megjeleníteni, azokat rendezni és szűrni, illetve külön dialóguson (Form nézet) megjeleníteni és szerkeszteni. A megjelenítendő adatok, illetve azok stílusai és viselkedésük grafikus felületen futásidőben paraméterezhetőek. A paraméterezéseken túl a RecroGrid működése teljes mértékben testre szabható kliens és szerveroldalon egyaránt. A keretrendszer integrálva tartalmazza az adatváltozások követését, mezőszintű jogosultsági rendszert és egy többnyelvű szótárt a megjelenített mezőnevek, üzenetek részére. A RecroGrid Framework integrált szerver és kliensoldali komponenseket tartalmaz, nincs szükség különböző struktúrák, template-ek definiálására, csak a alapértelmezett működéstől eltérő eseteket kell megadni.
A rendszer fejlesztésének alapötlete 1998-ig nyúlik vissza, amikor elkezdődött (még C++ és MFC alapokon) egy hasonló rendszer kifejlesztése. A fejlesztések egészen 2008-ig hoztak újdonságokat, de a rendszer nem tartalmazott magasabb szintű automatizmusokat, és a paraméterezéseket a kódban kellett elvégezni, ami minden esetben az alkalmazás újrafordítását igényelte. Ez a rendszer önálló modulként ugyan soha nem került forgalomba, azonban néhány nagyobb cég még a mai napig is használja (pl. K&H Bank Lízing, Erste Leasing).
A RecroGrid Framework fejlesztése többéves előkészület és tervezés után 2010-ben kezdődött el, egy teljesen új Web alapú (ASP.NET Web Forms, C#) környezetben. A rendszer már akkor egy egyedi (MVC alapú szemléletnek megfelelő) megoldást alkalmazott. 2012-től az aspHOSTpage webtárhely élesben használta. 2015 végén került átírásra, hogy kényelmesen lehessen használni ASP.NET MVC környezetben. A nyilvánosan elérhető első előzetes verzió 2017 elején került ki az internetre.
Nem tudunk hasonló komplexitású rendszerről, ami tartalmazna integráltan szerver és kliensoldali komponenseket azonnali használatra készen, egyetlen sor kód leírása nélkül, miközben megtartja a teljes testreszabás lehetőségét szerver és kliensoldalon, sőt futásidőben grafikus felületen is.
Aki ismer hasonló nyilvánosan elérhető rendszert, kérjük jelezze, és ebben a dokumentációban azt feltüntetjük.
Leginkább ajánlott adatbázis kezelést igénylő, professzionális üzleti alkalmazások fejlesztésére C# nyelven, ASP.NET Core környezetben.
A RecroGrid bármely működő ASP.NET Core vagy .Net Framework MVC projektbe integrálható és a korábbi fejlesztésekkel vegyesen használható.
Minél nagyobb vagy bonyolultabb az adatbázis, a RecroGrid használata annál inkább hasznos és kifizetődő.
Korábbi technológiákról (pl. MFC, Windows Forms, ASP.NET Web Forms) áttérő fejlesztőknek nagyon ajánlott.
Ajánlott olyan weboldalak fejlesztésére, ahol sok adat megjelenítése vagy rögzítése szükséges.
Kezdő fejlesztők, akik legfőbb iránynak a kód alapú adatbázissal foglalkozó alkalmazások fejlesztést választják.
Semmiképpen nem javasolt azoknak, akik nem fejlesztők és nem is kívánnak ilyen irányú szaktudást szerezni.
Nem alkalmas, ha kódírás nélküli előre elkészített modulokból egérkattintgatásos alkalmazás fejlesztése a cél.
Nem javasolt olyan fejlesztőknek, akik a kód alapú programozást háttérbe szeretnék szorítani.
Nem javasolt honlapok/weboldalak kialakítására. (Kivéve ha a weboldal adatmegjelenítési vagy beviteli bonyolultsága az ajánlott szintet eléri. pl. webáruház).
Nem javasolt olyan fejlesztésre, ahol a projektben nincs olyan fejlesztő szakember, aki alaposan ismeri a C# (esetleg Java, C++) programozási nyelvet.
Class library
A RecroGrid Framework leginkább összehasonlítható a klasszikus osztálykönyvtárak különböző kontroll csomagjaival. A különbség a rendkívüli módon integrált komponensek és azok használhatóságán és egyéni alakíthatóságán vagy kiterjeszthetőségén van. A komponensek olyan magas szintű funkcionalitással és integráltsággal rendelkeznek, ami komplex rendszerek esetén igen fáradságos és nehézkes feladatoktól kíméli meg a fejlesztőt, fenntartva a lehetőséget, hogy bármilyen apró vagy nagyobb módosítást tudjon eszközölni a rendszer működésében. Tehát lényeges különbség, hogy a RecroGrid Framework komplett integrált megoldásokat kínál szerver és kliensoldalon egyaránt, nem pedig különálló komponenseket.
Angular
A RecroGrid Framework teljesen komplett és integrált szerver és kliensoldali megoldásokat kínál. Az Angular csak kliensoldali megoldások elkészítését támogatja, nagy mennyiségű többnyire manuálisan készítendő kódok létrehozásával. A RecroGrid Framework használatához a kliensoldalon JavaScript/jQuery, a szerveroldalon pedig C# ismerete szükséges, minden ezekkel kompatibilis kiegészítő kényelmesen illeszthető. Angular esetén a HTML attributum kiterjesztések és egy egyedi keretrendszer elsajátítása szükséges, minden ezektől eltérő megoldás súlyos kompatibilitási problémákhoz vezet. Az Angular szerveroldali vagy adatbázishoz kapcsolódó integrált komponenst nem tartalmaz, így nagy méretű adatbázist kezelő alkalmazások fejlesztéséhez önmagában alkalmatlan. A RecroGrid Framework ezzel ellentétben kifejezetten nagy méretű, komplex, adatbázist kezelő ügyviteli alkalmazások fejlesztésére optimalizált és minden szükséges kapcsolódó komponenst a lehető legjobb illeszkedéssel tartalmaz.
Content Management System (CMS)
A két rendszer teljesen eltérő felhasználási területet céloz meg, ezért nem összehasonlítható. A CMS rendszerek (pl. WordPress, Joomla!, Orchard, Drupal, nopCommerce ...) teljes alkalmazás kialakítására alkalmasak, de korlátozott lehetőségei miatt tipikusan nem fejlesztők (vagy legalábbis nem professzionális üzleti alkalmazás készítésére) használják. A RecroGrid Framework a teljes alkalmazást tekintve, csak bizonyos komponensek könnyű megvalósítását és használatát segíti, egyéb funkciókat egyénileg kell megvalósítani. A korábban fejlesztéssel foglalkozó, de más technológiát használó fejlesztőknek mindenképpen a RecroGrid Framework a jobb választás, mert nem kerülnek a CMS korlátai közé, illetve nem kell új fejlesztői környezetet megtanulni.
Alkalmazáskészítő rendszerek (Application Builder)
Ezeket a rendszereket (pl. APEX, Mendix, GUPTA ...) azok a fejlesztők használják, akiknek technikai felkészültségük jelentősen meghaladja a CMS rendszerekhez követeltet. Ezekkel a rendszerekkel már bonyolultabb alkalmazások is készíthetők, de még mindig többnyire modulokból építkezik a fejlesztő, és továbbra is erős környezeti és technikai korlátok közé van szorítva a hagyományos fejlesztési környezetek és nyelvekhez képest. Ezen rendszerek segítségével és a RecroGrid Framework használatával készült alkalmazások a végfelhasználó szemszögéből ugyan összehasonlítható, de a fejlesztés szemszögéből kevésbé összehasonlítható, mivel a hagyományos fejlesztő eszközöket (pl. Visual Studio) tipikusan nem a RecroGid vagy bármely más modul előnyei miatt, hanem ezen alkalmazáskészítő rendszerek hátrányai és korlátai miatt választják.
Riportkészítők
A RecroGrid Framework nem riportkészítő rendszer! Összehasonlítani ilyen jellegű rendszerekkel nem lehet. (pl. SQL Server Reporting Services, Crystal Reports, QlikView ...) Ezekkel a rendszerekkel nem lehet azokat a feladatokat megoldani, ami a RecroGrid Framework elsődleges funkcionalitása, habár a RecroGrid Framework (template alapú megjelenítése miatt) képes lehet riportok készítésére is, de nem arra való.
A RecroGrid az adatbázis kezelését Entity Framework használatával végzi. Minden megjelenített entitást, az első használat során a rendszer reflexió segítségével feltérképez, amit adatbázisban tárol. Az entitásokról tárolt paraméterek, futásidőben egy grafikus felületen szerkeszthetőek. A paraméterezés során az entitásban található mezőkön kívül más entitások mezői, dinamikus mezők (az adatbázisban nem létező adatok) és egyéb kifejezések is megadhatók. Futásidőben paraméterezhető a List nézet (pl. táblázatos megjelenítés), és Form nézet (egy rekord részletes megjelenítése) adatmezőinek típusa, stílusa és viselkedése is. Azonban ezek a beállítások a RecroGrid Framework egészét nézve alapszintű funkcióknak számítanak, ugyanis a RecroGrid Framework igazi ereje a kliens, illetve a szerveroldali beállításokban rejlik, a számtalan interfész és virtuális függvények megvalósításában, és a különböző kiegészítő modulokban.
Visual Studio 2019+
ASP.NET Core 3.1
jQuery 1.12.4+
jQuery UI 1.12.1+
Windows 7+, Windows Server 2012+, Linux (RGF 2.6+)
SQL Server (2012+), PostgreSQL, Oracle (12c+)
Visual Studio 2017+
ASP.NET Core 2.1
jQuery 1.12.4+
jQuery UI 1.12.1
Windows 7+, Windows Server 2012+
SQL Server (2012+), PostgreSQL, Oracle (12c+)
Visual Studio 2015+
ASP.NET 4.6.1+, MVC
SQL Server (2012+), MySQL, PostgreSQL, Oracle (ManagedDataAccess 19.6.0)
jQuery 1.12.4+
jQuery UI 1.12.1
IIS 7.0+