Dlaczego .NET w 2020 roku nadal jest warty uwagi?

Zastanawiałeś się, co dobrego możesz zrobić dla swojego rozwoju? Może dobrym pomysłem będzie nauka kolejnego języka programowania. Tylko jaką technologię wybrać? W tym wpisie przeczytasz o najważniejszych aspektach technologii .NET. Dowiesz się, jak łatwo jest się jej nauczyć, skąd można czerpać wiedzę, a także jakie ciekawe rozwiązania możesz w niej zacząć tworzyć od razu po przeczytaniu tego artykułu.

Łukasz Tomalczyk. .Net Developer w Accenture. Pasjonat technologii Microsoft. Posiada umiejętności w obszarze automatyzacji i rozwiązań chmurowych. Miłośnik zdrowego trybu życia. Stawia na ciągły rozwój. W wolnym czasie prowadzi swój blog juniordevops.pl

Szymon Bubała. Programista .Net w Accenture. Jego wiodącymi technologiami są ASP.NET Core i Angular. Mieszka w Katowicach. W wolnym czasie zajmuje się prowadzeniem sklepu internetowego oraz marketingiem. Pasjonat fotografii i wideo. Uwielbia kreatywną pracę i rozwiązywanie problemów.


Jaka jest historia .NET?

Na początku wytłumaczymy Ci, czym różni się C# od .NET i dlaczego te pojęcia będą się ze sobą przeplatać. .NET to obszerna platforma, a wiodący w niej język programowania to właśnie C#. Pierwsza wersja frameworka .NET Framework 1.0 została opublikowana 14 lutego 2002 roku walentynkowa data pewnie nie została wybrana przypadkowo. W tym samym czasie został opublikowany język C#.

Osiemnastoletnia technologia jest wciąż nazywana młodą, jednak ma już za sobą trochę historii i nauki na błędach. Technologia jest nieustannie ulepszana, co dowodzi fakt, że co dwa do trzech lat pokazuje się nowa wersja. Podobnie rozwijają się języki platformy .NET, w których możesz tworzyć swoje rozwiązania. Wszystkie języki Microsoftu możesz wykorzystywać jednocześnie w tym samym projekcie.

Najczęściej stosowany jest C#, który zastąpił Visual Basic. Używany jest także język funkcyjny F#, a od niedawna Q# służący do programowania komputerów kwantowych. “Gdzie go użyjemy?” to jedno z pytań, które nasuwa się w momencie wyboru języka. To częsty błąd programistów, ponieważ najpierw powinniśmy pomyśleć nad rozwiązaniem problemu, a na samym końcu dobrać do tego odpowiednie narzędzie. 

Jaki jest próg wejścia do świata .NET?

Uruchomienie pierwszej aplikacji nie będzie stanowić dla Ciebie żadnego problemu.
Dzięki obszernej dokumentacji dostępnej na stronie Microsoftu w prosty sposób, z wykorzystaniem komend stworzysz szablon aplikacji. Dla przykładu internetową aplikację opartą o Angulara i .NET Core stworzysz jedną komendą:

Do dyspozycji mamy wiele darmowych materiałów edukacyjnych w języku polskim, nie wspominając o materiałach anglojęzycznych ze znanym nam akcentem. Wejść w ten świat pomogą nam mentorzy, którzy często oddają swoją wiedzę za darmo. O nich opowiem Ci w dalszej części artykułu.

Nauczenie się języka C# będzie relatywnie prostsze niż nauka Javy. C# jest językiem wysokiego poziomu, oznacza to, że jest łatwy do przeczytania. A silne typowanie sprawi, że wykryjesz błędy już na etapie pisania kodu.

Programując, chcesz szybko i wydajnie rozwiązać problem. Pomoże Ci w tym pokaźny zbiór Nuget, który oferuje do Twojej dyspozycji prawie 200 tys. bibliotek gotowych do natychmiastowego użycia. Dzięki nim nie będziesz musiał wymyślać koła na nowo.

Społeczność .NET

Technologia Microsoftu zyskuje z roku na rok coraz większe grono zwolenników. Poniekąd dzieje się to za sprawą MVP. Most Valuable Professionals to programiści, którzy przysłużyli się dla społeczności .net. Publikują wartościowe posty na swoich blogach, prowadzą prezentacje i rozwijają ogólnodostępne oprogramowanie.

Możesz do woli korzystać z ich wiedzy. Następną niewątpliwą zaletą dla zwolenników są organizowane w całej Polsce meetup’y, na które każdy może przyjść i skorzystać z wykładów. Kolejnym miejscem, gdzie możesz poszerzyć swoją wiedzę na temat C#, są portale udostępniające kursy edukacyjne. Pluralsight czy Udemy w swoich zasobach posiadają ogromną ilość kursów z tematyki .net. Znajdziesz tam odpowiedź na każde pytanie. Jeśli nie, zawsze pozostaje dobrze znany stackoverflow! Chyba nie trzeba tłumaczyć, co to za miejsce.

Zalety otwartości języka C# opensource

Tak jak akcelerator cząstek, działa w oparciu o prostą zasadę rozbij, a dowiesz się, z czego jest zbudowane. Tak Ty masz okazję poznać od podszewki język, którym się posługujesz. Na początku nie zawracasz sobie głowy takimi detalami, jak działanie podstawowych metod technologii. Otwartość języka pozwoli Ci na poznanie wszystkich jego mechanizmów. Open source oznacza także, że kod źródłowy mogą udoskonalać najlepsi programiści z całego świata. Język możesz wykorzystywać za darmo, a także cieszyć się wsparciem technicznym.

