Przeczytałem większość głównych wątków na temat WPF vs. WinForms i utknąłem w niefortunnej ambiwalencji, w którą możesz wpaść, decydując się między wypróbowaną i prawdziwą poprzednią technologią (Winforms), a jej następcą (WPF).
Jestem wieloletnim doświadczonym programistą Delphi, który w końcu robi skok do C #. Moi koledzy programiści Delphi zrozumieją, że cieszę się, że Anders Hejlsberg, znany z Delphi, był architektem C #. Mam silne uzależnienie od niestandardowych komponentów VCL firmy Delphi, zwłaszcza tych, które są zaangażowane w tworzenie wieloetapowych kreatorów i komponentów, które działają jak pojemnik na komponenty potomne.
W tym kontekście mam nadzieję, że ci z was, którzy przeszli z Delphi na C #, mogą mi pomóc w mojej decyzji WinForms vs. WPF o napisaniu moich początkowych aplikacji. Uwaga: jestem bardzo niecierpliwy, gdy kodowanie i takie rzeczy, jak pełnoprawna autouzupełnianie i odpowiednia obsługa debuggera mogą dla mnie stworzyć lub zepsuć projekt, w tym możliwość znalezienia łatwo dostępnych informacji na temat funkcji API i wywołań, a tym bardziej obejścia błędów .
Wątki SO i komentarze z zakresu dat na początku 2009 r. Budzą moje obawy dotyczące WPF, jeśli chodzi o potencjalne frustracje, które mogłyby zakłócić moje kodowanie programowania C # UI. Z drugiej strony spędzanie nadmiernej ilości czasu na uczeniu się technologii API, która nawet, jeśli nie zostanie porzucona, wkrótce zostanie zastąpiona (WinForms), jest równie kłopotliwa i uważam, że obsługa GPU jest kusząca.
Stąd moja ambiwalencja. Ponieważ nie nauczyłem się jeszcze żadnej technologii, mam rzadką okazję, aby zacząć od nowa i nie muszę stawić czoła wielkiej krzywej „oduczania”, o której ludzie wspominali w różnych wątkach, gdy programista WinForms przechodzi na WPF. Z drugiej strony, jeśli korzystanie z WPF będzie po prostu zbyt frustrujące lub będzie miało inne poważne negatywne konsekwencje dla niecierpliwego programisty RAD, takiego jak ja, to po prostu pozostanę przy WinForms, dopóki WPF nie osiągnie tego samego poziomu wsparcia i łatwości użycia. Aby dać konkretny przykład mojej psychologii jako programisty, użyłem VB, a następnie Delphi, aby całkowicie uniknąć bardzo prawdziwego bólu związanego z kodowaniem za pomocą MFC, biblioteki interfejsu użytkownika systemu Windows, przez którą wielu programistów cierpiało podczas tworzenia wczesnych aplikacji Windows. Nigdy nie żałowałem, że udało mi się uniknąć MFC.
Byłoby również pocieszające wiedzieć, czy Anders Hejlsberg miał rękę w architekturze WPF i / lub WinForm, i czy istnieją jakiekolwiek różnice w twórczej wizji i łatwości użycia zawartych w którejkolwiek bazie kodu. Na koniec, dla programistów Delphi, daj mi znać, ile kosztuje „IDE schock”, gdy używam WPF w przeciwieństwie do WinForm, szczególnie jeśli chodzi o obsługę debuggera. Docenione zostaną również wszelkie komentarze rynku pracy zaktualizowane w 2011 r.