Znam rozwój asp.net i winform. Nie jestem typem programisty, który wskakuje do nowej technologii tylko dlatego, że jest nowa. Musi dać mi dodatkowe korzyści, takie jak wyższa produktywność.
Dla mojego zespołu, WPF okazał się znacznie szybszy niż WinForms do tworzenia aplikacji z. Niedawno wydaliśmy średniej wielkości aplikację w 32 dni robocze. Mieliśmy przewagę w zespole z doświadczonego programisty WPF i niedoświadczonych facetów, którzy chcieli poznać technologię. Było świetne morale, a produktywność imponująca.
WinForm jest dojrzałą, sprawdzoną technologią i podoba mi się fakt, że mogę zrobić wszystko w Visual Studio w porównaniu z wieloma IDE dla WPF (rodzina VS i Blend).
Czy uważasz się za programistę ręcznego czy kodera typu „przeciągnij i upuść”? Jeśli uważasz się za drag-and-dropper, to bieżące kadrowanie narzędzi WPF może nie być dla Ciebie odpowiednie. Może poczekaj na Visual Studio 2010? Pracuję prawie wyłącznie w języku XAML. Większość użytkowników WPF prawdopodobnie zgodzi się, że jest to obecnie najbardziej efektywny sposób tworzenia aplikacji WPF. Ale ja też ręcznie tworzę kod HTML, więc wydaje mi się to naturalne ...
Jakie są zalety WPF w porównaniu z Winforms w przypadku aplikacji czysto biznesowych? Nie interesują mnie dodatkowe przyjemności dla oczu, animacje, gradienty, efekty wyświetlania obrazu i tym podobne, które zapewnia WPF.
Kiedyś myślałem w ten sposób, ale niedawno opracowałem aplikację biznesową, która ma gradienty, podstawową animację i efekty. Te fantazyjne funkcje zostały dodane w celu zwiększenia komfortu użytkowania. Dlaczego aplikacje biznesowe powinny być Battleship Grey? Dlaczego miałyby być bezużyteczne? To prawda, że to nie kolor, gradienty, animacja sprawiają, że aplikacja biznesowa jest użyteczna, ale użycie tych efektów może pomóc użytkownikowi w odczuciu i to jest dla mnie ważne. Mogłem zrobić wszystko, co zrobiłem w aplikacji WPF w WinForms - zajęłoby to znacznie więcej czasu.
Lepsze bogatsze wiązanie danych?
Obsługa wiązania danych jest naprawdę niesamowita. To moja najbardziej lubiana funkcja na platformie. Sprawdź tę wspaniałą ściągawkę do wiązania danych .
Spróbuj przekonać kogoś takiego jak ja do zmiany.
Zdecydowałem, że nie zamierzam nikogo przekonywać do przejścia na WPF. Deweloperzy, których próbowałem "przekonać" (wszyscy doświadczeni programiści Winforms) zwykle borykali się z platformą. Nie inwestują w technologię. Oni tego nie rozumieją. Zachęcam ludzi do sprawdzenia technologii, aby przekonać się, czy jest ona odpowiednia dla nich jako programisty. Krzywa uczenia się jest ogromna. Jeśli uczysz się z książek, zapoznaj się z tym postem SO, aby uzyskać kilka mini-recenzji książek WPF. Jeśli uczysz się z filmów, obejrzyj filmy Windowsclient.net WPF . Jeśli uczysz się na przykładzie, sprawdź to lub toPoczta. Zapomnij o wszystkim, co wiesz o WinForms. WPF naprawdę wydaje się bliższy ASP niż WinForms. Utwórz przykładowe aplikacje. Sprawdź, czy to działa dla Ciebie i Twojego zespołu.
Ponieważ posiadasz wiele umiejętności (umiejętności asp.net/winform), możesz dostrzec zaletę zwiększania umiejętności w WPF, ponieważ jest ona bardzo blisko związana z Silverlight. Silverlight wypełnia tę lukę między bogatymi aplikacjami klienckimi a aplikacjami internetowymi.
Osobiście uważam, że WPF jest najlepszą technologią po stronie klienta dostępną dla platformy .NET i generalnie unikam programowania w WinForms do przyszłych prac. YMMV
Powodzenia w podjęciu decyzji.