Hem dedico a això, a fer aplicacions web, fent servir tecnologia Microsoft. El que abans eren Winforms, aplicacions d'escriptori ara són aplicacions web. Aquestes han sofert grans canvis des de l'any 2000 on es feien en ASP Clàssic, a ara on l'HTML5 va entrant i sembla que té bona pinta (facilita la vida que enlloc de fer servir components, el navegador suporti directament el que vols fer amb tags).
Així doncs cal trobar una forma de portar la informació amunt i avall. A més a més de fer-ho eficient també cal que el desenvolupador (a.k.a jo mateix) no mori en l'intent.
Pel tema de la eficiència en les comunicacions es fa servir JSON per les dades i HTML per la presentació. Ambdós viatgen separats, i el JSON normalment per AJAX. Es a dir, L'HTML es transporta un cop, quan es carrega, i després només van amunt i avall les dades en JSON. Això fa que mantenir l'estat de la pantalla sigui molt fàcil, ja que no canvia (només les dades). És el que jo anomeno part client.
Per afavorir que el desenvolupador no mori en l'intent de recuperar els valors de 40 camps, posar-los en els seus corresponents paràmetres, etc... Es fa servir la serialització/deserialització de valors del formulari. Aquesta operació la fa una eina que genera codi automàticament. Per tant arribat a aquest punt el nombre de camps que contingui un formulari és indiferent alhora de recuperar-ne els valors. Únicament cal afinar el disseny, posar calendaris, si hi ha alguna lògica de negoci, combos en cascada, etc...
Per accedir a la BBDD es fan servir stored procedures (SP) i per gestionar aquestes SP en C# he fet una capa d'accés a dades, la clsDades (seguint els corresponents enllaços hi ha la documentació pertinent).
Per implementar la comunicació entre la part client i la clsDades faig servir ASHX amb molt bons resultats.
La impressió, sempre és el punt feble de les aplicacions web. La solució que he trobat és fer servir PDFs. A partir de la llibreria de Winnovative es pot convertir HTML a PDF, i funciona molt bé, tema liquidat. Si la generació d'un PDF triga molt temps també és pot fer una aplicació d'escriptori complementària que es dediqui només a això.