Wspominałem Ci w poprzednim artykule, że w C# możemy tworzyć wiele różnych typów aplikacji. Od aplikacji konsolowych poprzez aplikacje desktopowe i mobilne, a na webowych kończąc. Zakładając nowy projekt, musimy tylko wskazać, w którym frameworku chcemy tworzyć naszą aplikację i od razu na start zostaje utworzony podstawowy szablon, w którym możemy dalej rozwijać naszą aplikację. W dzisiejszym artykule opiszę Ci najczęściej tworzone aplikacje oraz pokaże jak je uruchomić w Visual Studio.
1. Aplikacje konsolowe
Aplikacje konsolowe to najprostsze programy, które działają w wierszu poleceń. Są one często używane do testowania i eksperymentowania z kodem. Zazwyczaj, jeżeli uczysz się programowania, to właśnie na początek będziesz tworzył takie aplikacje. Nie mamy tutaj jakiegoś ładnego interfejsu użytkownika, ale taki typ aplikacji będzie idealny do nauki i utrwalenia samego języka programowania.
2. Aplikacje desktopowe - Windows Forms
Kolejny typ aplikacji, który polecam poznać, chociaż na podstawowym poziomie, to aplikacje desktopowe. Są to aplikacje, które działają na komputerze i mają już interfejs graficzny użytkownika. Takie aplikacje możesz właśnie uruchomić bezpośrednio na twoim systemie operacyjnym. Natomiast jeżeli takie aplikacje tworzymy do klienta, to zazwyczaj wtedy tworzymy dodatkowo również instalator i klient może sobie taką aplikację zainstalować na swoim komputerze. Takie aplikacje, chociaż obecnie już są mniej popularne, to kiedyś pisałem ich mnóstwo w swojej programistycznej karierze. Możesz tutaj skorzystać z podstawowego frameworka Windows Forms.
3. Aplikacje desktopowe – WPF
Oprócz Windows Forms aplikacje desktopowe możemy tworzyć w bardziej zaawansowanym frameworku WPF, czyli Windows Presentation Foundation. Jest to można powiedzieć taki następnik dla Windows Forms i jeżeli chciałbyś pisać aplikacje desktopowe, to właśnie polecam Ci się skupić na WPF wraz z podejściem MVVM (Model View ViewModel). Mamy tutaj większe możliwości, możemy tworzyć lepszy interfejs użytkownika i pisać czystszy, łatwiej rozszerzalny i testowalny kod. Również takich aplikacji pisałem dużo i dalej jest na nie zapotrzebowanie. Obecnie dalej dla kilku klientów rozwijam jeszcze takie aplikacje. Co prawda pracy w takich typowych aplikacjach desktopowych jest mniej, niż w aplikacjach webowych, ale z drugiej strony jest też mniejsza konkurencja na rynku, także może to być dobra nisza i dobry wybór na start. Oprócz Windows Forms i WPF, aplikacje desktopowe możemy również tworzyć w C# w UWP, natomiast tej ścieżki Ci nie polecam. Tutaj tak jak wspomniałem, skupiłbym się na WPF.
4. Aplikacje mobilne – Xamarin
Kolejny typ aplikacji, który możemy tworzyć w C# to aplikacje, które działają na urządzeniach mobilnych, takich jak smartfony i tablety. W C# możemy użyć frameworka Xamarin do tworzenia aplikacji mobilnych na różne platformy, takie jak iOS, czy Android. Także, jeżeli chcesz tworzyć aplikacje na telefony, to również w C# masz taką możliwość.
5. Aplikacje mobilne - .NET MAUI
Jeżeli chodzi o aplikacje mobilne, to również od jakiegoś czasu Xamarin jest zastępowany przez nowy .NET MAUI, także, jeżeli dopiero zaczynasz swoją drogę i chciałbyś iść w kierunku aplikacji mobilnych, to raczej poleciłbym Ci od razu zacząć od .NET MAUI, który jest nowym rozwiązaniem Microsoft.
6. Aplikacje webowe - ASP.NET Core MVC
Przechodzimy do obecnie najbardziej popularnych aplikacji, czyli aplikacji webowych, które działają w przeglądarce internetowej. Jeżeli chodzi o platformę .NET i język C#, to tutaj mamy dość duże możliwości. Jeżeli chciałbyś tworzyć kompletne aplikacje webowe w C#, to warto wybrać framework ASP.NET Core MVC, który umożliwia Ci tworzenie aplikacji od A do Z. Także możesz tutaj tworzyć zarówno cały frontend aplikacji oraz backend aplikacji. Do frontendu używamy tutaj Razora (czyli połączenia HTML z C#), natomiast backend jest tworzony w czystym C#. Także to jest najczęstszy wybór dla programistów aplikacji webowych. Na rynku jest mnóstwo aplikacji, które zostały stworzone w ASP.NET oraz ASP.NET Core, także tutaj jest sporo ofert pracy i jak najbardziej polecam Ci ten wybór. Właśnie w mojej karierze najwięcej tworzyłem i dalej tworzę takich aplikacji.
7. Aplikacje webowe - ASP.NET Core Web API
Jeżeli chodzi o aplikacje webowe, to również nie możemy zapomnieć o tworzeniu Web API, które również możesz stworzyć we wspomnianym wcześniej ASP.NET Core, natomiast tutaj interesuje nas dokładnie szablon ASP.NET Core Web API. Tak naprawdę MVC oraz Web API bazują niemal na tym samym kodzie i jeżeli poznasz MVC, to również odnajdziesz się w Web API i tak samo w drugą stronę. Web API najczęściej jest używane przez aplikacje klienckie, czyli jakieś aplikacje typu SPA (czyli Single Page Application) oraz inne urządzenia mobilne i desktopowe. W Web API możesz stworzyć cały backend aplikacji i udostępnić go dla aplikacji klienckiej, w której stworzony jest tylko frontend. Także tego typu aplikacje są obecnie bardzo popularne i również jest mnóstwo ofert pracy dla programistów, którzy tworzą Web API.
8. Aplikacje webowe SPA – Blazor
Jeżeli chodzi o aplikacje webowe, to również nie możemy zapomnieć o Blazorze, który umożliwia nam tworzenie tzw. Single Page Application, czyli to jest taki framework, który działa jak Angular, React, czy Vue. Natomiast tutaj mamy duży plus, ponieważ możemy go tworzyć w samym C#. Także nie musimy uczyć się dodatkowo języka JavaScript, tylko możemy sobie stworzyć taką aplikację w języku C# w Blazorze. Co prawda Blazor jest dość nowym rozwiązaniem, ale udało mi się już w nim stworzyć kilka aplikacji dla klientów, także, póki co jestem zadowolony i chętnie również w przyszłości podzielę się z Tobą moimi doświadczeniami w tym frameworku.
9. Usługi - Windows Service oraz ASP.NET Core
Oprócz standardowych aplikacji możemy jeszcze tworzyć usługi, które nie mają interfejsu użytkownika, ale mogą działać na Twoim systemie operacyjnym w tle i wykonywać jakieś zadania. Takie aplikacje możesz tworzyć w Windows Service oraz ASP.NET Core.
10. Biblioteki – Class Library
W C# możemy też tworzyć własne biblioteki. Także możemy sobie stworzyć jakiś kod, jakąś funkcje, następnie opakujemy ją w bibliotekę i możemy ją używać w innych naszych projektach, czy aplikacjach. Żeby stworzyć taką bibliotekę, należy wybrać typ projektu – Class Library.
11. Gry komputerowe – Unity
Na koniec silnik Unity, w którym w C# możemy tworzyć gry komputerowe. Natomiast akurat taka ścieżka nigdy mnie nie interesowała, także tutaj nie mam zbyt dużego doświadczenia i tutaj wiele Ci nie pomogę. Jednak jeżeli sam chciałbyś pójść taką drogą i tworzyć gry komputerowe, to również masz taką możliwość w języku C#.
Praktyka
Czyli jak widzisz, mamy tutaj naprawdę duży wybór aplikacji i spore możliwości. Co warto podkreślić, rdzeń wszystkich tych aplikacji jest tworzony w C#, także, jeżeli opanujesz sam język C#, to również każdą tego typu aplikację będziesz mógł stworzyć.
Jeżeli chcesz stworzyć aplikację w C#, to konieczne będzie zainstalowanie środowiska programistycznego, najczęstszym wyborem jest Visual Studio w wersji Community. Przy instalacji musisz wskazać, które składniki powinny zostać zainstalowane. Także, jeżeli jakiś typ aplikacji nie jest u Ciebie widoczny w Visual Studio, to prawdopodobnie musisz wrócić do instalatora, wybrać te składniki i je zainstalować.
Tutaj w materiale na YouTube pokazuje jak stworzyć takie aplikacje w Visual Studio (od 8 minuty) - Jakie Aplikacje Możemy Tworzyć w C#? Omówienie Najpopularniejszych Frameworków w C#
Jaką ścieżkę wybrać?
Obecnie, jeżeli zaczynasz naukę, to polecałbym Ci wybrać jedną z 2 ścieżek, w zależności od tego, co akurat będzie sprawiać Ci najwięcej przyjemności. Pierwsza opcja to tworzenie Aplikacji Desktopowych, tutaj proponuję wybrać WPF (ale również z podstawową znajomością Windows Forms) oraz druga opcja i to jest ścieżka, która polecałbym Ci obecnie najbardziej, czyli pisanie Aplikacji Webowych, konkretnie w ASP.NET Core (również z przynajmniej podstawową znajomością ASP.NET MVC). Jeżeli poznasz dobrze ASP.NET Core MVC i Web API, to będziesz mógł pisać kompletne zaawansowane aplikacje webowe. W ASP.NET Core jest najwięcej ofert pracy, także moim zdaniem jest to najbardziej przyszłościowa ścieżka. Natomiast jakąkolwiek ścieżkę wybierzesz, to na pewno nie będzie narzekał na brak ofert pracy.
To wszystkie na dzisiaj. Jeżeli taki artykuł Ci się spodobał, to koniecznie dołącz do mojej społeczności – darmowe zapisy, gdzie będziesz również miał dostęp do dodatkowych materiałów i przede wszystkim bonusów. Do zobaczenia w kolejnym artykule.
Poprzedni artykuł - Chcesz Zostać Programistą? Dowiedz Się, Dlaczego C#/.NET Jest Najlepszym Wyborem Dla Początkujących