Ten artykuł ma na celu promowanie wspólnego zrozumienia środowiska programistycznego i kierunku produktu systemu Windows.
Dzisiejszy krajobraz tworzenia aplikacji systemu Windows oferuje różne platformy i technologie do wyboru. Te często zadawane pytania zawierają wskazówki dotyczące sposobu decydowania o tym, która struktura ma być używana w projektach deweloperskich aplikacji systemu Windows. Omówiono w nim następujące tematy:
- Wprowadzenie i środowisko programistyczne aplikacji systemu Windows.
- Natywne tworzenie aplikacji tylko dla systemu Windows za pomocą narzędzi WinUI, Windows Presentation Foundation (WPF) i Windows Forms (WinForms).
- Zestaw Windows Software Development Kit (SDK) i zestaw SDK aplikacji systemu Windows.
- Określanie systemu Windows jako części strategii tworzenia aplikacji dla wielu platform.
- Tworzenie aplikacji hybrydowych i internetowych za pomocą platformy .NET MAUI, Blazor i ASP.NET Core.
- Jak wybrać podejście przy jednoczesnym zrozumieniu inwestycji firmy Microsoft.
Środowisko programistyczne aplikacji systemu Windows
Gdzie można znaleźć proste omówienie technologii programowania systemu Windows?
Aby zapoznać się z doskonałym przeglądem dzisiejszych opcji dla deweloperów systemu Windows, obejrzyj najnowsze odcinek czatu deweloperskiego systemu Windows, Wybór idealnej platformy deweloperskiej, gdzie omawiają winUI, .NET MAUI, React Native, Blazor i Progressive Web Apps (PWA).
Możesz również zapoznać się z omówieniem opcji tworzenia aplikacji dla deweloperów systemu Windows.
Dlaczego opracowywanie aplikacji klienckich nadal ma kluczowe znaczenie dla nowoczesnej transformacji cyfrowej w erze usług w chmurze?
W czasach usług w chmurze programowanie aplikacji klienckich pozostaje kluczowym składnikiem nowoczesnej transformacji cyfrowej. W przypadku deweloperów tworzenie aplikacji klienckich jest niezbędne nie tylko do osiągnięcia, ale także do zapewniania dynamicznych, znaczących interakcji na urządzeniach użytkowników.
Oto dlaczego aplikacje klienckie nadal mają znaczenie:
- Device Reach: Dzięki ponad 1,5 miliarda urządzeń z systemem Windows i ponad 5 miliardów urządzeń z systemem Android i iOS na całym świecie aplikacje klienckie umożliwiają bezpośrednie przenoszenie aplikacji do użytkowników na ich urządzeniach.
- Gateway to Intelligent Services: aplikacje klienckie często są pierwszymi użytkownikami interakcji z usługami. Oferują one bogaty, interaktywny interfejs, który umożliwia prezentowanie inteligentnych funkcji i odróżnienie produktu od innych.
- skalowalność z integracją z chmurą: Dobrze zintegrowana aplikacja kliencka może bezproblemowo synchronizować się z usługami w chmurze zaplecza, umożliwiając dostęp do danych w czasie rzeczywistym i bezproblemową skalowalność w miarę wzrostu bazy użytkowników.
- zwiększonej produktywności i lojalności użytkowników: Przemyślana aplikacja może zwiększyć produktywność i zapewnić użytkownikom zaangażowanie w produkt lub usługę w czasie.
Programowanie aplikacji tylko dla systemu Windows
Co to jest zestaw SDK aplikacji systemu Windows?
Zestaw SDK aplikacji systemu Windows to platforma dewelopera aplikacji systemu Windows, która umożliwia tworzenie pięknych, nowoczesnych, wstecznych aplikacji (w dół do aplikacji klasycznych systemu Windows 10 1809). WinUI 3 to struktura interfejsu użytkownika dostarczana z zestawem SDK aplikacji systemu Windows.
Jaka jest różnica między zestawem SDK aplikacji systemu Windows i zestawem Windows SDK?
Oba są zestawami SDK (software development kit), które umożliwiają tworzenie aplikacji systemu Windows.
windows SDK to platforma programistyczny umożliwiająca tworzenie aplikacji platformy uniwersalnej systemu Windows i aplikacji Win32/desktop. Jest on przeznaczony dla interfejsów API systemu Windows, które są powiązane z określonymi wersjami systemu operacyjnego.
Zestaw SDK aplikacji systemu Windows nie zastępuje zestawu Windows SDK. Zamiast tego zestaw SDK aplikacji systemu Windows stanowi uzupełnienie zestawu Windows SDK. Zapewnia wygodną abstrakcję systemu operacyjnego w rozbudowanym katalogu interfejsów API systemu operacyjnego Windows, do których można już uzyskać dostęp przy użyciu zestawu Windows SDK. Podczas tworzenia aplikacji przy użyciu zestawu SDK aplikacji systemu Windows może się skończyć korzystanie z niektórych interfejsów API zestawu Windows SDK w zależności od potrzebnych funkcji. Z biegiem czasu więcej funkcji zestawu Windows SDK zostanie zniesionych do zestawu SDK aplikacji systemu Windows.
Kompiluję nowy zespół do tworzenia aplikacji tylko dla systemu Windows. Dlaczego należy wybrać programowanie za pomocą natywnej platformy systemu Windows, takiej jak WinUI, WPF lub WinForms?
Oto kilka powodów, dla których należy wybrać natywną strukturę systemu Windows dla aplikacji tylko dla systemu Windows:
- wydajność: natywnych platform systemu Windows są zoptymalizowane pod kątem wykorzystania pełnej mocy dzisiejszego sprzętu systemu Windows i zapewnienia szybkich i dynamicznych środowisk użytkownika.
- Integracja: system Windows jest dostarczany z szeroką gamą interfejsów API w celu tworzenia zaawansowanych środowisk dostępnych tylko w systemie Windows. Struktury natywne zapewniają głęboką integrację z tymi funkcjami i interfejsami API.
- Natywne środowisko użytkownika: Natywne struktury systemu Windows zapewniają spójne środowisko użytkownika na urządzeniach z systemem Windows, zapewniając, że aplikacja wygląda i działa świetnie na wszystkich urządzeniach z systemem Windows.
- obsługa trybu offline: natywnych platform systemu Windows zapewniają obsługę scenariuszy trybu offline, umożliwiając aplikacji pracę nawet wtedy, gdy użytkownik nie jest połączony z Internetem.
- Monetization: Natywne struktury systemu Windows są aktywnie obsługiwane i obsługiwane przez firmę Microsoft, zapewniając dostęp do najnowszych aktualizacji i funkcji.
Której platformy należy używać do korzystania z najnowszych inwestycji firmy Microsoft w tworzenie aplikacji systemu Windows?
Jeśli tworzysz nową aplikację tylko dla systemu Windows, zalecamy użycie interfejsu WinUI. WinUI to najnowsza natywna struktura interfejsu użytkownika do tworzenia aplikacji systemu Windows i jest przeznaczona do pracy na wielu różnych urządzeniach z systemem Windows. WinUI udostępnia nowoczesną i elastyczną strukturę interfejsu użytkownika, która umożliwia tworzenie atrakcyjnych wizualnie i interaktywnych aplikacji systemu Windows. WinUI jest częścią zestawu SDK aplikacji systemu Windows i został zaprojektowany tak, aby działał najlepiej z najnowszymi wersjami systemu Windows.
Czy mogę używać zestawu SDK aplikacji systemu Windows/winUI w mojej istniejącej aplikacji systemu Windows?
Należy pamiętać, że WinUI (struktura interfejsu użytkownika) jest dostarczana z zestawem Windows App SDK (platforma deweloperska platformy Windows).
Mówiąc ogólnie, nie można używać interfejsu WinUI, chyba że wszystko będzie gotowe do migracji struktury interfejsu użytkownika. Pracujemy nad funkcją o nazwie wysp XAML, która umożliwia hostowanie zawartości WinUI w innych strukturach interfejsu użytkownika (WPF, Win32).
W zależności od sposobu skompilowania istniejącej aplikacji powinno być możliwe użycie elementów zestawu SDK aplikacji systemu Windows w dowolnej aplikacji klasycznej. Aplikacje platformy UNIWERSALNEJ systemu Windows nie są obsługiwane przez zestaw SDK aplikacji systemu Windows.
Oznacza to, że aplikacje WPF/MFC/WinForms mogą używać interfejsów API zestawu SDK aplikacji systemu Windows, które nie są powiązane z interfejsem WinUI. Przykłady takich interfejsów API obejmują cykl życia aplikacji, okna i wyskakujące powiadomienia.
Aby uzyskać więcej informacji, zobacz Use the Windows App SDK in an existing project (Używanie zestawu SDK aplikacji systemu Windows w istniejącym projekcie).
Czy muszę używać programu Visual Studio do tworzenia aplikacji WinUI?
Zdecydowanie zalecamy używanie programu Visual Studio 2022 w wersji 17.10 lub nowszej do tworzenia aplikacji WinUI. Korzystanie z najnowszej wersji programu Visual Studio zapewnia dostęp do zaawansowanych funkcji programistycznych, takich jak hot reload. Najnowsze instalatory programu Visual Studio obejmują obciążenie tworzenie aplikacji systemu Windows, co ułatwia rozpoczęcie opracowywania aplikacji WinUI.
Możesz użyć innych przepływów pracy programowania i środowisk IDE, ale program Visual Studio jest obecnie jedynym oficjalnie obsługiwanym środowiskiem IDE dla środowiska WinUI. Należy pamiętać, że MSBuild jest wymagany do kompilowania projektów korzystających z języka XAML lub WinUI.
Czy podczas kompilowania aplikacji przy użyciu zestawu SDK aplikacji systemu Windows i interfejsu WinUI 3 kompiluję "aplikację WinUI"?
Tak — "Aplikacja WinUI" to termin, którego zalecamy użyć. Aplikacje WinUI 3 są zwykle określane jako "Aplikacje WinUI", ponieważ WinUI 2 nie jest typem aplikacji, ale zestawem składników, które mogą być używane w aplikacjach platformy UWP.
Czy można przyrostowo zaktualizować moją aplikację platformy UWP za pomocą kontrolek WinUI 2 do winUI 3, stopniowo zastępując składniki WinUI 2 składnikami WinUI 3?
Nie. Nie można używać zestawu SDK aplikacji systemu Windows w aplikacjach platformy UWP, a interfejs WinUI 2 nie może być mieszany z interfejsem WinUI 3. Zobacz Migrate from UWP to the Windows App SDK.
Jak trudno jest migrować aplikację platformy UWP do systemu WinUI?
Migrowanie składników interfejsu użytkownika jest ogólnie proste (w przypadku języka C# i C++/WinRT). W przeciwnym razie koszt migracji z platformy UWP do systemu WinUI będzie zależeć przede wszystkim od następujących czynników:
- plik projektu i dostosowywanie msBuild: Migrowanie projektu może wymagać znacznego nakładu pracy, w zależności od tego, czy używasz zaawansowanych funkcji msBuild.
- migracja interfejsu API platformy .NET: Jeśli aplikacja platformy UWP korzysta z platformy .NET, należy przeprowadzić uaktualnienie do platformy .NET 6 lub nowszej. W większości przypadków wdrażanie platformy .NET 6 jest proste.
- biblioteki składników interfejsu użytkownika: Jeśli używasz bibliotek składników interfejsu użytkownika, potrzebne będą nowe wersje tych bibliotek, które są przeznaczone dla interfejsu WinUI 3.
- Jeśli kod źródłowy platformy UWP jest napisany w zastąpionym teraz języku C++/CX, niektóre przenoszenie kodu źródłowego będzie używane. Zobacz Move to C++/WinRT from C++/CX.
Aby uzyskać więcej informacji na temat migracji platformy UWP, zobacz Migrate from UWP to the Windows App SDK.
Jeśli mam istniejącą aplikację platformy UWP w Sklepie, czy mogę opublikować nową spakowana aplikację WinUI przy użyciu tych samych identyfikatorów?
Tak, uaktualnione aplikacje można publikować bez konieczności aktualizowania tożsamości aplikacji. Użytkownicy, którzy mają starą wersję, zostaną zaktualizowani do nowej wersji. Te wskazówki dotyczą tylko aplikacji klasycznych. Aplikacje Xbox, HoloLens i Surface Hub nie mogą migrować do systemu WinUI.
Jak mogę spakować/dystrybuować moją aplikację WinUI?
Zobacz
Gdzie można znaleźć wskazówki dotyczące migracji zestawu SDK aplikacji systemu Windows?
Czy muszę używać znaczników XAML, jeśli chcę używać interfejsu WinUI?
Nie. Kontrolki interfejsu użytkownika można tworzyć w kodzie. Istnieje jednak wiele korzyści związanych z reprezentowaniem interfejsu użytkownika WinUI w postaci deklaratywnego znaczników XAML, takich jak ulepszone środowisko deweloperskie.
Jeśli przeprowadzasz migrację z platformy UWP do systemu WinUI, prawdopodobnie będziesz mieć możliwość ponownego użycia wielu znaczników XAML i kodu związanego z interfejsem użytkownika (ale trzeba będzie zaktualizować część składni). Jeśli przeprowadzasz migrację z platformy WPF do winUI, będziesz w stanie ponownie użyć wielu pojęć, ale zestaw kontrolek i interfejsy API będą inne.
Czy program Visual Studio ma projektanta powierzchni projektowej/interfejsu użytkownika dla interfejsu użytkownika WinUI?
Jeszcze nie. Zdajemy sobie sprawę, że jest to luka w środowisku deweloperów WinUI. Narzędzia takie jak przeładowywanie kodu XAML na gorąco mogą pomóc w wielu scenariuszach. Praca rozpoczęła w projektancie interfejsu użytkownika programu Visual Studio dla systemu WinUI w zestawie SDK aplikacji systemu Windows w wersji 1.7, ale nie ma jeszcze osi czasu wydania tej funkcji.
Czy zestaw SDK aplikacji systemu Windows obejmuje interfejs WinUI 3?
Tak. Usługa WinUI 3 jest dostarczana jako część zestawu SDK aplikacji systemu Windows.
Czy zestaw SDK aplikacji systemu Windows obejmuje interfejs WinUI 2?
Nie. WinUI 2 jest częścią platformy UWP.
Czy winUI 2 i WinUI 3 są oparte na tej samej technologii?
Prawie. Mimo że platforma WinUI 3 została uruchomiona z bazy kodu WinUI 2, są to odrębne technologie. Zarówno WinUI 2, jak i WinUI 3 to struktury interfejsu użytkownika oparte na języku XAML, które działają na platformie .NET i W języku C++. Należy pamiętać, że interfejsy WinUI 2 i WinUI 3 nie są ze sobą zgodne.
Czy mogę używać interfejsu WinUI 3 bez korzystania z zestawu SDK aplikacji systemu Windows?
Nie. Pakiet WinUI 3 jest dostarczany jako część zestawu SDK aplikacji systemu Windows.
Czy mogę używać interfejsu WinUI 3 w niezapakowanej aplikacji?
Tak. Wszystkie technologie w zestawie SDK aplikacji systemu Windows działają w rozpakowanych aplikacjach, w tym WinUI 3.
Jaka jest różnica między wyspami XAML i WinUI 3?
Wyspy XAML umożliwiają hostowanie nowoczesnych kontrolek WinUI obok istniejącego interfejsu użytkownika Win32 z innych platform, takich jak WinForms i WPF. Obecnie wyspy XAML są obsługiwane za pomocą większości kontrolek XAML i WinUI 2 systemu. Aby uzyskać więcej informacji, zobacz hostowanie kontrolek XAML w aplikacjach klasycznych (wysp XAML). Obsługa kontrolek WinUI 3 na wyspach XAML jest dostępna od zestawu Windows App SDK 1.4.
Jeśli utworzym aplikację WinUI, będzie ona wyglądać nowoczesne zarówno w systemach Windows 11, jak i Windows 10?
Tak, interfejs użytkownika aplikacji będzie dziedziczyć najnowsze zasady projektowania interfejsu użytkownika Fluent we wszystkich obsługiwanych wersjach systemów Windows 11 i Windows 10 w wersji 1809 zarówno w scenariuszach spakowanych, jak i rozpakowanych.
Czy mogę używać tła mica lub akrylowego w aplikacjach utworzonych za pomocą zestawu SDK aplikacji systemu Windows?
Tak. Zobacz Stosowanie materiałów mikrofonowych lub akrylowych w aplikacjach klasycznych dla systemu Windows 11.
Gdzie można znaleźć przykłady winUI?
Zobacz Przykład i zasoby. Niektóre istotne repozytoria:
- windowsAppSDK-Samples: pokazuje, jak używać określonych zestawów interfejsów API zestawu SDK aplikacji systemu Windows.
- pokazy WinUI 3: zawiera pokazy używane podczas prezentacji WinUI firmy Microsoft.
- z galerii WinUI: prezentuje zestaw SDK winUI i aplikacji systemu Windows. Możesz również uzyskać galerię WinUI w sklepie Microsoft Store.
Jeśli mam już zainwestowane mocno w WPF, czy nadal używać WPF lub powinienem rozważyć migrację do WinUI?
Jeśli zainwestowano już w WPF, możesz nadal używać platformy WPF dla istniejących aplikacji. WPF to dojrzała i stabilna struktura, która jest powszechnie używana przez deweloperów do tworzenia aplikacji klasycznych systemu Windows.
Rozważ wykorzystanie .NET Upgrade Assistant w celu przeprowadzenia migracji aplikacji WPF programu .NET Framework do najnowszej platformy .NET. Asystent uaktualniania platformy .NET to narzędzie, które ułatwia migrowanie aplikacji .NET Framework do najnowszych obsługiwanych wersji platformy .NET. Asystent uaktualniania platformy .NET analizuje istniejącą bazę kodu i zawiera wskazówki dotyczące sposobu aktualizowania kodu.
Jeśli skompiluję nową aplikację WPF, będzie ona wyglądać z datą w porównaniu z innymi nowymi aplikacjami systemu Windows?
Podczas tworzenia aplikacji WPF za pomocą platformy .NET 9 lub nowszej możesz upewnić się, że aplikacja jest zgodna z eleganckim, nowoczesnym wyglądem systemu Windows 11. Nowy motyw Fluent dla WPF wprowadza współczesną estetykę systemu Windows 11 do aplikacji WPF, wraz ze zintegrowanym trybem jasnym/ciemnym i obsługą kolorów akcentu systemu. Ta aktualizacja nie tylko modernizuje wygląd aplikacji, ale także zwiększa zaangażowanie użytkowników, zapewniając dopracowane i spójnie środowisko użytkownika.
Mój zespół jest wygodny w tworzeniu aplikacji WinForms i odpowiada naszym potrzebom. Czy powinniśmy rozważyć migrację do systemu WinUI lub innej platformy?
Jeśli Twój zespół dobrze kompiluje aplikacje WinForms i WindForms spełnia Twoje potrzeby, możesz nadal używać formularzy WinForms dla istniejących aplikacji. WinForms to dojrzała i stabilna struktura, która jest powszechnie używana przez deweloperów do tworzenia aplikacji klasycznych systemu Windows.
Zespół WinForms inwestuje w funkcje i ma aktywną społeczność współautorów. Niektóre bieżące obszary inwestycji obejmują:
- Obsługa asynchronicznego z typowymi kontrolkami
- Tryb ciemny
- Elastyczność układu
- Funkcje zabezpieczeń pulpitu, takie jak dostęp do schowka
Programowanie natywne dla wielu platform
Jakie są przyczyny tworzenia aplikacji natywnych dla wielu platform przeznaczonych dla systemu Windows?
Jeśli kierujesz użytkowników na wiele platform systemu operacyjnego, tworzenie aplikacji międzyplatformowych za pomocą platformy .NET MAUI lub React Native może zapewnić kilka korzyści:
- Reach: Tworzenie aplikacji międzyplatformowych umożliwia dotarcie do większej liczby użytkowników na różnych platformach.
- Ponowne użycie kodu: Tworzenie aplikacji międzyplatformowych umożliwia ponowne użycie kodu na różnych platformach, skracając czas programowania i koszty. Tworzenie oddzielnych aplikacji dla systemów Windows, iOS, Android, macOS itp. może być zbyt kosztowne.
- spójne środowisko użytkownika: Tworzenie aplikacji międzyplatformowych umożliwia zapewnienie spójnego środowiska użytkownika na różnych platformach, zapewniając, że aplikacja wygląda i działa świetnie na wszystkich urządzeniach.
- Integracja: Tworzenie aplikacji międzyplatformowych umożliwia integrację z różnymi platformami i usługami, co umożliwia zapewnienie bardziej kompleksowego środowiska użytkownika.
Czy mogę mieć pewność, że aplikacje .NET MAUI będą działać dobrze w systemie Windows?
Podczas tworzenia aplikacji .NET MAUI dla systemu Windowsdane wyjściowe są aplikacją WinUI. Podczas opracowywania program .NET MAUI zapewnia pojedyncze środowisko .NET na wszystkich platformach, w tym windows, ale pod maską, generuje kod specyficzny dla platformy. Dzięki temu aplikacja .NET MAUI działa dobrze na każdej platformie i zapewnia natywne środowisko użytkownika.
Jak platforma .NET MAUI zapewnia natywne interfejsy API urządzeń na każdej platformie?
Program .NET MAUI zapewnia jedno środowisko platformy .NET na wszystkich platformach, w tym windows, iOS, Android i macOS. Interfejsy API specyficzne dla platformy .NET są abstrakcją ponad 60 interfejsów API specyficznych dla platformy w jednym wieloplatformowym interfejsie API, którego można używać w aplikacji .NET MAUI. Te interfejsy API obejmują dostęp do magazynu, sieci, czujników specyficznych dla urządzenia i nie tylko. W razie potrzeby można również uzyskać dostęp do dodatkowych interfejsów API specyficznych dla platformy przy użyciu iniekcji zależności w celu abstrakcji kodu dla każdej platformy.
Czy mogę zacząć od winUI, a później zintegrować program .NET MAUI, jeśli w końcu chcę kierować scenariusze międzyplatformowe?
Nie w tej chwili. Mimo że aplikacje .NET MAUI używają interfejsu WinUI podczas uruchamiania w systemie Windows, zalecamy rozpoczęcie od platformy .NET MAUI lub React Native for Desktop, jeśli przewidujesz potrzebę kierowania na wiele platform.
Nasz zespół ma silne umiejętności programistyczne frontonu internetowego. Czy powinniśmy rozważyć użycie oprogramowania React Native dla programu Desktop?
Jeśli twój zespół ma silne umiejętności w zakresie tworzenia aplikacji internetowych, warto rozważyć użycie oprogramowania React Native for Desktop. Platforma React Native for Desktop obejmuje platformy React Native dla systemu Windows i platformy systemu macOS. Motto react native to "Learn once, write anywhere", co oznacza, że możesz użyć istniejących umiejętności tworzenia aplikacji internetowych do tworzenia natywnych aplikacji systemu Windows przy użyciu platformy React Native. React Native for Desktop to projekt open source, który umożliwia tworzenie natywnych aplikacji systemu Windows i macOS przy użyciu oprogramowania React Native. Platforma React Native for Desktop udostępnia zestaw interfejsów API, które umożliwiają dostęp do funkcji i możliwości systemu operacyjnego dla komputerów stacjonarnych w aplikacjach natywnych platformy React.
Twój zespół może wykorzystać swoje umiejętności języka JavaScript, TypeScript i React do tworzenia warstwy interfejsu użytkownika, która jest renderowana bezpośrednio z natywnymi elementami pierwotnymi. Zapewnia to natywną wydajność aplikacji i dostęp do możliwości platformy natywnej.
Dowiedz się więcej na temat rozpoczynania pracy z programowaniem oprogramowania React Native dla systemu Windows w dokumentacji React Native for Desktop.
Czy inne urządzenia z systemem Windows są obsługiwane przez platformę React Native for Desktop?
Aplikacje React Native można wdrażać na wszystkich urządzeniach obsługiwanych przez system Windows 10 i nowszych, w tym na komputerach, tabletach, 2-w-1, konsolach Xbox i urządzeniach rzeczywistości mieszanej.
Co należy użyć, jeśli chcę tworzyć aplikacje działające w systemach Windows i Xbox?
Jeśli aplikacja musi obsługiwać konsolę Xbox, holoLens lub IoT, zalecamy korzystanie z platformy UWP. Zestaw SDK aplikacji systemu Windows nie obsługuje tych platform. W przypadku tworzenia gier zalecamy użycie zestawu Microsoft Game Development Kit .
Czego należy użyć, jeśli chcę tworzyć aplikacje działające w systemach Windows i Surface Hub?
Jeśli używasz zarówno systemu Windows, jak i urządzenia Surface Hub, zalecamy korzystanie z platformy UWP.
Programowanie hybrydowe i internetowe
Co to są aplikacje hybrydowe i dlaczego należy rozważyć utworzenie aplikacji?
Aplikacje hybrydowe łączą najlepsze rozwiązania dotyczące tworzenia aplikacji internetowych i natywnych. Podstawą aplikacji są technologie internetowe, takie jak HTML, CSS i JavaScript, a następnie opakowane w natywny kontener, który umożliwia aplikacji korzystanie z niektórych natywnych funkcji platformy i sprzętu. Można je również dystrybuować za pośrednictwem sklepów z aplikacjami.
Główną zaletą aplikacji hybrydowych jest to, że umożliwiają one tworzenie pojedynczej aplikacji, która może działać na wielu platformach natywnych i w Internecie, skracając czas programowania i koszty. Oto kilka przykładów odpowiedzi na platformy tworzenia aplikacji hybrydowych:
- Electron dla aplikacji klasycznych
- Ionic dla aplikacji mobilnych
- Hybrydowa platforma .NET MAUI Blazor dla aplikacji międzyplatformowych
Jak tworzyć progresywne aplikacje internetowe (PWA) z natywnym uczuciem w systemie Windows?
Zobacz artykuły
Co to jest hybrydowa aplikacja platformy .NET MAUI Blazor?
Za pomocą programu .NET MAUI aplikacje Platformy Blazor mogą być również uruchamiane natywnie w systemach Windows, iOS, Android i macOS. Oznacza to, że można tworzyć hybrydowe aplikacje klienckie łączące składniki Blazor i .NET MAUI w jedną natywną aplikację kliencką. Zapewnia to pełny dostęp do tych samych natywnych funkcji platformy dostępnych dla innych aplikacji .NET MAUI.
Aby dowiedzieć się więcej na temat sposobu hostowania platformy Blazor w aplikacji .NET MAUI, zobacz ASP.NET Core Blazor Hybrid.
Czy składniki internetowe aplikacji hybrydowej .NET MAUI muszą zostać utworzone za pomocą platformy Blazor?
Nie, składniki internetowe aplikacji hybrydowej .NET MAUI nie muszą być tworzone za pomocą platformy Blazor. Począwszy od platformy .NET 9, program .NET MAUI udostępnia kontrolkę HybridWebView, która umożliwia hostowanie innych interfejsów użytkownika języka JavaScript w aplikacji natywnej.
Oznacza to, że możesz pobrać aplikację internetową Angular, React, Vue lub inne & HTML w języku JavaScript i hostować ją w aplikacji .NET MAUI. Kontrolka hybrydowa zapewnia współdziałanie między warstwami języka C# i JavaScript, dzięki czemu można wywoływać funkcje języka JavaScript z języka C# i na odwrót.
Czy inne typy aplikacji natywnych mogą hostować składniki hybrydowe platformy Blazor?
Tak, aplikacje WPF i WinForms mogą również hostować składniki hybrydowe platformy Blazor. Dzięki temu można dodawać nowoczesne składniki internetowego interfejsu użytkownika do istniejących aplikacji WPF i WinForms. Należy pamiętać, że nie jest to możliwe w przypadku aplikacji WPF lub WinForms utworzonych na platformie .NET Framework.
Czy cała moja aplikacja musi być aplikacją hybrydową lub czy mogę mieszać i dopasowywać składniki natywne i hybrydowe?
Możesz mieszać i dopasowywać składniki natywne i hybrydowe w aplikacji. Na przykład możesz skompilować rdzeń aplikacji przy użyciu składników MAUI platformy .NET, a następnie dodać składniki hybrydowe, aby zapewnić dodatkowe funkcje. Pozwala to wykorzystać najlepsze z obu światów: wydajność i możliwości składników natywnych oraz elastyczność i oszczędności kosztów składników hybrydowych.
Jakie są moje wybory do utworzenia obiektu . Aplikacje internetowe oparte na platformie NET, które wyglądają świetnie w nowoczesnych przeglądarkach w systemie Windows?
Aplikacje internetowe mają najszerszy zasięg dowolnej platformy aplikacji klienckiej. Jeśli chcesz utworzyć piękne aplikacje internetowe platformy .NET w systemie Windows, masz kilka opcji:
- ASP.NET Core aplikacji ze stronami Razor
- aplikacje ASP.NET Core MVC
- ASP.NET aplikacje Platformy Blazor z opcjami modelu hostingu, w tym:
- Aplikacje zestawu WebAssembly platformy Blazor
- Aplikacje serwera Blazor
Należy pamiętać, że model hostingu dla platformy Blazor można teraz skonfigurować na poziomie składnika. W związku z tym możesz mieć składnik Zestawu WebAssembly platformy Blazor hostowany w aplikacji serwera Blazor.
Przeczytaj więcej na temat opcji programowania ASP.NET Core w dokumentacji
Wybieranie podejścia i zrozumienie inwestycji firmy Microsoft
Istnieje tak wiele opcji platformy do tworzenia aplikacji przeznaczonych dla systemu Windows. Jak mogę zdecydować?
Windows to otwarta platforma, która obsługuje wiele technologii. Poniżej przedstawiono kilka kryteriów, które mogą pomóc w podjęciu decyzji o tym, która platforma ma być używana:
- Czy tworzysz system Windows jako pierwszy lub międzyplatformowy?
- Czy masz doświadczenie z platformą .NET? JavaScript? Inne języki?
- Czy musisz uzyskać dostęp do interfejsów API specyficznych dla systemu Windows?
- Które możliwości platformy najlepiej odpowiadają wymaganiom aplikacji?
- Zobacz tej tabeli innych czynników decyzyjnych.
Jeśli chodzi o aplikacje biznesowe, większość zespołów chce wybrać na podstawie istniejących umiejętności i tego, z czego korzysta zespół.
Jak wybrać najlepsze podejście programistyczne dla mojej aplikacji internetowej?
Niektóre kwestie, które należy wziąć pod uwagę podczas wybierania podejścia programistycznego dla aplikacji internetowej, obejmują:
- Zaleca się tworzenie aplikacji internetowych frontonu za pomocą platformy .NET. Korzystając z platformy Blazor, możesz teraz tworzyć cały fronton i zaplecze przy użyciu platformy .NET, co pozwala zaoszczędzić czas i pieniądze. Jest ona szczególnie odpowiednia dla aplikacji biznesowych dla przedsiębiorstw na dzisiejszych urządzeniach.
- Aplikacje internetowe w języku JavaScript nadal mają sens, jeśli chcesz wykorzystać istniejące umiejętności lub inwestycje zespołu w języku JavaScript lub w razie potrzeby integracji z istniejącymi bibliotekami lub strukturami Języka JavaScript.
- Istniejące aplikacje korzystające ze starszych struktur, takich jak Web Forms, MVC lub Razor Pages, są nadal obsługiwane i mogą być nadal opracowywane i obsługiwane przy użyciu tych struktur.
Kto obecnie tworzy aplikacje za pomocą interfejsu WinUI?
Wielu klientów tworzy obecnie rozwiązania WinUI, w tym Adobe i Apple:
- Adobe Fresco, bezpłatną aplikację do rysowania i malowania dla systemu Windows.
- Firma Apple utworzyła aplikacje Apple Music, apple TVi urządzenia apple devices za pomocą interfejsu WinUI i zestawu SDK aplikacji systemu Windows.
Firma Microsoft utworzyła również kilka aplikacji z pakietem WinUI, w tym aplikacjami Eksplorator plików i Zdjęcia systemu Windows 11.
Kto obecnie tworzy aplikacje MAUI platformy .NET?
Wielu klientów korzysta obecnie z interfejsu MAUI platformy .NET do tworzenia aplikacji międzyplatformowych, w tym firmy Microsoft. Na przykład aplikacja mobilna platformy Microsoft Azure
Dowiedz się, kto jeszcze tworzy aplikacje za pomocą programu .NET MAUI w witrynie .NET, prezentuje witrynę.
Kto obecnie tworzy aplikacje WPF?
Większość interfejsu użytkownika programu Microsoft Visual Studio jest kompilowana przy użyciu platformy WPF. Visual Studio IDE to doskonały przykład złożonej, wysokiej wydajności aplikacji WPF.
Kto obecnie tworzy aplikacje blazor?
Ge Digital FlightPulse system linii lotniczych stawia dane czujników i analizy w ręce pilotów w celu poprawy bezpieczeństwa i wydajności. Konfiguracja zaplecza wszystkiego, co widzą piloci, jest wykonywana z platformą Blazor.
Więcej informacji o klientach platformy Blazor można w witrynie platformy .NET.
UwP i WinUI 2
Czy aplikacje platformy UNIWERSALNEJ systemu Windows mogą być dystrybuowane poza sklepem Microsoft Store?
Tak. Jeśli pakiet MSIX jest podpisany, certyfikat podpisywania musi być prawidłowy i zaufany na urządzeniu docelowym.
Czy można mieszać kontrolki interfejsu użytkownika XAML platformy UWP z kontrolkami interfejsu użytkownika Win32, WPF lub WinForms?
Tak — można to zrobić na wyspach XAML. dowiedz się więcej o wyspach XAML.
Pakowanie, wdrażanie i aktualizacje
Jaka jest różnica między aplikacjami spakowanym, rozpakowanym i spakowanym z lokalizacją zewnętrzną?
Aby zapoznać się z definicjami aplikacji spakowanych, rozpakowanych i spakowanych z lokalizacją zewnętrzną, zobacz Deployment overview. W tym temacie wyjaśniono również zalety i wady każdej opcji.
Czy moja aplikacja WinUI zostanie automatycznie zaktualizowana dla użytkowników końcowych?
Aplikację WinUI można dostarczyć za pośrednictwem Sklepu, pliku appinstaller lub istniejącego pakietu MSI lub setup.exe. Sklep i program AppInstaller obsługują automatyczne aktualizacje dla użytkowników końcowych, którzy mają włączoną automatyczną aktualizację, ale aplikacja MSI/setup.exe musi mieć własny aktualizator.
Czy mogę używać zestawu SDK aplikacji systemu Windows bez korzystania z programu MSBuild?
Ogólnie rzecz biorąc, nie. Zestaw WINUI i zestaw SDK aplikacji systemu Windows wymagają MSBuild, dlatego program Visual Studio jest wymaganiem wstępnym do programowania przy użyciu interfejsu WinUI i zestawu SDK aplikacji systemu Windows. Chociaż technicznie można tworzyć aplikacje zestawu SDK aplikacji systemu Windows, które nie używają interfejsu WinUI przy użyciu innych łańcuchów narzędzi, nie jest to obsługiwane.
Wydajność i optymalizacja
Co mogę zrobić, aby aplikacja systemu Windows czuła się świetnie dla użytkowników końcowych?
Zobacz Make apps great for Windows.
Zgodność
Czy moi użytkownicy będą musieli kiedykolwiek zaktualizować system Windows, aby korzystał z mojej aplikacji WinUI?
Użytkownicy z systemem Windows 10 w wersji 1809 lub nowszej będą mogli instalować aplikacje WinUI bez aktualizowania systemu operacyjnego.
Czy mogę kierować aplikację Arm64 do mojej aplikacji WinUI?
Tak.
Wycofywanie i migracje
Czy platforma UWP/WinUI 2 jest przestarzała?
Nie. Platformy UWP i WinUI 2 są nadal obsługiwane i będą otrzymywać poprawki błędów, niezawodności i zabezpieczeń. Jednak większość nowych funkcji i możliwości zostanie dodana tylko do interfejsu WinUI 3.
Nuta
Obsługa platformy UWP dla platformy .NET 9 jest dostępna w wersji zapoznawczej. Ta obsługa wersji zapoznawczej zapewnia ścieżkę do modernizacji aplikacji platformy UWP przy użyciu najnowszej wersji platformy .NET.
Istnieją dwa główne cele obsługi platformy UWP platformy .NET 9. Najpierw zapewnia lepszą ścieżkę migracji dla deweloperów platformy UWP, którzy chcą przeprowadzić migrację do systemu WinUI 3. Po drugie, umożliwia deweloperom usuwanie zależności na platformie .NET Native, dzięki czemu mogą korzystać z najnowszych funkcji platformy .NET i języka C#, niezależnie od tego, jaki jest ich model aplikacji.
Aby uzyskać więcej informacji, zobacz wpis w blogu Modernizuj aplikację platformy UWP z obsługą platformy UWP w wersji zapoznawczej dla platformy .NET 9 i natywną usługą AOT.
Kiedy należy przeprowadzić migrację aplikacji platformy UWP/WinUI 2 do interfejsu WinUI 3?
Deweloperzy platformy UNIWERSALNEJ systemu Windows nie powinni mieć wpływu na migrację swoich aplikacji do interfejsu WinUI 3, jeśli są zadowoleni z platformy UWP i jej zestawu funkcji. Najlepszym wyborem dla niektórych aplikacji może być nigdy nie migrowanie. W przypadku aplikacji, które chcą korzystać z najnowszej platformy Systemu Windows i inwestycji platformy .NET firmy Microsoft, te aplikacje powinny rozważyć przejście do zestawu SDK aplikacji systemu Windows. Zobacz Migrate from UWP to the Windows App SDK).
Kiedy *nie* należy migrować aplikację platformy UWP + WinUI 2 do systemu WinUI 3?
Zalecamy dalsze korzystanie z platformy UWP w przypadku kompilacji dla konsoli Xbox, Surface Hub lub Urządzenia HoloLens.
Czy WPF jest przestarzały?
Nie. Platforma WPF jest nadal obsługiwana, zalecana i otrzymuje również aktualizacje funkcji. Zobacz plan WPF w witrynie GitHub.
Czy obiekty WinForms są przestarzałe?
Nie. Formularze WinForms są nadal obsługiwane i otrzymują aktualizacje funkcji. Zobacz przewodnik Windows Forms w witrynie GitHub.
Czy środowisko uruchomieniowe systemu Windows (WinRT) jest przestarzałe?
Nie. winRT odnosi się do interfejsu binarnego aplikacji (ABI), który umożliwia współdziałanie między wieloma językami. WinRT to ewolucja modelu COM. Zestaw SDK aplikacji systemu Windows zapewnia większość funkcji za pośrednictwem interfejsów API WinRT.
Wersji
Gdzie można znaleźć informacje o wersji dla zestawu Windows App SDK?
Zobacz informacje o wersji kanału stabilnego i informacje o wersji kanału preview.