ASP.Net is heel populair, omdat het het heel eenvoudig maakt om een paar tabelletjes te publiceren. Maar, natuurlijk is dat al vreselijk achterhaald, Als je nog niet werkt met MVVM, dan behoor je toch op zijn minst MVC te gebruiken.
Want, die zijn super cool. Ze maken het mogelijk om slechts eenvoudige views te maken, waar je wat data tegenaan gooit, en het resultaat ziet er gelikt uit. Geen gedoe meer met een heel nieuwe pagina, menu, header en zo voorts te maken voor ieder dingetje, alleen de data wijzigt.
Ok, dat is natuurlijk heel veel werk, je hebt natuurlijk nog wel een nieuwe view nodig voor ieder soort data (of misschien zelfs voor iedere pagina), je hebt wat converters nodig, je moet overal een nieuwe data container voor maken en uitzonderingen zijn problematisch. Iets heel simpels, als: de currency is Euro als de klant lid is van de EU, vereisen al snel een aanpassing van het framework.
En een DAL is super cool, maar ook heel problematisch omdat je niet eenvoudig een selectie kunt maken. Dus, het lijkt heel snel en gemakkelijk, met auto-lazy-loading en intelli-sense, maar het is toch erg kostbaar om de set met vereiste gegevens boven water te toveren. Vooral als je alles moet serializeren en deserializeren.
Maar, als die state-of-the-art methodieken te wensen overlaten, hoe moet het dan wel?
Zoals met alles in de IT, werken we nu met laag op laag op laag op laag, etc. Miljoenen regels code, geschreven door andere mensen om dingen te vereenvoudigen gaan af in de achtergrond als je op de knop van je ASP.NET applicate drukt.
Terwijl je toch voornamelijk een database met gegevens hebt, een laag met berekeningen en output in de vorm van html pagina's, aangevuld met dingen als JavaScript.
Het probleem heeft dus twee kanten:
1. Html pagina's met aanvulling zijn heel primitief / beperkt.
2. De vereisten zijn om de dingen weer te geven zoals voor lokale applicaties (Win32/Linux/iOS).
Ja, alles kan in de IT, maar klanten willen niet betalen voor een investering van vele manjaren. En de IT'ers (en hun managers) zeggen maar al te makkelijk dat het geen enkel probleem is.
KISS. Zorg dat de goals simpel zijn.
Klanten reageren heel slecht op crashes. Ook dingen die niet werken naar behoren (foute resultaten opleveren) scoren veel minpunten. Laat die dingen weg. Bouw alleen wat ook goed werkt.
En de simpelste manier om dat te doen met web, is: iedere pagina zijn eigen gegevens op laten halen uit de database. Klinkt omslachtig, maar het is zoveel minder werk voor zelfs een middelmatige applicatie, dat iedereen er blij mee is. En je kunt nog steeds custom controls maken.
Als je hierop door gaat, dan wil je dus dat iedere html pagina "begint" met: document.body.innerHTML = ""; En dan bouw je alles op via de DOM.
Met IE6 als target kon je dat vergeten (te pijnlijk), maar tegenwoordig is dat een goede optie. En als HTML5 echt een standaard wordt, dan wordt dat zelfs leuk.
:-)
Want, die zijn super cool. Ze maken het mogelijk om slechts eenvoudige views te maken, waar je wat data tegenaan gooit, en het resultaat ziet er gelikt uit. Geen gedoe meer met een heel nieuwe pagina, menu, header en zo voorts te maken voor ieder dingetje, alleen de data wijzigt.
Ok, dat is natuurlijk heel veel werk, je hebt natuurlijk nog wel een nieuwe view nodig voor ieder soort data (of misschien zelfs voor iedere pagina), je hebt wat converters nodig, je moet overal een nieuwe data container voor maken en uitzonderingen zijn problematisch. Iets heel simpels, als: de currency is Euro als de klant lid is van de EU, vereisen al snel een aanpassing van het framework.
En een DAL is super cool, maar ook heel problematisch omdat je niet eenvoudig een selectie kunt maken. Dus, het lijkt heel snel en gemakkelijk, met auto-lazy-loading en intelli-sense, maar het is toch erg kostbaar om de set met vereiste gegevens boven water te toveren. Vooral als je alles moet serializeren en deserializeren.
Maar, als die state-of-the-art methodieken te wensen overlaten, hoe moet het dan wel?
Zoals met alles in de IT, werken we nu met laag op laag op laag op laag, etc. Miljoenen regels code, geschreven door andere mensen om dingen te vereenvoudigen gaan af in de achtergrond als je op de knop van je ASP.NET applicate drukt.
Terwijl je toch voornamelijk een database met gegevens hebt, een laag met berekeningen en output in de vorm van html pagina's, aangevuld met dingen als JavaScript.
Het probleem heeft dus twee kanten:
1. Html pagina's met aanvulling zijn heel primitief / beperkt.
2. De vereisten zijn om de dingen weer te geven zoals voor lokale applicaties (Win32/Linux/iOS).
Ja, alles kan in de IT, maar klanten willen niet betalen voor een investering van vele manjaren. En de IT'ers (en hun managers) zeggen maar al te makkelijk dat het geen enkel probleem is.
KISS. Zorg dat de goals simpel zijn.
Klanten reageren heel slecht op crashes. Ook dingen die niet werken naar behoren (foute resultaten opleveren) scoren veel minpunten. Laat die dingen weg. Bouw alleen wat ook goed werkt.
En de simpelste manier om dat te doen met web, is: iedere pagina zijn eigen gegevens op laten halen uit de database. Klinkt omslachtig, maar het is zoveel minder werk voor zelfs een middelmatige applicatie, dat iedereen er blij mee is. En je kunt nog steeds custom controls maken.
Als je hierop door gaat, dan wil je dus dat iedere html pagina "begint" met: document.body.innerHTML = ""; En dan bouw je alles op via de DOM.
Met IE6 als target kon je dat vergeten (te pijnlijk), maar tegenwoordig is dat een goede optie. En als HTML5 echt een standaard wordt, dan wordt dat zelfs leuk.
:-)
