WinForms vs. WebForms

Iedereen weet wel behoorlijk wat verschillen op te noemen als het gaat over Windows Forms vs. Web Forms. Zo moet je Windows Forms deployen op vele machines, en Web Forms (ofwel een web applicatie) in principe maar op één server, waarbij je de applicatie benadert met een browser. WebForms maak je op met HTML waarbij je hele mooie grafische dingen kan maken, terwijl WinForms veelal de standaard Windows uitstraling hebben, wat overigens mijn voorkeur heeft tegenover het ‘opleuken’ van WinForms.


Nu zijn er met een kleine bandbreedte nog wat zaken, zoals dat je met WinForms alleen je data over hoeft te trekken, terwijl je met WebForms je HTML en je ViewState er bij krijgt. Daarnaast ben je binnen je WinForms statefull en kun je dus lokaal data bewaren, terwijl je met WebForms tijdens elke roundtrip heel je scherm opnieuw moet opbouwen, etc, etc.


Maar nu harde cijfers, wat kost het extra een regels code en vooral aan tijd om webforms te bouwen, tegenover winforms.
Daarnaast, wat kost het aan bandbreedte om html en viewstate e.d. over te sturen?


Als iemand hier leuke cijfers over kan roepen of laten zien, wil ik dat graag horen. In de reacties uiteraard! πŸ™‚

You may also like...

