2009-08-04 11 views
8

Mam na myśli opracowanie aplikacji komputerowej w języku C#. Chociaż moim głównym celem będą okna, później spróbuję uruchomić aplikację na MacOS X i Linux. Czy mogę to zrobić dzisiaj, w prosty sposób? Jestem świadomy projektu mono, ale nie jest dla mnie jasne, czy mogę to zrobić w prosty sposób.Aplikacje na różne platformy z WPF

Jaka jest również relacja między WPF a Silverlight? AFAIK Silverlight stosuje model wtyczki podobny do Flash lub Java. Czy mogę rozwinąć moją aplikację na komputery z Silverlight i wdrożyć ją w systemach Windows, Linux i OS X bez większych zmian?

Wszelkie wskazówki będą mile widziane.

+0

Silverlight nie ma tak wiele wspólnego z WPF. WPF to framework do tworzenia aplikacji na komputery, Silverlight to wtyczka do przeglądarki, podobnie jak Flash. Aplikacje Silverlight można uruchamiać natywnie w systemach Windows i Mac OS X oraz w projekcie Mono's Moonlight w systemie Linux. –

+4

"Silverlight nie ma tak wiele wspólnego z WPF": Nie powiedziałbym, że ... mają wiele wspólnego! język XAML, model DependencyObject, większość kontrolek ... Istnieje kilka funkcji WPF, które nie są dostępne w Silverlight, a kilka funkcji Silverlight nie jest dostępnych w WPF, ale luka jest coraz mniejsza dzięki najnowszej wersji obu produktów –

+0

Thomas ma rację. Co więcej, Microsoft wyraźnie dąży do * konwergencji * ram WPF/Silverlight, aby z czasem były praktycznie w pełni kompatybilne. – Noldorin

Odpowiedz

7

Projekt Mono nie obsługuje jeszcze .Net 3 i WPF, a prawdopodobnie upłynie trochę czasu, zanim to nastąpi.

Silverlight może być wystarczający dla Twoich potrzeb. Od wersji Silverlight 3.0 można uruchomić program Silverlight poza przeglądarką, a nawet utworzyć skrót na pulpicie.

+2

NB: Moonlight obecnie tylko stabilnie obsługuje Silverlight 1.0 i ma tylko wersję pre-alpha 2.0. – supercheetah

+0

Nie mogę wdrażać aplikacji Silverlight 3 na Linuksie, prawda? –

+1

Mono obsługuje wiele funkcji .net 3.x, ale nie obsługuje WPF. – kenny

1

Program WPF służy do tworzenia aplikacji dla komputerów stacjonarnych pod numerem Tylko system Windows:. Obecnie nie są obsługiwane żadne inne platformy. Jeśli obsługa wielu platform jest koniecznością, możesz utworzyć aplikację opartą na przeglądarce i korzystać z Silverlight. Silverlight uruchamia aplikacje w przeglądarce, więc nie możesz użyć aplikacji "stacjonarnej".

+1

Możesz tworzyć aplikacje uruchamiane poza przeglądarką za pomocą Silverlight 3. Jednak są one nadal ograniczone przez sandbox Silverlight. –

1

Mono pracuje ciężko, aby upewnić się, że Silverlight działa na platformie (jak wspomniano w jednym z podcastów przepełnienia stosu). To wydaje się być dobrą drogą.

2

Ostatnio słyszałem, że projekt Mono nie ma planów wdrożenia WPF, ale pracują nad innymi funkcjami .NET 3.5, szczególnie LINQ i ASP.NET MVC. Problem z zaimplementowaniem WPF w Mono (poza rozmiarem i złożonością API) polega na tym, że w Windows używa DirectX do renderowania, więc implementacja Mono będzie wymagać użycia OpenGL. Zdecydowanie nie jest to banalne przedsięwzięcie.

Powiązane problemy