O mnieBlogGitHub

WinForms is dead

07 November, 2019 - 2 min read

Polemika z tym tekstem: https://blog.submain.com/death-winforms-greatly-exaggerated/

Tekst stary (sprzed ponad roku), ale gdzieś mi wpadł w ręce - no i jak przeczytałem, to postanowiłem wysmarowąć polemikę.

  1. Tak, WinForms jest wciąż żywy - ale to dlatego, że ciągle istnieją stare aplikacje, z których ktoś korzysta i których - z różnych powodów - nie wymienia się na rozwiązania oparte na nowszych technologiach. Ale to nie jest argument - znam przypadki produkcyjnego wykorzystywania aplikacji "dosowych" z UI w stylu Norton Commander. Ale czy to znaczy, że te technologie są żywe?
  2. Tak, WinForms jest martwy - nikt chyba dzisiaj nie tworzy od nowa projektów w oparciu o WinForms: po pierwsze mamy dzisiaj inne standardy i oczekiwania (np. dotyczące wyglądu GUI); po drugie ciężko przekonać programistów do pracy w technologii, która jeśli nie jest już martwa, to na pewno zmierza do tego; po trzecie - nie jestem pewien, czy .NET Core 3 coś tu zmienia, ale bazowo WinForms jest tylko na Windowsa, więc odpadają inne platformy; po czwarte - inne technologie mają lepsze wsparcie narzędziowe (ot choćby to, że - jak pisze sam autor - w Visual Studio 2019 nie ma designera do WinFormsów...).
  3. Szybkość prototypowania? Nie sądzę. Jeśli naprawdę chcemy zrobić szybki proof of concept aplikacji desktopowej, a nie za bardzo znamy się na WPF-ie, to chyba dzisiaj najlepiej wybrać któreś z rozwiązań typu Electron: czyli osadzenia aplikacji webowej w desktopowym okienku. Ja bym szedł dzisiaj w tym kierunku, tym bardziej, że napisanie aplikacji Elektronowej np. w Reakcie daje od razu potencjał na pójście w innych kierunkach - czy to czystej webówki, czy urządzeń mobilnych za pomocą React Native. To po co robić coś prototypować w WinFormsach?