10 Responses

  1. René says:

    een beetje kort door de bocht hoor.

    Soms is het geen keuze: deployment van WinForms is bijna alleen in een intranet deployment mogelijk (en de gebruikers draaien deels op apple).

    Ik denk dat ik veel beter kan aangeven hoeveel bandbreedte een webform applicatie vraagt tussen server en client dan een winform app. Omdat het een kwestie is van meten: bv trace.axd laat zien wat de rendersize is van een html page (inclusief viewstate) en de hoeveelheid viewstate is daar ook gelijk te zien.

    Met ACT (in VS2002) kun je meten wat de ttfb/ttlb is.

    Als je kiest voor een slimme opzet van je webapplicatie kun je hele kleine pagina’s genereren die dus weinig bytes vragen.

    Nadeel van een WebAppForm is dat databinding slecht is. Zelf heb ik daar een helper class voor gebouwd.

  2. Mischa Kroon says:

    Ik denk dat het om te kiezen belangrijk is om te bekijken wat voor een soort developer gebruik moet maken van de technieken.

    Iemand die veel ervaring heeft met een webapplicatie zal deze veel sneller weten te maken als iemand die er geen ervaring mee heeft.

    Idem met desktop apps.

    Moraal van het verhaal het blijven nog steeds verschillende disciplines.

    Ookal beginnen ze dichter bij elkaar te komen door .NET.

    kwa viewstate kunnen dingen aan de webkant aardig oplopen vooral met grote datagrids.

    Te adviseren is dan ook om deze hierbij uit te zetten.

  3. Manfred van Overmeire says:

    Mischien niet helemaal aansluitend op het het onderwerp maar toch wel een aardig licht schijnt op de keuze tussen WinForms en WebForms zijn Smart Clients.

    De keuze voor WebForms word vaak gemaakt omdat deze makkelijk te deployen zijn en je hoeft de clients niet te onderhouden. Dit principe is verwerkt in Smart Clients en gebruikt hiervoor WinForms. De WinForm applicatie wordt gedeployed op de webserver en middels de browser word deze opgestart. Onder water haalt de client deze app over en start hem lokaal op. Met de backend (business tier) wordt gecommuniceerd middels webservices.

    Leuk principe als je de voordelen wilt hebben van zowel een webform als een winform.

  4. Een beetje kort door de bocht misschien, maar daar draait het momenteel wel om bij een klant. We hebben een applicatie die én web én winforms kan.

    Uiteraard zijn er voor- en nadelen aan beiden. We hebben een intranet en iedereen heeft IE5.5 of hoger. Maar het is een data-entry applicatie en de gebruikers zijn momenteel OracleForms gewend. Geen idee wat dat is, maar ik neem aan gewoon forms op een Oracle database, zoals je dat in MS-Access kan doen. Niet dat ik dat ooit gedaan heb, maar daar heb ik wel eens over horen praten πŸ˜‰

    Maar goed, out-of-the-blue is voor web gekozen, heb ik het idee. Maar de klant is gewend om met allerlei shortcut-keys te gebruiken. En met web moeten ze ineens de muis pakken. Heel vaag! πŸ™‚

    Ik doe persoonlijk heel graag web, want dat vind ik gewoon leuk. Maar hier lijkt me WinForms veel beter en na 101 argumenten, willen ze cijfers horen.

    Vandaar dat ik er naar op zoek ben! πŸ™‚

  5. Ernst Wolthaus says:

    Ik heb niets tegen webapps maar krijg toch wel een beetje het idee dat men met name nog kiest voor webapps als een soort nawee van de internethype.

    Aangezien we steeds meer te maken krijgen met breedbandverbindingen is het gebruik van Smart Clients (dus winform) steeds interessanter.

    Want later we eerlijk zijn: winform apss zijn, met name voor data entry, veel responsiever dan webforms.

    Hoe vaak hebben we ons niet in allerlei bochten moeten wringen om zaken voor elkaar te krijgen die in winforms de normaalste zaak van de wereld zijn.

    Op een van mijn vorige projecten moesten we een webapp bouwen met veel data entry. Daarvoor waren ze Access forms gewend.

    Vervolgens verwachtte de gebruikers dezelfde manier van werken in de webforms als in de oude app. Wat een drama om iets dergelijks te realiseren. Dan kan je toch veel beter een winform app neerzetten?!

    Als je een app moet bouwen waarin veel geklikt kan worden maar geen of weinig data entry, dan is de keus voor een webapp voor de hand liggend, vanwege gemak in opmaak en de distributie (1 webserver).

    Maar anders zou ik lekker voor een winform app kiezen (wel of niet als Smart client toepassing).

    Check deze link uit: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet10142001.asp

  6. Er is een verschil tussen Rich Client en Smart Client, Ernst.

    Smart Clients kunnen o.a. disconnected werken en zodra je weer connect, alle data synchroniseren. Da’s een van de hoofdzaken van een smart client.

    Rich Clients geven een rijke gebruikers ervaring, al gaat dat momenteel niet meer op. Je kunt nog steeds meer in een winforms applicatie, maar ik vind het een heel slecht idee om de huidige (!) windows applicaties te voorzien van kleuren e.d.

    Na het zien van Aero heb ik het idee dat we misschien de andere kant op gaan. Maar momenteel vind ik het maar niks en als je iets mooi wilt hebben, moet je voor web gaan. Winforms moeten er niet goed uit zien, maar gewoon werken. Dat Microsoft dan elke keer leuke kleurtjes bedenkt voor hun icoontjes is ok, maar die veranderen toch ook niet continue die grijze achtergrond voor 1001 kleurtjes? Dat mag de gebruiker zelf doen, als hij kleurenblind is, want anders doe je dat gewoon niet!

    Maar ik heb nog steeds geen antwoord op mijn vraag!!! πŸ™‚

  7. Ernst Wolthaus says:

    ok, mijn terminologie knobbel is nog in ontwikkeling maar je begrijpt wat ik bedoel, ik bedoel Internet deployment van winapps.

    En inderdaad, dit is nog steeds geen antwoord op jouw vraag πŸ˜‰

  8. Ernst Wolthaus says:

    Aero..? Oh, je bedoelt de nieuwe Longhorn UI!

    Ja, dat ziet er strak uit!

    Kan je nagaan hoe tof het wordt om winapps met deze look-and-feel te deployen over het internet/extranet/intranet.

    Zeg maar dag met je handjes tegen al die zielige webapps die proberen winapps na te doen maar volledig de ziekte in draaien als je met je browser wat geintjes uithaalt, zoals de back button ipv. de daarvoor bedoelde knop op het scherm. Klinkt wellicht stom, maar dat zijn meer gebruikers dan je denkt ook…

  9. Patrick Wellink says:

    Als je al deze verhaaltjes leest dan kun je tussen de regeltjes door toch het volgende lezen.

    Veel input = Smart Client.

    Weinig input veel klikken = Web client.

    Ga ook maar na, laat de client die zo graag een webform wil maar eens via google iets opzoeken op het internet en dan vervolgens het tiende document openen. en hij moet dit doen ZONDER zijn muis te gebruiken…..

    Web = Hyperlink op een Hyperlink Moet je klikken.

  10. Patrick Wellink says:

    Vergeten, maar ik heb 10 jaar bij Exact gewerkt en daar maken ze boekhoud software. En daar was data entry voor een hoop mensen een hot item……..

    En dr zaten best slimme mensen daar maar ze hebben nooit een Web app kunnen bouwen voor invoeren boekingen die zo soepel aanvoelde als de oude vertrouwde Rich client.

Click on a tab to select how you'd like to leave your comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.