Zdaje sobie sprawę z tego, że były już poruszane takie tematy, jednak jak wiadomo czas leci szybko i wszystkie cały czas sie zmienia. Zabieram się za swój pierwszy większy projekcik, który kto wie, być może za jakiś czas znajdzie się w moim cv, ale to już mniejsza z tym... Zastanawiam się czy robić go w starym dobrym Windows Forms czy może na bazie tego właśnie projektu zacząć naukę WPF.
Przede wszystkim jak to wygląda w pracy programisty C#, czy firmy korzystają z WinForms, czy już bardziej przerzucają się na WPF?
Czytałem coś, że praca z WPF jest dobrym bodźcem wspomagającym do nauki ASP.NET, czy to prawda?

- Rejestracja:prawie 14 lat
- Ostatnio:ponad 9 lat
- Postów:56

- Rejestracja:ponad 21 lat
- Ostatnio:39 minut
Przede wszystkim jak to wygląda w pracy programisty C#, czy firmy korzystają z WinForms, czy już bardziej przerzucają się na WPF?
Nie wiem.
w starym dobrym Windows Forms
WinForms ma 10 lat, WPF ma 7. To nie jest aż taka wielka różnica by jedno traktować jak staroć a drugie jako coś supernowoczesnego.
Osobiście uważam, że WPF jest ciężkie w użyciu i bardzo trudno jest w nim zrobić interfejs dobrze. Ponieważ większość programów nie potrzebuje graficznych wodotrysków z WPF (które to pod WinForms trzeba by po prostu samemu oprogramować), uważam że nie ma sensu się z WPF męczyć.
Jest też dość istotna różnica między tymi bibliotekami: WinForms to wrapper na WinAPI, a WPF renderuje wszystkie kontrolki samodzielnie. Dzięki temu WinForms wygląda bardziej natywnie, lepiej się wtapia w skórkę systemową.

- Rejestracja:około 17 lat
- Ostatnio:około 18 godzin
- Lokalizacja:Wrocław
Azarien napisał(a):
w starym dobrym Windows Forms
WinForms ma 10 lat, WPF ma 7. To nie jest aż taka wielka różnica by jedno traktować jak staroć a drugie jako coś supernowoczesnego.
Bez przesady, WinForms ma już chyba prawie 12.
malymakar napisał(a):
Przede wszystkim jak to wygląda w pracy programisty C#, czy firmy korzystają z WinForms, czy już bardziej przerzucają się na WPF?
Raczej przerzucają się na ASP.NET MVC. Ale są również projekty w technologiach desktopowych, niemniej jednak jest ich znacznie mniej. Z tego, co widzę po ofertach pracy, jest mniej więcej po równo obu tych technologii, chociaż z moich własnych obserwacji wynika, że nowo rozpoczynane projekty to częściej WPF niż WinForms.
Czytałem coś, że praca z WPF jest dobrym bodźcem wspomagającym do nauki ASP.NET, czy to prawda?
WPF nie ma nic z ASP.NET wspólnego, ani na poziomie kodu, ani na poziomie podejścia. Do WPF jest podobny Silverlight, bo w obu tworzy się interfejs za pomocą XAMLa.
Osobiście uważam WPF za bardzo przekombinowany, ale może to dlatego, że nigdy nie chciało mi się w niego zagłębiać. Na pewno łatwiej w nim zrobić pewne rzeczy (np. zagnieżdżanie kontrolek), które w WinFormsach są męczarnią ze względu na konieczność rycia w WinAPI.
firmy raczej korzystają z WPF
wcale nie jest trudniejsze, ale wymaga innego podejścia, ktoś po doświadczeniu z WinForms będzie miał problemy z WPF i będzie się dusił bo coś prostego zajmie mu dużo więcej czasu, zwłaszcza jeśli będzie się chciało trzymać modelu stricte MVVM
z drugiej strony ktoś kto już zna WPF, będzie to samo czuł odnośnie WinForms
przykładowo w WPF dowolna kontrolka może zawierać inne kontrolki, możesz je ustawiać obok siebie, animować i reagować w dowolny sposób, możesz do listboxa wstawić od razu całą kolekcję obiektów, od razu z ikonkami wyświetlającymi się na podstawie jednej z własności tego obiektu
w WinForms musiałbyś rysować wszystko samemu, albo stworzyć własną kontrolkę i stracić mnóstwo czasu żeby zachowywała się tak samo jak standardowa
w skrócie:
w WinForms dużo łatwiej zrobić łatwe rzeczy
w WPF dużo łatwiej zrobić trudne
zdecydowanie warto iść w stronę WPF
chyba że chcesz żeby Twoje aplikacje uruchamiały się na linuksie - bo MONO nie ma dla niego wsparcia