2009-11-16 6 views
9

Rozważam przejście z MFC na WPF.Przełączanie do WPF. Czy już czas?

Moim pierwszym zmartwieniem jest to, że jest zbyt wielu użytkowników, którzy nie mają jeszcze zainstalowanej platformy .NET z WPF. Czy ktoś może wskazać źródło zawierające numery penetracji WPF?

Moją drugą troską jest szybkość.

Wszelkie inne uwagi?

+7

Więc bóg Słońca używa Windowsa? Interesujące ... ;-) –

Odpowiedz

10

Od dłuższego czasu działam na WPF. Jest genialny, ale wciąż ma (sporadyczne) dziury, które musisz podłączyć. Jednak wszystkie wskazania są .NET 4.0 będzie znaczącym krokiem naprzód.

Powiedziałbym, że zacznij teraz. Krzywa uczenia się WPF jest NAPRAWDĘ bardzo stroma, a będzie trochę czasu, zanim wydasz oprogramowanie użytkownikom, uwierz mi. Zrób sobie przysługę i zdobądź książkę o wersji WPF Unleashed. Jest lepszy.

Prędkość nie jest brana pod uwagę. Moc WPF daje warta wszelkich wad z prędkością, która - pochodząc z Windows Forms - nie zauważyłem, aby być uczciwym.

7

Jakiego rodzaju aplikacji używasz? Jeśli jest to aplikacja komputerowa o szerokiej dystrybucji, którą chcesz zainstalować w swojej babce, Twoja obawa związana z adopcją .NET 3.0/3.5 jest ważna. Tak dalece, jak widziałem, wydajność nie stanowi problemu.

+3

Należy zauważyć, że Silverlight jest znacznie młodszy od WPF i nie jest preinstalowany na Vista, więc jego liczba przenikania prawdopodobnie będzie znacznie mniejsza niż WPF. Jeśli wysyłasz płytę CD, możesz dołączyć najnowszą wersję NET Framework i zainstalować ją automatycznie. Jeśli pobierasz, możesz łatwo zintegrować proces Windows Update z procedurą instalacji. W obu przypadkach Twoja babcia nie musi podejmować żadnych dodatkowych kroków, ponieważ korzystasz z WPF. –

+0

@Ray Jak można zintegrować proces Windows Update z procedurą instalacji? –

+0

@Ray True - strona riastatów nie jest tak dobrym wskaźnikiem, jak myślałem. –

7

WPF penetracji

Przede wszystkim, Windows   Vista i Windows 7 obie mają preinstalowany WPF, co stanowi 35% of the market automatycznie. Windows   XP miał go tak, jak miał .NET Framework 3.0 jako opcję w Windows Update przez ponad trzy lata, a wiele aplikacji jest dostarczanych razem z nim, więc prawdopodobnie będzie również zainstalowany na dużym procencie komputerów Windows  . StatOwl wskazuje, że about 80% instalacji NET Framework ma wersję 3 lub wyższą.

Jeśli wysyłka odbywa się na płycie CD, nie ma większego problemu, aby dołączyć najnowszą .NET Framework na CD i zainstalować ją automatycznie. Jeśli użytkownicy pobierają aplikację, może ona skontaktować się z serwerem Microsoft w celu pobrania i zainstalowania najnowszego .NET Framework. Wdrożenie ClickOnce online ma tę możliwość, jeśli chcesz, aby użytkownicy mogli uruchamiać aplikację bezpośrednio z poziomu przeglądarki internetowej bez jej instalowania.

Najważniejsze jest to, że prawdopodobnie nie musisz się martwić o to, czy ludzie będą mieli zainstalowane WPF na swoich maszynach, chyba że twój rynek docelowy składa się głównie z klientów telefonicznych w systemie Windows   XP, którzy nie działają zbyt wiele oprogramowanie stron trzecich (tj. po prostu uruchamiają system Windows i aplikację).

Prędkość

nie problem. Mam 200   MHz Pentium Pro z 384   MB pamięci RAM z 1998 r., W którym testuję moje oprogramowanie, a moje aplikacje WPF mają porównywalną wydajność z odpowiednimi aplikacjami MFC. Jeśli twoja aplikacja WPF korzysta z wielu fantazyjnych grafik i animacji, będzie działać wolno na starozytnych procesorach i kartach graficznych, ale tak samo jak zwykła aplikacja MFC z tymi samymi funkcjami.

3

Nawet nie próbuj używać WPF, jeśli trzymasz się Visual Studio 2008 przez następny rok lub dwa. Doświadczenie będzie zbyt bolesne.Mówię o rodzaju "mój IDE ponownie rozbił się" rodzaj bólu.

Jeśli zamierzasz używać VS 2010 w najbliższej przyszłości, to WPF jest świetnym rozwiązaniem. Pobierz wersję beta, kilka tematów z CodePlex, zacznij grać. Po przejściu przez (cholernie wielką) krzywą uczenia się uważam, że będzie to całkiem przyjemne.

3

IMHO, należy poczekać na Visual   Studio   2010 i WPF 4.0, aby przeprowadzić rzeczywistą migrację. Zamkną bardzo irytujące luki w produkcie.

Tymczasem możesz go wypróbować. Pod względem kodowania/czytelności - będzie to WAAAY lepsze niż z MFC =)

Jeśli chodzi o wydajność i platformę - nie powinno to stanowić problemu, chyba że masz jakieś szczególne okoliczności (np. 't wymagają użytkowników do zainstalowania .NET).

Zobacz te related question on switching to WPF from Windows Forms.

0

Jeśli myślisz o większej, modułowej aplikacji, polecam sprawdzenie numeru Prism. To trochę bestia, ale powinieneś być w stanie poradzić sobie z nią po opanowaniu C#, Dependency Properties i XAML. Dodatkowo, nauka Prism dała mi znacznie lepsze zrozumienie WPF/Silverlight, przynajmniej od strony tworzenia/wiązania.

Mike Taulty opublikował znakomitą 10-częściową serię filmów na temat Prism. To świetny sposób, aby rozkręcić głowę wokół platformy.

Polecam również strony powiązane ze stroną Getting Started w codeplex. Po tym wszystkim, prawdopodobnie jesteś gotowy, aby zająć się Referencyjną Implementacją, która pochodzi z pobierania.

A previous answer of mine może również pomóc wyjaśnić wszelkie pozostałe zamieszanie wokół kontrolerów/prezenterów w ramach, jaki mógłbyś mieć (zrobiłem).

Powiązane problemy