.NET w chmurze

Cloud computing nie jest czymś nowym w świecie programistów. W kontekście pytania, na które w tym artykule staramy się odpowiedzieć, chmura Azure odgrywa dużą rolę. Po pierwsze, tworząc aplikacje w języku C# masz pewność, że z łatwością użyjesz każdego narzędzia oferowanego przez Azure w swojej aplikacji. Ogrom bibliotek udostępnionych przez Microsoft daje Ci taką możliwość.

Platforma Azure dostarcza wszystkich rozwiązań biznesowych w trzech modelach świadczenia usług – Platform as a service, Infrastructure as a service, Software as a service. Moim zdaniem najciekawszą usługą, która możecie Cię zainteresować, jest Azure functions. Możesz dzięki niej niewielkim kosztem wykonać operacje biznesową przy użyciu kawałka kodu.

Multiplatformowość

Chcesz napisać kod raz i uruchomić go na wielu urządzeniach. W C# nie ograniczasz się do jednego środowiska, na którym zamierzasz uruchamiać swoje aplikację. Kod napisany w C# będzie mógł być uruchomiony na każdym urządzeniu. Każde środowisko uruchomieniowe rządzi się swoimi prawami i pewnie będziesz musiał się z nimi zmierzyć, ale nie dokładasz sobie dodatkowej pracy, jaką jest nauczenie się języka dedykowanego do środowiska. Więc jeśli jest dla Ciebie istotne, aby móc uruchomić swoją aplikację na iOS, Linuxie i Windowsie, zadbaj o to, aby aplikacja była wieloplatformowa.

Aplikacje webowe Blazor i ASP.NET Core

Chcąc stworzyć aplikację przeglądarkową w .NET mamy do wyboru dwa rozwiązania. Pierwszym z nich jest ASP.NET Core. Jest to framework umożliwiający szybkie stworzenie backendu. Dzięki wersji Core mamy możliwość uruchomić aplikację w tej technologii na dowolnym środowisku – może to być nawet Arduino. Drugie rozwiązanie jest nowsze. Blazor, bo o nim mówimy, służy do pisania w WebAssembly. Pozwala na pisanie o wiele wydajniejszych aplikacji niż te oparte w pełni na JavaScripcie.

Przykładową aplikacją, która silnik ma oparty o WebAssembly, jest Figma. To aplikacja służąca do tworzenia UI/UX. W tradycyjnej aplikacji opartej tylko o JavaScript mielibyśmy do czynienia z opóźnieniem. Z kolei korzystając z aplikacji desktopowej, musimy mieć ją zainstalowaną na każdym swoim urządzeniu. Technologia WebAssembly, w której możemy tworzyć dzięki Blazor, rozwiązuje ten problem.

Unity 3D, wirtualna rzeczywistość i rozszerzona rzeczywistość

Unity 3D kojarzysz  być może ze świata gier. To środowisko oparte jest o .NET i służy nie tylko do tworzenia gier. Dzięki temu narzędziu możesz zacząć rozwijać niesamowity świat Virtual Reality i Augmented Reality. Rozwiązania oparte o VR i AR świetnie sprawdzają się w rozrywce przecież kto nie lubi głowy psa z aparatu w iOS? Biznes także brnie w tę stronę. Przykładem może być wirtualna przymierzalnia w sklepie z ubraniami. Jeśli chcesz zacząć tworzyć aplikacje w takich technologiach, to polecamy Ci sprawdzić rozszerzenie do Unity o nazwie Vuforia. 

Uczenie maszynowe w ML.NET

Machine learning to kolejny hit obecnych czasów. Wszędzie go pełno, może nawet tam, gdzie nie trzeba. Uczenie maszynowe pozwala nam przewidzieć i zautomatyzować różne procesy. Czy możesz tworzyć rozwiązania oparte o ML przy użyciu .NET? Jasne, że tak. Microsoft dla programistów .NET stworzył do tego celu framework ML.NET. Dzięki niemu w prosty sposób zbudujesz silnik rekomendacyjny w panelu sklepowym, rozpoznasz rasy psów na zdjęciu czy zidentyfikujesz fałszywe płatności.

Jakie są dalsze plany Microsoftu?

Microsoft nie jest pierwszym gigantem, który zainwestował we własne rozwiązania chmurowe, nieustannie poszerza swoją ofertę. Rozwija się w temacie sztucznej inteligencji, tworząc platformę Microsoft AI. Przejmuje rozwiązania takie jak Github i NPM, aby poszerzyć zakres świadczonych usług. Wielkim przełomem będzie publikacja .NET 5, która znajduje się obecnie w fazie preview. Będzie to zunifikowana platforma, która pomoże zażegnać problemy z nazewnictwem oraz kompatybilnością między .NET frameworkiem, a .NET Core.

Podsumowanie

Jak widzisz, .NET sprawdzi się w wielu sytuacjach. To język, który możesz wykorzystać w starszych technologiach, a także w wiodących najnowszych. Zależnie od tego, w którą stronę chcesz się rozwijać, na pewno znajdziesz odpowiednią ścieżkę w tej drodze. Programiści .NET są jednymi z najbardziej poszukiwanych na rynku pracy. 


Zdjęcie główne artykułu pochodzi z unsplash.com

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Od czego powinieneś zacząć tworzenie chatbota? Cz.2