Biznesowa strona programowania w .NET

Dla firm i zespołów każdej wielkości

Dlaczego .NET?

Aplikacje stają się ważną częścią niemal każdej branży. Dzięki temu firmy mogą dziś zamówić dopasowaną aplikację biznesową w stosunkowo niższej cenie.

Według Enlyft, Microsoft .NET ma około 7,2% udziału w rynku w kategorii frameworków programistycznych.

The Business Side of .NET Development - chart 1

Jeśli szukasz sprawdzonego sposobu na uruchamianie aplikacji zarówno na urządzeniach mobilnych, jak i na komputerach, ASP.NET i programowanie w .NET mogą sprawdzić się w Twoim projekcie. 

Dzięki wielu frameworkom, które płynnie ze sobą współpracują, ogranicza Cię tylko wyobraźnia. Prowadzenie strony lub aplikacji mobilnej w oparciu o oprogramowanie .NET daje Ci zasoby, których nie mają inne systemy. 

Dzięki szerokiej gamie repozytoriów kodu i wiedzy oraz kompatybilności po stronie serwera programowanie w .NET może być świetnym wyborem dla Twojego kolejnego przedsięwzięcia.

The Business Side of .NET Development - Infographic 1

Ta strona odpowiada na wszystkie pytania, jakie może zadać biznes. Nie znajdziesz tu porad programistycznych ani wskazówek, jak ulepszyć produkt. Ten przewodnik poświęcony jest liczbom, budowaniu perspektyw, ryzykom i problemom, na jakie natkniesz się, wybierając programowanie w .NET.

Jeśli więc jesteś kimś z poniższej listy, ten przewodnik jest dla Ciebie:

  1. Specjaliści ds. rozwoju biznesu. Wyszukujesz i badasz potencjalnych klientów? Budujesz i utrzymujesz relacje z klientami? Współpracujesz z zespołami sprzedaży, żeby przygotowywać korzystne dla obu stron oferty? Omawiasz warunki umów z klientami i komunikujesz się z interesariuszami? Dodaj tę stronę do zakładek!
  2. Product ownerzy, CTO, product managerowie. Reprezentujesz głos klienta i strategię firmy? A może odpowiadasz za zwrot z inwestycji w rozwój produktu? Nie odchodź od tego przewodnika przed ostatnim zdaniem!
  3. Właściciele firm i cyfrowi przedsiębiorcy. Wykorzystujesz możliwości, zasięg i siłę internetu, żeby zarabiać na produktach i usługach? Nasz przewodnik na pewno ma Ci coś do zaoferowania!
  4. Kadra zarządzająca w większych firmach i korporacjach. Wyznaczasz cele, plany strategiczne i politykę firmy oraz decydujesz o kierunku rozwoju biznesu, prawda? Nie zapomnij podzielić się tą stroną z pozostałymi członkami zarządu!

 

Nie znalazłeś siebie na liście? Nic straconego! Nasz biznesowy przewodnik jest dla każdego, kto chce jak najlepiej wykorzystać swój pomysł!

Czego dowiesz się z tego przewodnika:

  • Podstawowe informacje o .NET
  • Przegląd typów produktów i obszarów, w których można wykorzystać .NET
  • Krajobraz technologiczny .NET: frameworki, biblioteki, podobne technologie
  • Najczęściej stosowane alternatywy dla .NET i ASP.NET
  • Zalety i wady programowania w .NET
  • Kroki do zatrudnienia dobrego programisty dot NET
  • Case studies projektów .NET i najlepsze zastosowania
  • Stan .NET na początku 2022 roku.

 

I mnóstwo innych powiązanych, przydatnych informacji!

Chcesz zacząć, ale nie możesz teraz czytać tego przewodnika online? Nie ma problemu! Pobierz wersję PDF tej strony.

POBIERZ WERSJĘ EBOOKOWĄ TEGO PRZEWODNIKA

Przewodnik jest podzielony na przystępne sekcje, dzięki czemu łatwo poruszasz się po treści i przechodzisz od razu do interesującego Cię tematu.

A jeśli nadal nie masz czasu, żeby je teraz przejrzeć, mamy dla Ciebie rozwiązanie! Oto wersja PDF dla Ciebie.

Klikając „Pobierz e-booka”, wyrażasz zgodę na przetwarzanie Twoich danych przez Ideamotive Sp. z o. o. w celach marketingowych, w tym e-mail marketingu.

Spis treści

      01 Czym jest .NET?

      .NET to środowisko i ekosystem programistyczny rozwijany i wspierany przez Microsoft, który ma upraszczać tworzenie aplikacji desktopowych i webowych. To popularna, darmowa platforma wykorzystywana dziś do wielu różnych rodzajów aplikacji, ponieważ zapewnia środowisko programistyczne na większości etapów wytwarzania oprogramowania. 

      .NET najlepiej sprawdza się w firmach, które szukają szerokiego zestawu możliwości, takich jak usługi webowe, oprogramowanie desktopowe czy wsparcie dla infrastruktury chmurowej.

      Co każdy powinien wiedzieć o .NET 

      Microsoft zaczął pracować nad frameworkiem .NET pod koniec lat 90. Pomysł polegał na stworzeniu platformy opartej na tak zwanym kodzie zarządzanym, czyli kodzie wykonywanym w czasie działania programu. Było to potrzebne, żeby usprawnić pracę programistów i uwolnić ich od operacji związanych z bezpieczeństwem, aktywnego zarządzania pamięcią i innych niskopoziomowych zadań, z którymi musieli zmagać się programiści C/C++.

      Pierwsze wydanie .NET Framework w 2002 roku wprowadziło C#, język kodu zarządzanego o składni zbliżonej do C++. Sam framework był przeznaczony na komputery i serwery z systemem Windows. 

      Zawierał WinForms, bibliotekę GUI do aplikacji desktopowych, ASP.NET, framework do zastosowań webowych, oraz ADO.NET do dostępu do danych. 

      Wszystkie te elementy były wykorzystywane przez Common Language Runtime (CLR) do kompilowania i wykonywania kodu zarządzanego.

      Aby połączyć różne funkcje, .NET oferował Framework Class Library (FCL), która obejmowała Base Class Library (BCL), bibliotekę sieciową, bibliotekę liczbową i inne.

      Od tamtej pory framework przeszedł kilka iteracji obejmujących aktualizacje środowiska uruchomieniowego, nowe systemy graficzne dla aplikacji desktopowych (WPF), API dla aplikacji zorientowanych na usługi (WCF) i wiele więcej.

      W 2014 roku Microsoft ogłosił radykalną zmianę w działaniu .NET, wprowadzając .NET Core – nową, wieloplatformową i przyjazną chmurze wersję frameworka o otwartym kodzie źródłowym. 

      .NET Core został wydany w 2016 roku i stał się podstawową technologią braną pod uwagę przy nowych projektach .NET.

      Stopniowo Microsoft zaczął przenosić istniejące usługi tak, aby działały z Core. Część z nich, które nie doczekały się oficjalnych portów – jak Windows Communication Foundation (WCF) – zastąpiły alternatywy rozwijane przez społeczność.

      Dodatkowo w 2016 roku Microsoft przejął Xamarin, wcześniej zamkniętą technologię do wieloplatformowego tworzenia aplikacji mobilnych, i również udostępnił ją na otwartej licencji.

      The Business Side Of .NET Development - period chart

      Microsoft konsekwentnie zmierzał w stronę „przejrzystości między zespołem rozwijającym produkt a społecznością” i w grudniu 2018 roku uruchomił Windows Presentation Foundation (WPF), Windows Forms oraz WinUI.

      Nowoczesny .NET

      Ale to nie wszystko. W 2019 roku firma wydała dużą aktualizację, która zjednoczyła cały ekosystem: wszystkie produkty .NET połączono w platformę .NET 5. Oznacza to, że programiści będą mogli tworzyć aplikacje na Windows, Linux, macOS, iOS, watchOS, Androida, tvOS lub korzystać z WebAssembly, mając tylko jeden .NET. 

      Platforma dostarczy nowe API, funkcje językowe i możliwości środowiska uruchomieniowego. Dodatkowo .NET 5 obejmie ASP.NET Core, Xamarin, Entity Framework Core, WPF, WinForms i ML.NET.

      The Business Side Of .NET Development - net 5 standard

      Po tych zmianach praktyk .NET może na razie pracować z trzema oddzielnymi gałęziami platformy Microsoftu: 

      • .NET Framework – wciąż dominujący w biznesie, 
      • .NET Core – nowy framework, 
      • Xamarin do zastosowań mobilnych.

      Dodatkowo Microsoft zaproponował bibliotekę .NET Standard, która łączy wszystkie trzy API i ostatecznie ułatwia życie inżynierom.

      Dziś .NET występuje w czterech odmianach: 

      1. .NET Framework, 
      2. .NET Core, 
      3. Xamarin, 
      4. Universal Windows Platform (UWP).

      The Business Side of .NET Development - Infographic 2

      Te połączone implementacje określa się mianem frameworka .NET. Każda z nich zawiera frameworki i biblioteki do budowania różnych aplikacji.

      (Źródło ilustracji – Introducing .NET 5 - .NET Blog)

      02 Co można zrobić w .NET? Dla kogo jest .NET?

      The Business Side of .NET Development - Infographic 3

      Języki programowania i frameworki powstają po to, żeby rozwiązywać konkretne problemy i tworzyć określone produkty. .NET również ma swoje unikalne cechy. 

      Warto zauważyć, że wachlarz produktów tworzonych przez programistów .NET jest bardzo szeroki. Wystarczy przejrzeć listę firm korzystających z .NET. 

      Reprezentują one bardzo różne branże, od finansów i handlu po naukę i socjologię. 

      Ogólnie rzecz biorąc, szeroką gamę produktów tworzonych w .NET można pogrupować następująco:

      Aplikacje i usługi webowe na macOS, Windows, Linux i Docker

      To prawdopodobnie najczęściej wykorzystywana grupa aplikacji pisanych w .NET. Zaletą aplikacji webowych jest to, że działają w przeglądarce.

      Aplikacje webowe różnią się złożonością. Zbudowanie małej, jednostronicowej witryny ze zdjęciami i linkami jest proste. Stworzenie złożonej aplikacji webowej wymaga jednak sporo wysiłku. 

      Doskonałym przykładem aplikacji o prostym interfejsie i złożonym backendzie jest serwis Stack Overflow, który zna każdy programista.

      Pisanie aplikacji webowej w .NET wymaga znajomości C# oraz frameworka ASP.NET MVC. 

      Ważne jest też zrozumienie, czym jest klient i serwer, jak wykorzystuje się protokoły takie jak HTTP, REST czy JavaScript są wykorzystywane oraz jaka jest różnica między interfejsem a serwerem. 

      Obecnie ten rodzaj programowania wymaga też wiedzy o domenach, usługach hostingowych, planach oraz pewnego zrozumienia technologii chmurowych, takich jak MS Azure, Amazon Web Services, Yandex Cloud i inne.

      Natywne aplikacje mobilne na iOS, Androida i Windows

      Dziś firmy budują aplikacje, które są łatwe w obsłudze i świetnie działają na komputerze, laptopie czy telefonie. Pomaga to tworzyć kompatybilne aplikacje, z których można korzystać na wielu platformach. 

      .NET daje świetne możliwości, które pomagają programistom stworzyć aplikację synchronizującą się na wszystkich platformach. Wykorzystuje się go również do tworzenia aplikacji desktopowych. Wiele organizacji wybrało pracę w .NET właśnie ze względu na tę cechę.

      Xamarin to narzędzie do tworzenia natywnych aplikacji mobilnych w C#. Dzięki .NET Core i Xamarin.Forms, możesz napisać aplikację i opublikować ją w App Store lub Google Play, żeby udostępnić ją każdemu, kto ma smartfon lub tablet.

      Aplikacje desktopowe na Windows i macOS

      W .NET można też tworzyć aplikacje desktopowe. To produkty działające na komputerach osobistych i urządzeniach mobilnych użytkowników końcowych.

      Kilka komponentów systemu Windows zaprojektowano z użyciem .NET. Należą do nich Notatnik i Kalkulator. Powstało też wiele aplikacji .NET pisanych przez pojedynczych programistów, a część z nich znajdziesz na tej stronie

      Powstają również bardziej zaawansowane produkty. Przykładem są NinjaTrader i Tradesignal do handlu na giełdzie oraz Microsoft Power BI do analityki biznesowej. 

      Ten ostatni wizualizuje informacje z dowolnego źródła i sprawia, że przetwarzanie dużych ilości danych jest szybsze i łatwiejsze.

      .NET udostępnia cztery główne technologie do budowania aplikacji desktopowych: WPF, Windows Forms, UWP i Xamarin. Zwykle klienckie aplikacje desktopowe tworzy się w technologii Windows Presentation Foundation (WPF) albo Windows Forms. Możesz wykorzystać je do budowy złożonych aplikacji na komputery użytkowników. 

      Mikrousługi

      ASP.NET, webowy framework dla .NET, ułatwia tworzenie API, które stają się Twoimi mikrousługami. ASP.NET ma wbudowane wsparcie dla tworzenia i wdrażania mikrousług w kontenerach Docker.

      .NET zawiera API, które ułatwiają korzystanie z mikrousług w każdej tworzonej przez Ciebie aplikacji.

      Usługi chmurowe i aplikacje działające w chmurze

      Chmura stała się głównym miejscem docelowym dla aplikacji. Aplikacje cloud-native projektuje się tak, aby budować je, testować i wdrażać w chmurze. Aplikacje chmurowe są nowoczesne, wydajne, zautomatyzowane i łatwo skalowalne. Ich kluczowe cechy to nowoczesna architektura, wykorzystanie mikrousług i kontenerów, systemy zgłoszeń oraz automatyzacja.

      .NET pozwala budować szybkie, nowoczesne i skalowalne aplikacje chmurowe na wszystkich najważniejszych platformach chmurowych.

      Jeśli nie wybrałeś jeszcze chmury, polecamy Azure. Azure to najlepsza chmura dla programistów .NET, bo powstała właśnie z myślą o nich. 

      Setki produktów Azure działają natywnie z .NET i są zintegrowane z narzędziami programistycznymi Visual Studio. 

      Co więcej, Twoja firma programistyczna .NET może korzystać z szablonów projektów, żeby szybciej ruszyć z pracą, a także z zaawansowanych narzędzi do debugowania, publikowania i CI/CD, które zwiększają produktywność przy tworzeniu, wdrażaniu i monitorowaniu aplikacji chmurowych.

      Produkty oparte na uczeniu maszynowym (algorytmy wizyjne, przetwarzanie mowy, modele predykcyjne)

       Wyzwaniem dla wielu organizacji jest płynne wdrażanie modeli uczenia maszynowego na produkcję, ze względu na niespójności między technologiami i frameworkami.

      ML.NET to odpowiedź Microsoftu na ten problem. To wieloplatformowy framework uczenia maszynowego o otwartym kodzie źródłowym, który pozwala programistom .NET budować, trenować i wykorzystywać własne modele uczenia maszynowego bez opuszczania ekosystemu .NET.

      Dzięki ML.NET błyskawicznie uruchomisz własny model uczenia maszynowego .

      ML.NET pozwala tworzyć światowej klasy modele i aplikacje AI w wielu różnych zastosowaniach. Możliwości są nieograniczone. Zajrzyj do tego repozytorium , które zawiera wiele przykładów, takich jak:

      • Analiza sentymentu
      • Wykrywanie spamu
      • Wykrywanie oszustw
      • Rekomendacje produktów i filmów
      • Prognozowanie cen
      • Prognozowanie sprzedaży
      • Wykrywanie anomalii (oszustwa kartami kredytowymi)
      • Trenowanie klasyfikacji obrazów
      • Wykrywanie obiektów

      Gry (gry 2D i 3D na najpopularniejsze komputery, telefony i konsole)

      .NET dobrze współpracuje z Xamarinem oraz Unity, silnikiem gier opartym na Mono, do tworzenia gier na urządzenia mobilne i konsole. Unity to jedno z najpopularniejszych narzędzi do tworzenia gier, obsługuje C# i .NET oraz dobrze współpracuje z Visual Studio.

      Do znanych gier stworzonych w Unity należą Inside, Kerbal Space Program, Endless Legend, a nawet Pokemon Go.

      Do stworzenia gry wystarczy napisać kod w C# i skorzystać z bibliotek Mono i Unity. Jest to dużo łatwiejsze i szybsze, bo nie musisz uczyć się C++. Za tłumaczenie kodu C# odpowiadają Mono i Unity. Żeby rozpocząć przygodę z tworzeniem gier, przeczytaj Unity: Developing Your First Game with Unity and C#.

      Oprogramowanie urządzeń inteligentnych i aplikacje IoT

      Internet rzeczy to obszar tworzenia „rzeczy”, które mogą wchodzić w interakcje ze sobą nawzajem, z otoczeniem i z internetem. .NET sprawdza się również tutaj. 

      Jest wieloplatformowy i obsługuje setki czujników, wyświetlaczy oraz urządzeń wejściowych korzystających z GPIO, SPI, I2C, PWM, SerialPort i innych. Wśród czujników są popularne czujniki temperatury i wilgotności DHT, akcelerometry, czujniki światła i gazu, a także bardziej zaawansowane nakładki, takie jak GrovePi, Adafruit Seesaw czy Sense HAT, moduły RFID w rodzaju PN532 oraz zaawansowane układy jak FT4222. 

      Możesz na przykład użyć Raspberry Pi z Windows 10 IoT Core, żeby sterować inteligentnym czajnikiem, domowymi systemami oświetlenia, samochodami autonomicznymi, systemami rozpoznawania mowy czy zautomatyzowanymi systemami dialogowymi, takimi jak Yandex.Dialogues (po rosyjsku), które opierają się na gotowych szkieletach. 

      Aplikacje i usługi klasy enterprise

      Enterprise to nie obszar tworzenia produktów dla użytkowników końcowych, lecz dla biznesu. Do takich produktów należą systemy zarządzania informacją, systemy obiegu dokumentów oraz systemy zarządzania relacjami z klientami (CRM).

      Systemy klasy enterprise powstają w wyniku wspólnego rozwijania aplikacji webowych, desktopowych i mobilnych. Choć do pewnego stopnia są uniwersalne, projektuje się je pod konkretny zestaw wyzwań. Jeśli na przykład klient chce zorganizować złożony system obiegu dokumentów, odpowiednim rozwiązaniem może być platforma MS SharePoint (SharePoint Online). Gdy w grę wchodzi budowa globalnego marketplace’u dla dużej sieci handlowej, dobrym wyborem może okazać się platforma Sitecore.

      Jeśli chcesz skupić się na projektach klasy enterprise, znajomość C#, .NET i JavaScriptu nie wystarczy. Programista powinien znać też narzędzia, na których będzie oparty przyszły produkt. Aby na przykład tworzyć produkt oparty na SharePoincie, trzeba poznać jego komponenty: przepływy pracy, web party, timer joby, pola niestandardowe, typy zawartości i funkcje.

      Rodzaje firm, które mogą wykorzystać .NET

       

      Startupy

      Programowanie w dot NET to dokładnie to, czego potrzebuje Twój startup. Początkujące produkty potrzebują stabilnej technologii, najlepiej wspieranej przez dużą firmę (w tym przypadku Microsoft) i przez liczną społeczność. Wszystko to gwarantuje zatrudnienie firmy tworzącej dedykowane oprogramowanie w .NET. 

      Co więcej, jeśli potrzebujesz aplikacji działającej na wielu platformach, .NET jest świetnym wyborem dla startupu, bo obejmuje większość platform i pozwala ograniczyć nakład pracy przy rozszerzaniu aplikacji desktopowej lub mobilnej na kolejne systemy operacyjne. Dodatkowo .NET sprawdza się w specyficznych zadaniach inżynierskich, takich jak gry (również na Xboxa) czy rozwiązania rzeczywistości rozszerzonej (w tym HoloLens). 

      Scaleupy

      Zwykle potrzeby biznesu rosną, a Twoje oprogramowanie musi rosnąć razem z nimi. .NET zapewnia skalowalne środowisko i pozwala przeprojektować obecne aplikacje pod te rosnące potrzeby biznesowe. Dlatego scaleupy często wybierają ASP.NET.

      Przedsiębiorstwa

      To, czy .NET jest przeznaczony przede wszystkim do zastosowań korporacyjnych, wciąż budzi kontrowersje. Microsoft gwarantuje jednak najszerszy zestaw narzędzi do budowania i wzajemnej integracji produktów klasy enterprise – zarówno wewnętrznych, jak i publicznych. Wspiera też rozbudowany ekosystem mobilny dla przedsiębiorstw.

      03 Krajobraz technologiczny .NET: frameworki, biblioteki, podobne technologie

      Przez lata od premiery .NET powstało lub zostało przystosowanych do niego wiele języków. Jednym z nich był IronLisp, ostatecznie zastąpiony przez IronScheme. J Sharp powstał, by ułatwić programistom Javy przejście na .NET dzięki wykorzystaniu ich dotychczasowych umiejętności. Ostatnie stabilne wydanie ukazało się w 2007 roku.

      Biorąc jednak pod uwagę ogrom pracy włożonej we wszystkie te projekty, dziś mamy do wyboru szeroki wachlarz języków. W tej sekcji przyjrzymy się kilku popularnym.

      C++C++ to kompilowany, statycznie typowany język programowania ogólnego przeznaczenia.

      Język wspiera paradygmaty takie jak programowanie proceduralne, obiektowe i uniwersalne. C++ ma bogatą bibliotekę standardową, która obejmuje popularne kontenery i algorytmy, wejście/wyjście, wyrażenia regularne, obsługę wielowątkowości i inne funkcje.

      C++ łączy cechy języków wysokiego i niskiego poziomu. W porównaniu ze swoim poprzednikiem, językiem C, najwięcej uwagi poświęcono wsparciu dla programowania obiektowego i ogólnego przeznaczenia.

      C#Dla wielu to podstawowy język .NET. C# jest wiodącym językiem tworzenia aplikacji. Wykorzystuje się go aktywnie do budowy aplikacji desktopowych na Windows w WinForms i WPF, aplikacji UWP oraz aplikacji webowych w ASP.NET i ASP.NET Core

      Istnieje duża biblioteka rozwiązań open source, z których zatrudnieni programiści C# mogą korzystać lub je rozszerzać na potrzeby Twoich aplikacji .NET.

      Dowiedz się więcej, czytając poniższe artykuły:

      F#

      F#

      F# to język programowania ogólnego przeznaczenia zorientowany na funkcje, wspierany przez zróżnicowaną społeczność z całego świata, która uczyniła go tak dobrym językiem, jakim jest dziś. F# ma wieloplatformowy kompilator dostępny od F# Software Foundation, obsługujący wszystkie najważniejsze systemy operacyjne, układy GPU i przeglądarki.

      Kilka źródeł podaje, że na F# wpłynęły C#, Python, Haskell, Scala i Erlang. Dla programistów, którzy dużo pracują z C#, powiedzielibyśmy jednak, że wiele najnowszych funkcji C# w rzeczywistości zainspirował F#.

      Jeśli korzystasz z Visual Studio, interaktywny F# świetnie nadaje się do testowania i uruchamiania kodu w trakcie jego pisania. Jest dostępny od dłuższego czasu, a inne języki dopiero zaczynają otrzymywać taką możliwość. Warto też zauważyć, że wynagrodzenia dobrych programistów F# bywają bardzo wysokie. W artykułach o tym, kto korzysta z tej technologii, często pojawiają się sektor finansowy i naukowy, choć wiele innych firm również używa tego języka w swoich głównych zespołach.

      Jeśli potrzebujesz więcej informacji o F# albo chcesz wypróbować go w przeglądarce, znajdziesz je tutaj.

      Informacje o F# Interactive znajdziesz, klikając tutaj.

      VB

      Wiele uznanych firm wciąż uważa Visual Basic za jeden ze swoich głównych języków programowania i zbudowało wokół niego rozbudowane systemy. Łatwy do czytania i obsługi, wciąż jest aktywnie nauczany na uczelniach, a Microsoft robi wszystko, żeby zapewniać mu wsparcie na równi z C#. 

      Warto też dodać, że ten język jest wspierany również przez .NET Core, więc można się spodziewać, że jeszcze przez jakiś czas pozostanie filarem branży.

      Opcje wyłącznie dla Windows

      Jeśli Twoja aplikacja działa na systemie Windows, powinieneś użyć .NET Framework. Wydany w 2002 roku .NET Framework to pierwsza i najstarsza implementacja platformy. Obejmuje trzy główne modele aplikacji – WPF, Windows Forms, ASP.NET Forms – oraz bibliotekę klas bazowych.

      A co z bibliotekami Javy?

      WPF

      WPF to framework interfejsu użytkownika służący do tworzenia interfejsów graficznych, głównie dla klienckich aplikacji desktopowych w systemie Windows. WPF wykorzystuje możliwości języka Extensible Application Markup Language (XAML).

      WF

      To biblioteka klas GUI w .NET Framework. Windows Forms wykorzystuje się do tworzenia rozbudowanych graficznie aplikacji desktopowych, które łatwo aktualizować i wdrażać.

      ASP.NET-2O ile dwa poprzednie komponenty służą do tworzenia aplikacji desktopowych, o tyle ASP.NET wykorzystuje się do budowy dynamicznych stron i aplikacji webowych. Jego sercem jest Common Language Runtime (CLR), które pozwala programistom pisać kod ASP.NET w różnych omawianych tu językach .NET.

      Base Class Library

      BCL udostępnia najczęściej używane funkcje, takie jak klasy w przestrzeniach nazw, i stanowi rdzeń Framework Class Library (FCL) – zestawu interfejsów, klas i typów wartościowych wielokrotnego użytku, ściśle zintegrowanych z Common Language Runtime (CLR).

      Połączenie FCL i CLR tworzy .NET Framework. Biblioteka klas bazowych zawiera też ADO.NET, technologię dostępu do danych, z której programiści korzystają, łącząc się z bazami danych.

      Ponieważ jednak .NET Framework obsługuje wyłącznie urządzenia z Windows, pojawiła się potrzeba pakietu wieloplatformowego.

      Implementacje wieloplatformowe

      NET.COre

      .NET Core został wydany w 2016 roku. To wieloplatformowa przebudowa .NET Framework. W odróżnieniu od starszej wersji inżynierowie mogą używać go na Linuksie i macOS oraz tworzyć aplikacje, które nie muszą być związane z rodziną systemów Windows. 

      Nowy system ma podbić przestrzeń chmurową, ponieważ część dostawców, jak Digital Ocean, działa na Linuksie. .NET Core jest nie tylko wieloplatformowy – różne jego wersje można zainstalować jednocześnie na tym samym urządzeniu. .NET Core obejmuje ASP.NET Core oraz Universal Windows Platform (UWP).

      ASP.NET Core to przebudowany ASP.NET, bardziej modułowy niż jego poprzednik. ASP.NET Core pozwala budować backend dla urządzeń mobilnych, aplikacji webowych i usług. Jest też wieloplatformowy i działa na OS X, Windows oraz Linuksie.

      Tej technologii warto użyć, jeśli:

      • Korzystasz z kontenerów Docker
      • Stawiasz na mikrousługi
      • Potrzebujesz skalowalnych, wydajnych systemów

      Xamarin-1

      Wykorzystywany do produktów mobilnych i na Maca. Xamarin powstał początkowo niezależnie od Microsoftu i był produktem zamkniętym. Microsoft przejął go w 2016 roku i uczynił z niego w pełni otwartą platformę .NET. Xamarin korzysta ze środowiska uruchomieniowego Mono oraz z wersji .NET Framework przystosowanej do pracy z API systemów iOS, Android i Xamarin.Mac. 

      Wszystkie środowiska uruchomieniowe dzielą wspólną infrastrukturę, która napędza cały ekosystem. Zapewnia ona komponenty uruchomieniowe, języki i kompilatory.

      Frameworki

      Entity Framework

      .NET korzysta z modelu programowania obiektowego (OOP). Model ten skupia się na obiektach, a nie na „akcjach”, oraz na danych, a nie na logice. Wsparcie dla tworzenia aplikacji opartych na danych w .NET Framework i Core zapewnia Entity Framework.

      Entity to narzędzie do mapowania obiektowo-relacyjnego (ORM, O/RM, O/R mapping tool), które łączy obiektowe struktury .NET Framework z relacyjnymi (SQL) bazami danych. Część inżynierów uważa, że Entity Framework nie jest wystarczająco elastyczny i może nie obsługiwać wszystkich dostępnych projektów baz danych.

      Oznacza to również, że w pewnym momencie Entity Framework może nie obsługiwać nowych projektów baz danych. Innym problemem jest to, że Microsoft może ostatecznie porzucić ten framework.

      Z drugiej strony zawsze możesz wybrać inny ORM, więc pozostaje to kwestią dyskusyjną.

      UWP

      UWP zapewnia wspólny system typów, API i model aplikacji dla wszystkich urządzeń z Windows 10. Dzięki temu Universal Windows Platform pozwala tworzyć uniwersalne aplikacje na komputery, tablety, Xboxa, Surface Hub, HoloLens czy urządzenia internetu rzeczy (IoT).

      Twórcy aplikacji UWP dostają dostęp do Microsoft Store, który – w odróżnieniu od Google Play i App Store – pobiera jedynie 15 procent od subskrypcyjnych aplikacji spoza kategorii gier. Do pozostałych usług należą środowisko uruchomieniowe (AppContainer) i rozszerzenia SDK do wywoływania wyspecjalizowanych API różnych urządzeń.

      04 Najczęściej stosowane alternatywy dla .NET i ASP.NET

      Zobaczmy teraz, co .NET oferuje na tle innych technologii.

      The Business Side Of .NET Development - net_vs_java

      Obie technologie są obiektowe i dają możliwości tworzenia rozwiązań klasy enterprise praktycznie dla każdego typu aplikacji. Modułowa struktura kodu zapewnia elastyczność, łatwiejsze debugowanie i ponowne wykorzystanie kodu. Idealnie nadają się do złożonych architektur i systemów o dużym obciążeniu, a obu używają znane firmy.

      Szybkość tworzenia

      Choć Java oferuje różne strumienie, które ułatwiają zarządzanie sekwencjami instrukcji i ich przetwarzanie, to .NET wciąż wygrywa pod względem szybkości pisania kodu. .NET to technologia obiektowa złożona z wielu komponentów wielokrotnego użytku, co oznacza, że stworzenie tej samej aplikacji zajmie mniej czasu w .NET niż w Javie.

      Wydajność

      Przez lata nie było dużej różnicy w wydajności aplikacji budowanych w tych technologiach, ale optymalizacje i inwestycje Microsoftu zmieniły reguły gry, tworząc ogromną przepaść między ASP.NET a Javą. Stał się niesamowicie szybki.

      Wszechstronność 

      Jedną z najważniejszych różnic między Javą a .NET jest to, że Java – zwłaszcza Java Enterprise Edition – działa na każdym systemie operacyjnym, a .NET nie. .NET działa wyłącznie na różnych wersjach Windows. Choć dostępne są otwartoźródłowe wersje .NET, ten framework wciąż jest przeznaczony dla użytkowników Windows.

      Koszt wytwarzania

      Według Glassdoor mediana wynagrodzenia programisty Java wynosi 91 000 dolarów, a mediana wynagrodzenia programisty .NET wynosi 88 500 dolarów. 

      Łatwość znalezienia programistów / dostępna pula

      Przyjrzyjmy się statystykom użycia Javy i  .NET, żeby zrozumieć, która technologia stała się popularniejsza. Dane z Stack Overflow Development Survey, w którym wzięło udział ponad 80 000 programistów, pokazują, że 34,2% profesjonalistów używa .NET, a 35,35% Javy.

      Dla kogo to jest?

      Te technologie wykorzystuje się w następujący sposób:

      The Business Side of .NET Development - table 1

       

      The Business Side Of .NET Development - net_vs_laravel

      Z jednej strony mamy PHP, najczęściej używaną i najpopularniejszą technologię w internecie, z milionami oddanych programistów PHP na całym świecie i jej frameworkiem Laravel. Z drugiej strony mamy ASP.NET, platformę Microsoftu. Czasem trudno jednoznacznie zdecydować, którą technologię wybrać do projektu aplikacji czy strony internetowej.

      Szybkość tworzenia

      Implementacja złożonych funkcji w ASP.NET wymaga więcej kodu (więcej linii) niż w PHP, co wydłuża czas realizacji.

      Dodatkowo PHP jest interpretowany na serwerze, więc po zmianie funkcjonalności nie trzeba nic robić, żeby zobaczyć efekty. ASP.NET natomiast musi być kompilowany po każdej zmianie kodu. Znów więc proces wytwarzania w ASP.NET trwa dłużej niż w PHP.

      Wydajność

      Szybkość i wydajność to dwie przewagi po stronie serwera, jakie daje PHP w porównaniu z ASP.NET, którego wydajność jest słaba.

      Ale PHP ani inne języki programowania nie zapewnią szybkości i efektywności ASP.NET, jeśli chodzi o kompilowanie i wykonywanie kodu.

      Wszechstronność

      Jedną z rzeczy, które programiści kochają, jest wolność!

      PHP, w przeciwieństwie do ASP.NET, daje Ci wolność programowania!

      Jak wiesz, PHP jest otwartoźródłowy i daje Ci swobodę robienia tego, co chcesz. Zgadzamy się oczywiście, że pewne ograniczenia powinny istnieć. Korzystając z PHP, możesz swobodnie używać edytorów kodu takich jak Emacs, Notepad++, Bluefish, jEdit czy nawet Notatnik. 

      Przy ASP.NET Twoja wolność jest ograniczona. Możesz być zdany wyłącznie na Microsoft Visual Studio.

      Koszt wytwarzania

      LAMP (Linux, Apache, MySQL, PHP) jest popularny wśród firm hostingowych. Dzięki temu ma niższe miesięczne koszty hostingu niż hosting na Windows.

      ASP.NET jest darmowy przy zakupie Windows. Pojawią się jednak koszty licencji MS Windows Server, MS SQL Server oraz przyszłych aktualizacji.

      PHP jest więc bardziej opłacalny – jest darmowy i otwartoźródłowy. ASP.NET daje jedynie darmowy hosting.

      Łatwość znalezienia programistów / dostępna pula

      Zarówno  .NET, jak i PHP mają dużą społeczność i szeroką pulę programistów, którzy regularnie piszą na forach i zawsze są gotowi pomóc w Twoim projekcie.

      Wśród freelancerów (osób pracujących zdalnie) PHP jest dużo częstszy – głównie ze względu na łatwość nauki. W tej sytuacji programista ASP.NET ma jednak pewną przewagę: stworzywszy klientowi stronę na tej platformie, ma duże szanse na kolejne zlecenia (na przykład na dodanie funkcji). Znalezienie innego freelancera pracującego na tej platformie jest dość trudne.

      Dla kogo to jest?

      The Business Side of .NET Development - table 2

       

      The Business Side Of .NET Development - net_vs_django

      Python to język programowania, podczas gdy .NET jest platformą obsługującą wiele języków. Wśród programistów .NET dość często zdarza się przejście na Pythona i odwrotnie. Obie technologie zapewniają szybkie tworzenie oprogramowania, dobrą wydajność i łagodną krzywą uczenia. Bezpośrednim konkurentem Pythona jest jednak C#. To często utrudnia i komplikuje wybór między nimi.

      Szybkość tworzenia

      Jak mogłeś dowiedzieć się z naszego przewodnika, Python opiera się na zasadzie DRY (Don’t Repeat Yourself) i czytelności. Ma tworzyć dobry kod przy minimalnym wysiłku. Python ma dużo prostszą składnię niż .NET, nie wymaga kończenia każdej linii średnikiem, ma dużo spacji i łatwo się go czyta.

      Wydajność

      Jeśli chodzi o wydajność, różnica między .NET a Pythonem jest duża. Python jest językiem interpretowanym, więc jego szybkość zależy w dużej mierze od interpretera (CPython, PyPy itd.). W odróżnieniu od Pythona .NET jest językiem kompilowanym. Napisanie kodu wymaga więcej czasu i wysiłku, ale działa on wydajniej. 

      Dodatkowo Common Language Infrastructure sprawia, że jest szybszy i oferuje lepszą wydajność niż Python.

      Wszechstronność

      Oba języki powstały do zastosowań ogólnych. Wykorzystuje się je szeroko – od tworzenia gier po internet rzeczy. Jest jednak obszar, w którym bardzo się różnią: uczenie maszynowe. Python jest tu wyjątkowo popularnym wyborem i daje programistom mnóstwo poradników, filmów oraz ogromną liczbę narzędzi: Apache Spark, PyTorch, SciPy i wiele innych. W .NET wybór jest bardziej ograniczony – ML.NET oraz starsze biblioteki, jak Accord.NET, i wiązania dla TensorFlow.

      Koszt wytwarzania

      Biorąc pod uwagę wszechstronność i popularność Pythona w ostatnich latach, nie dziwi, że przeciętny programista Django zarabia 96 000 dolarów (Glassdoor). W tym samym czasie programiści .NET zarabiają 88 tys.

      Łatwość znalezienia programistów / dostępna pula

      Ze względu na wysoką popularność Pythona (48,24%) dużo łatwiej będzie znaleźć programistów na różnych poziomach doświadczenia.

      Dla kogo to jest?

      The Business Side of .NET Development - table 3

       

      The Business Side Of .NET Development - net_vs_nodejs

      ASP.NET i Node.js to dwa nowoczesne frameworki do programowania po stronie serwera. Której platformy użyć przy tworzeniu aplikacji webowych? Czym różni się .NET od Node.js? Sprawdźmy to razem.

      Szybkość tworzenia

      W Node.js wszystkie elementy są tworzone i utrzymywane przez różnych programistów. Wszystkie powstają w oparciu o różne pomysły, standardy i wymagania. Dlatego od czasu do czasu trzeba zaglądać do dokumentacji.

      W ASP.NET większość potrzebnych wtyczek, modułów i pakietów NuGet tworzy Microsoft. Dzięki temu ryzyko usunięcia modułów czy zmiany nazw jest bardzo małe.

      Wydajność

      Bardzo wielu programistów deklaruje, że po przeniesieniu aplikacji na Node.js zauważyli lepszą wydajność.

      Node.js z łatwością radzi sobie z wielozadaniowością, bo działa na wydajnym silniku JavaScript V8. Co więcej, obsłuży większy ruch bez dodatkowych serwerów.

      Porównanie wydajności ASP.NET i Node.js zależy od wymagań projektu. Node.js łatwo radzi sobie z zadaniami wymagającymi mniej obliczeń. Im bardziej zadanie obciąża procesor, tym częściej Node.js zawodzi.

      Najnowsza wersja wieloplatformowego silnika .NET jest o 15% szybsza od wcześniejszych i znacznie wydajniejsza niż ASP.NET.

      Wszechstronność

      Do tworzenia aplikacji webowych w Node.js możesz użyć dowolnego popularnego edytora tekstu. Standardem jest jednak WebStorm (IDE), bo zwiększa ogólną produktywność i ma lepsze wsparcie społeczności.

      Na rynku jest wiele narzędzi, takich jak LINQPad, NDepend czy ELMAH, których możesz użyć do budowy nowoczesnych stron i aplikacji webowych. Zwykle programiści wolą narzędzia takie jak Visual Studio, Web Essentials i Resharper.

      Koszt wytwarzania

      Jednym z największych problemów ASP.NET jest wysoki koszt. Dochodzą do tego duże koszty licencji SQL Server, Windows Server i Visual Studio. 

      Porównując średnie stawki programistów .NET i programistów Node.js, ci drudzy zarabiają 113 791 dolarów rocznie.

      Łatwość znalezienia programistów / dostępna pula

      W porównaniu z innymi, popularniejszymi językami puli programistów .NET brakuje rąk do pracy. Mimo to porządna firma programistyczna .NET zapewni Ci doświadczonych specjalistów do każdego celu.

      Dla kogo to jest?

      The Business Side of .NET Development - table 4

       

      The Business Side Of .NET Development - net_vs_reactnative

      W tym porównaniu lepiej sprawdzić, co Xamarin może nam zaoferować w zestawieniu z React Native. Obecnie React Native i Xamarin są na topie i wyznaczają kierunek. Który z nich wybrać, żeby stworzyć przełomową aplikację?

      Szybkość tworzenia

      Funkcja hot reload w React Native zwiększa szybkość pracy. Dzięki niej programiści mogą natychmiast przeładować aplikację bez jej kompilowania.

      Dodatkowo React Native oferuje wiele gotowych komponentów, dzięki którym szybciej zbudujesz aplikację.

      Narzędzia programistyczne w Visual Studio przyspieszają pracę dzięki wbudowanym kontrolkom i układom. Możesz też zainstalować wtyczki Xamarin i NuGet, żeby ułatwić sobie zadanie.

      Wydajność

      Ponieważ frameworki wieloplatformowe i hybrydowe słyną z poświęcania wydajności na rzecz wygody, ta kategoria jest kluczowa dla Twojej decyzji.

      Choć zarówno Xamarin, jak i React Native oferują wydajność zbliżoną do natywnej, to Xamarin uruchamia najszybszy kod na Androidzie i iOS oraz ma interfejs użytkownika (UI) korzystający z natywnych narzędzi.

      Wszechstronność

      Zarówno Xamarin, jak i React Native mają gotowe komponenty zwiększające produktywność i użyteczność, co przekłada się na większą wszechstronność. Mimo funkcji live reload w React Native cały framework wypada blado w porównaniu z Xamarinem.

      Xamarin.Forms wraz z Xamarin.iOS i Xamarin.Android pozwalają programistom tworzyć własne komponenty UI dla konkretnych platform. Dzięki temu programiści Xamarina mogą zbliżyć się do natywnej wydajności bardziej niż programiści React Native.

      Koszt wytwarzania

      React Native to bardzo elastyczny framework, który pozwala programistom wybrać ulubione IDE. React Native wygrywa też pod względem dostępności, bo jest darmowy! Dzięki React Native programiści mobilni mogą korzystać z frameworka i wszystkich jego bibliotek bez żadnych opłat!

      Xamarin również ma darmową wersję, choć z bardzo ograniczonym zestawem funkcji i mniejszą liczbą zasobów niż React Native. Dodatkowo, choć sama platforma jest darmowa, korzystanie z Visual Studio kosztuje.

      Łatwość znalezienia programistów / dostępna pula

      Według ankiety StackOverflow React Native stał się 6. najpopularniejszym frameworkiem oraz 8. najpopularniejszym frameworkiem do tworzenia aplikacji wieloplatformowych na rynku. Dodatkowo React Native zajął 3. miejsce w rankingu najbardziej pożądanych frameworków.

      W porównaniu z React Native Xamarin wypadł w ankietach słabiej.

      Xamarin zajął 10. miejsce wśród najpopularniejszych platform do tworzenia aplikacji wieloplatformowych i 11. wśród najbardziej pożądanych. Bez cienia wątpliwości programiści wybrali React Native jako najlepszą opcję. Dlatego znalezienie programistów Xamarina będzie trudniejsze.

      Korzystając jednak z naszego darmowego szablonu opisu stanowiska i ogłoszenia dla programisty .NET, zapomnisz o braku rąk do pracy. 

      Dla kogo to jest?

      The Business Side of .NET Development - table 5

      05 Zalety i wady programowania w .NET

      The Business Side of .NET Development - infographic 4 - Pros

      #1. Programowanie obiektowe

      .NET opiera się na module programowania obiektowego. OOP to model wytwarzania oprogramowania polegający na dzieleniu go na mniejsze, łatwiejsze w zarządzaniu części. OOP dzieli dane na pola danych i opisuje zachowanie obiektów poprzez deklaracje klas.

      Moduł programowania obiektowego upraszcza pracę: kod staje się łatwiejszy w zarządzaniu, odpowiada na powtarzalne problemy i ułatwia testowanie. Eliminuje to potrzebę pisania dodatkowego kodu, więc programiści piszą go mniej. Dodatkowo .NET pozwala ponownie wykorzystywać komponenty i kod, co oszczędza czas i koszty.

      #2. Zintegrowane środowisko programistyczne Visual Studio 

      IDE upraszcza tworzenie aplikacji, dostarczając oprogramowanie potrzebne do pisania i testowania kodu.

      Visual Studio to zintegrowane środowisko programistyczne Microsoftu, wykorzystywane do budowania, debugowania i publikowania aplikacji na różnych platformach, w tym na Androida i iOS.

      Najważniejsze cechy IDE Visual Studio:

      • To jedno IDE do wszystkich aplikacji .NET.
      • IDE zawiera funkcje debugowania i wbudowanej kompilacji.
      • Można go używać do aplikacji opartych na kodzie napisanym w różnych językach.
      • Środowisko można też dostosować do preferencji użytkownika.

      Poza tym Visual Studio Marketplace oferuje szeroką gamę rozszerzeń edytora, które umożliwiają ciągłą integrację, współpracę zespołową, zarządzanie pracą w chmurze i połączenia z narzędziami zewnętrznymi.

      #3. Tworzenie wieloplatformowe

      .NET Core jest wieloplatformowy, co oznacza, że pozwala uruchamiać kod na Windows, Linuksie i OS X. W odróżnieniu od pierwotnej platformy .NET, .NET Core jest w pełni otwartoźródłowy, dzięki czemu szersza społeczność inżynierów może współtworzyć jego rozwój.

      Jeśli piszesz kod w F#, C# lub Visual Basicu, będzie on działał na każdym ze zgodnych systemów operacyjnych. Pozwala to firmom korzystać z wielu różnych platform bez opuszczania ekosystemu .NET. Jednocześnie, dzięki wieloplatformowości, społeczność .NET może dzielić się swoim ogromnym zasobem kompetencji inżynierskich.

      #4. Elastyczne wdrażanie i łatwe utrzymanie

      Jedną z najważniejszych i najbardziej przydatnych cech .NET jest elastyczne wdrażanie. Można go zainstalować jako część tworzonej aplikacji albo osobno. Modułowa budowa pozwala dołączyć wszystkie wymagane zależności. Co więcej, wdrożenie w .NET jest tak proste jak skopiowanie folderu.

      Kolejną zaletą jest to, że na jednym komputerze może działać jednocześnie wiele wersji .NET, co ułatwia pracę nad różnymi projektami i płynne wdrożenia.

      #5. .NET obsługuje wiele różnych rodzajów aplikacji

      Framework .NET daje możliwość tworzenia wielu typów aplikacji, takich jak gry, aplikacje mobilne, internet rzeczy czy sztuczna inteligencja.

      Microsoft ogłosił niedawno partnerstwo ze SWIFT, co oznacza, że AI i dane staną się centrum technologii finansowych. Obejmie to budowę ekosystemu zapewniającego wydajne i bezpieczne transakcje dla banków i korporacji.

      Firmy dostrzegły ogromny potencjał uczenia maszynowego, big data i sztucznej inteligencji. Inwestują coraz więcej środków w integrowanie takich komponentów ze swoimi aplikacjami. Ochrona zdrowia, edukacja, marketing, bankowość, biznes i praktycznie wszystko w naszym codziennym życiu może korzystać ze sztucznej inteligencji i big data, żeby ułatwić nam życie.

      #6. Maksymalna wydajność aplikacji

      Microsoft poprawiał wydajność z każdą kolejną wersją. 

      Zbudowany w .NET Stack Overflow, wiodący serwis wiedzy dla programistów, obsługuje 5,3 miliona odsłon dziennie zaledwie na dziewięciu serwerach.

      Nowozelandzki Raygun stworzył chmurową aplikację do monitorowania aplikacji webowych i mobilnych. Rdzeń aplikacji napisano w .NET, ale żeby zachować elastyczność, wykorzystano API przyjmujące dane napisane w Node.js lub na Linuksie. 

      Z czasem framework Node.js staje się cięższy i wolniejszy oraz wymaga skalowania. To jednak wymagało inwestycji. Dlatego firma zdecydowała się przenieść swoje API na .NET. Efektem był wzrost przepustowości o 2000% przy serwerach tej samej wielkości co wcześniej.

      W połączeniu z odpowiednią bazą danych i architekturą ten framework jest idealnym rozwiązaniem dla każdej firmy, która musi się skalować.

      #7. Opłacalność

      Wybierając odpowiednią technologię, najpierw sprawdzasz IDE i narzędzia, które są wymagane albo zwiększają produktywność. Wiele z nich jest darmowych, ale te najlepsze wiążą się z kosztami licencji deweloperskich sięgającymi tysięcy dolarów. Nie ma znaczenia, czy jesteś startupem wchodzącym na rynek, czy dużą firmą – pieniądze można wydać efektywniej.

      Visual Studio Code od Microsoftu wybiera bardzo wielu frontendowych programistów webowych , bo jest dobry, lekki, rozszerzalny i regularnie aktualizowany.

      Jeśli chodzi o infrastrukturę, .NET daje Ci swobodę wyboru dostawcy, który zaoferuje tańszą umowę o poziomie usług. Możesz też hostować swoją aplikację w chmurze.

      Nawet jeśli nie martwisz się o koszty, brak konieczności inwestowania w coś, co nie jest kluczowe, daje Twojej firmie elastyczność i możliwość inwestowania w rozwój zespołu.

      #8. Duża społeczność

      Jeśli z frameworka korzysta wiele firm i programistów, to znaczy, że ma cechy, które do nich przemawiają. Świadczy to też o stabilności i wysokim zaufaniu społeczności, co zachęca kolejne osoby do wypróbowania go.

      Co więcej, duża społeczność oznacza, że niemal każdy problem można rozwiązać z pomocą jej członków.

      The Business Side of .NET Development - chart 3

       

      The Business Side of .NET Development - infographic 4 - Cons

      #1. Ograniczone wsparcie dla obiektowo-relacyjnych baz danych

      Jak wspomniano wyżej, .NET opiera się na podejściu obiektowym, w którym liczą się obiekty, a nie akcje, i dane, a nie logika. Wsparcie dla tworzenia aplikacji opartych na danych w .NET Framework zapewnia Entity Framework.

      Entity działa jak most między obiektowymi bazami danych .NET Framework a SQL. Część programistów uważa jednak, że Entity Framework nie daje wymaganej elastyczności i nie obsługuje wszystkich dostępnych projektów baz danych.

      #2. Zależność od dostawcy

      .NET to framework Microsoftu. Choć Xamarin i .NET Core są otwartoźródłowe, cały ekosystem daleki jest od bycia napędzanym przez społeczność. Oznacza to, że na Twoje produkty będą wpływać decyzje Microsoftu.

      #3. Wycieki pamięci

      Wycieki pamięci zdarzają się we wszystkich technologiach. .NET również bywa krytykowany za problemy z pamięcią i jej wycieki. Choć .NET ma garbage collector, który ma temu zaradzić, inżynierowie i tak muszą włożyć dodatkowy wysiłek w zarządzanie zasobami.

      #4. Złożoność przejścia na .NET Core

      Przejście na  .NET Core bywa długie i trudne. Aplikacje zbudowane na starszych wersjach .NET są dużo większe niż te budowane w .NET Core. Migracja takich aplikacji do najnowszych wersji .NET może być nieco trudna.

      The Business Side of .NET Development - Table Pros & Cons

      06 Zatrudnianie programistów i zespołów .NET – co warto wiedzieć?

      Globalny udział programistów .NET

      Specjaliści IT mogą przesądzić o sukcesie firmy. Doświadczenie, umiejętności i wiedza stają się priorytetem dla rekruterów. Wraz z szybkim rozwojem branży IT znalezienie i zatrudnienie specjalistów staje się prawdziwym wyzwaniem. Znalezienie i zatrudnienie specjalistów .NET może wydawać się jeszcze trudniejsze.

      .NET Framework, .NET Core i .NET 5 to najczęściej używane biblioteki i frameworki w 2021 roku.

      The Business Side of .NET Development - chart 3

      Jeśli chodzi o liczbę programistów .NET na świecie, według starego badania z 2004 roku było ich około 6 milionów. Dziś, przy wielu założeniach, jest ich około 7-8 milionów. Większość używa C#.

      Kogo potrzebujesz?

      Różne zadania wymagają różnego poziomu wiedzy. Tak samo jest z kompetencjami programisty .NET, których możesz potrzebować w projekcie. Oto lista możliwych scenariuszy:

      • Szukasz jednego programisty do zespołu;
      • Chcesz przeskalować istniejący zespół;
      • Chcesz zbudować zespół .NET od zera.

      Każdy scenariusz wymaga innego podejścia. Najpierw jednak ustalmy, jakie kompetencje powinni mieć programiści .NET na różnych poziomach:

      Poziom programisty

      Doświadczenie

      Umiejętności

      Stażysta

      mniej niż 3 miesiące

      C#, rozumienie zasad OOP

      Junior początkujący

      3 miesiące

      C#, ASP.NET, rozumienie zasad OOP, HTML, CSS

      Junior wyższy

      9 miesięcy

      Wszystko powyższe + JavaScript, LINQ, SQL

      Junior zaawansowany

      1,5 roku

      Doświadczenie ze wszystkim powyższym + Angular/ReactJS, Entity Framework

      Mid początkujący

      2 lata

      Wszystko powyższe + swobodna praca z serwerem SQL i technologiami front-endowymi

      Mid wyższy

      2,5 roku

      Wszystko powyższe + doświadczenie z Bootstrapem, optymalizacja zapytań do bazy danych, miniORM-y

      Mid zaawansowany

      3 lata

      Wszystko powyższe + dobre praktyki REST API, GraphQL, sprawne debugowanie

      Senior

      5 lat

      Biegłość w tworzeniu aplikacji webowych, dogłębna znajomość języka C#/Visual Basic, sprawne debugowanie, Docker, znajomość środowiska Agile, praca z chmurą, wzorce architektury aplikacji

      Tech Lead

      5 lat

      Umiejętność rozwijania zespołu i mentoringu,  ASP.NET, rozwiązania w C#, znajomość MSSQL, doświadczenie w tworzeniu systemów o dużym obciążeniu, doświadczenie z metodykami Agile/Scrum, automatyczne testy jednostkowe, mocne umiejętności organizacyjne i menedżerskie

      Architekt

      6 lat

      Projektowanie architektury złożonych aplikacji webowych w .NET, biegłość w: ASP.NET, ASP.NET MVC, tworzenie aplikacji .NET Core, doświadczenie w tworzeniu komponentów dostępu do danych z LINQ i Entity Framework, budowanie web API

      Starszy architekt

      8 lat

      3+ lata doświadczenia w programowaniu na poziomie seniora, biegłość w stosie technologicznym .NET, doświadczenie w budowaniu dużych rozwiązań klasy enterprise, korzystanie z frameworków front-endowych, doświadczenie w debugowaniu, Jira, narzędzia do zbierania metryk, umiejętność pisania tekstów technicznych

      CTO

      8 lat

      Dogłębne rozumienie trendów technologicznych, umiejętność tworzenia budżetów i planów, zdolności przywódcze, gruntowna znajomość programowania w .NET

      Gdzie szukać programistów .NET

      Znalezienie kandydata spełniającego Twoje oczekiwania wymaga czasu. Żeby uprościć proces, najpierw zdecyduj, czy potrzebujesz specjalisty wewnętrznego, zewnętrznego czy freelancera. Pomoże Ci to zawęzić pulę kandydatów.

      Do wyboru kandydatów możesz wykorzystać różne źródła. Oto najlepsze miejsca, w których znajdziesz programistów .NET:

      Platformy społecznościowe i freelancerskie

      Istnieje wiele platform cyfrowych, które mogą być źródłem Twojego kolejnego programisty .NET. Większość z nich to miejsca, w których programiści pokazują swoje umiejętności, a Ty możesz zaprosić ich do pracy w swojej firmie. Jest ich mnóstwo, ale wspomnimy o kilku popularnych.

      • Stack Overflow to serwis pytań i odpowiedzi o wszystkim, co związane z IT i programowaniem, z żywą i aktywną społecznością programistów. Platforma pozwala programistom publikować CV i podkreślać swoje umiejętności, a rekruterzy mogą zamieszczać oferty pracy albo docierać do potencjalnych kandydatów przez bazę ofert serwisu.
      • GitHub to kolejna popularna platforma programistyczna z 28 milionami użytkowników dzielących się swoimi umiejętnościami. Za niewielką opłatą możesz publikować na niej ogłoszenia o pracę i znaleźć programistów .NET na każdym poziomie – od początkujących po seniorów.

      Poza platformami społeczności programistycznych istnieje wiele serwisów freelancerskich, takich jak Freelancer czy Upwork, gdzie znajdziesz wielu dobrych freelancerów w konkurencyjnych stawkach. To rozwiązanie polecamy tylko wtedy, gdy chcesz zatrudnić programistę do krótkiego projektu lub konkretnego zadania.

      Portale z ofertami pracy

      Drugi sposób na zatrudnienie programistów .NET to portale i tablice z ofertami pracy. Przykłady takich serwisów to Indeed, Monster, Glassdoor i SimplyHired. Pozwalają one filtrować kandydatów według Twoich wymagań spośród setek i tysięcy potencjalnych pracowników zarejestrowanych na platformie. Ta opcja sprawdza się też w projektach, w których musisz zatrudnić nie więcej niż trzy osoby.

      Marketplace’y specjalistów IT

      Jeśli dwie poprzednie ścieżki nie sprawdzą się w Twoim przypadku, jednym z najlepszych i najpewniejszych sposobów na znalezienie i zatrudnienie dobrego programisty lub zespołu programistów jest skorzystanie z marketplace’u specjalistów IT. Taka usługa nie tylko oszczędzi Ci mnóstwo czasu i wysiłku, ale też da 100% pewności, że zatrudnisz właściwego programistę. 

      Niezależnie od tego, jakiej formy zatrudnienia szukasz (samego freelancera czy w pełni dedykowanego zespołu doświadczonych specjalistów), postawienie na marketplace specjalistów IT to najlepsza droga przez proces rekrutacji.

      Ile to kosztuje?

      Średnie wynagrodzenie programisty .NET w USA to $93,500. Miej tę liczbę na uwadze, czytając dalszą część tej sekcji.

      W większości krajów średnie wynagrodzenie programisty .NET jest niższe niż w Stanach Zjednoczonych. Niektóre są blisko, ale skoro USA są światowym liderem technologicznym, to naturalne, że oferują najwyższe stawki dla programistów .NET, a kraje o mniejszym wpływie pozostają w tyle.

      Weźmy na przykład ich przyjaznego północnego sąsiada. Mediana wynagrodzenia programisty .NET w Kanadzie to $87,500. Zapłacisz nieco więcej, jeśli Twoja firma znajduje się w jednym z dużych kanadyjskich miast. Na przykład mediana wynagrodzenia programisty .NET w Ontario to 110 000 dolarów.

      Średnie wynagrodzenie programisty .NET w Wielkiej Brytanii to $72,000. To stosunkowo niska kwota.

      Jednocześnie w krajach Europy Środkowo-Wschodniej koszt jest jeszcze niższy. Na przykład w Polsce zapłacisz swojemu  programiście .NET zaledwie $21,000 rocznie.

      Jednocześnie poziom kompetencji polskich programistów nie ustępuje programistom ze Stanów. Potwierdziły to liczne ankiety i case studies.

      The Business Side of .NET Development - chart 4

      07 Case studies projektów .NET i najlepsze zastosowania. Co jest dostępne?

      Jako kluczowa osoba decyzyjna pracująca z zespołem programistów chcesz mieć pewność, że przypadki użycia pasują do narzędzi i oprogramowania, z którymi pracuje Twój zespół. Zwykle przy tworzeniu nowej aplikacji lub nowej technologii usprawniającej biznes prawie nigdy nie ma jednego uniwersalnego rozwiązania.

      Przy korzystaniu z różnych wersji Microsoft .NET zdecydowanie trzeba wziąć pod uwagę kilka czynników, a do tego dochodzi historia wersji, która może zawrócić w głowie każdemu zespołowi. Ważne jest jednak zrozumienie swojego przypadku użycia i tego, kiedy stosować dany komponent ekosystemu .NET.

      Według ankiety Stack Overflow wykorzystanie .NET tylko rośnie, a firmy muszą zrozumieć, jak mogą i powinny używać go w swoich projektach. 

      W tym rozdziale omówimy kilka typowych zastosowań ASP.NET w znanych projektach.

      The Business Side of .NET Development- mockup 1

      Microsoft stworzył ASP.NET, żeby pomóc programistom budować dynamiczne strony i aplikacje webowe. Nie dziwi więc, że firma korzysta z własnego produktu przy budowie swojej strony. Z narzędzi stworzonych dla programistów korzystają jej właśni pracownicy.

      Wszystko jest tu przejrzyste i spójne — strona jest responsywna, płynna i prosta.

      The Business Side of .NET Development - mockup 2

      Prywatny serwis stworzony przez Jeffa Atwooda i Joela Spolsky’ego w 2008 roku, Stack Overflow, przekształcił się w serwis pytań i odpowiedzi dla zawodowych programistów. To oni współtworzą bibliotekę szczegółowych odpowiedzi na wszystkie pytania programistów .NET , jakie mogą pojawić się podczas programowania.

      Serwis pomaga programistom uczyć się zawodu. Microsoft ASP.NET to jedna z technologii w stosie, na którym zbudowano Stack Overflow. 

      Zdaniem architektów tego serwisu to jeden z najbardziej niezawodnych elementów infrastruktury, z jakich korzystali, i pozwala im skalować stronę w miarę potrzeb. Przy ponad 16 milionach odsłon miesięcznie skalowalność była dla serwisu ważnym czynnikiem.

      The Business Side of .NET Development - mockup 3

      Jak sama nazwa wskazuje, MarketWatch to serwis prezentujący informacje finansowe w formie wiadomości biznesowych, analiz i danych giełdowych. Poza śledzeniem pulsu rynku obsługuje ponad 16 milionów odwiedzających i kilka milionów nowych użytkowników miesięcznie. Oprócz notowań giełdowych oferuje też porady dotyczące finansów osobistych.

      Dobrze wykorzystuje kluczowe cechy ASP.NET — rozszerzalność i skalowalność — dzięki czemu strona jest bardzo dobrze uporządkowana i wydajna oraz bez zakłóceń zarządza ogromną ilością treści.

      The Business Side of .NET Development - mockup 4

      CodeProject udostępnia darmowy kod źródłowy i poradniki dla programistów i architektów oprogramowania. To ogromna platforma, na której powstają i rozchodzą się pomysły, a programiści wykorzystują je do rozwiązywania swoich problemów i nadążania za najnowszymi technologiami.

      ASP.NET pomógł twórcom serwisu zarządzać CodeProject i skalować go w miarę potrzeb. CodeProject, z elastyczną platformą i ogromną społecznością, to naprawdę jedno z najlepszych miejsc do tworzenia nowych projektów.

      The Business Side of .NET Development - mockup 5

      GoDaddy to nazwa dobrze znana osobom hostującym strony. To notowana na giełdzie firma zajmująca się rejestracją domen internetowych i hostingiem, która obsługuje ponad 17 milionów klientów. Strona firmy również jest zbudowana na ASP.NET.

      The Business Side of .NET Development - mockup 6

      Znany portal znanego producenta komputerów. Trzeba jednak przyznać, że Dell to dziś coś więcej niż wytwórca komputerów. Wystarczy przyjrzeć się jego stronie, żeby zobaczyć, że firma chwali się dziesiątkami rozwiązań programowych, w tym chmurowych. Strona napisana w .NET ma wiele funkcji. Nie wierzysz? Wejdź i sprawdź!

      The Business Side of .NET Development - mockup 7

      Jedno z wiodących rozwiązań księgowych do zarządzania firmą w podróży. Produkty firmy są przeznaczone dla małych i średnich przedsiębiorstw. Produkt jest wydajny, stabilny i niezawodny.

      Ponieważ .NET słynie z bezpieczeństwa i niezawodności, aplikacje księgowe i kadrowo-płacowe to również kluczowe zastosowania. .NET oferuje mechanizmy zapobiegające nieautoryzowanym modyfikacjom i manipulacjom kodem. Programiści mogą bezpiecznie dostarczać modułów rozrachunków z odbiorcami i dostawcami, księgowości, zarządzania magazynem i innych, zarówno dla małych, jak i dużych firm. .NET ma też solidne funkcje, które powinien mieć każdy system księgowy, w tym automatyczne monitorowanie.

      The Business Side of .NET Development - mockup 8Popularna otwartoźródłowa platforma programistyczna z tysiącami przykładów kodu. HTML, CSS i JavaScript, SQL Server oraz inne typowe problemy programistyczne – W3schools.com obejmuje je wszystkie. Skorzystaj z niej, żeby uczyć się, testować i wdrażać ciekawe rzeczy w najprostszy i najbardziej efektywny sposób. Unikaj błędów i pisz sensowny kod. Wielu specjalistów IT uważa ją za jeden z najlepszych serwisów do zdobywania wiedzy o IT.

      08 .NET dziś i jutro

      Stan .NET na początku 2022 roku

      Duża, coroczna ankieta Stack Overflow Developer Survey przynosi ciekawe dane – na przykład .NET Core/.NET 5 jest „ulubionym” środowiskiem programistycznym spoza kategorii webowej, choć stary .NET Framework, który zastępuje, wciąż jest w użyciu.

      Ankieta SO to jedno z największych badań w ekosystemie wytwarzania oprogramowania – w edycji z 2021 roku udział wzięło ponad 80 000 programistów, którzy przedstawili swoje opinie o narzędziach i trendach. 

      Pytania ankiety mierzą „miłość” i „strach” wobec różnych produktów, a także to, które produkty są „pożądane”.

      Na przykład .NET Core (dziś po prostu .NET 5, .NET 6 itd.) został wskazany jako „ulubiony” poza frameworkami i bibliotekami webowymi przez 72,67 procent respondentów, choć 27,33% określiło go jako „budzący obawy”.

      The Business Side Of .NET Development - stackoverflow chart

      .NET Core był też najbardziej lubianym frameworkiem spoza kategorii webowej w ankietach z 2019 oraz z 2020 roku.

      The Business Side of .NET Development - chart 5

       

      The Business Side Of .NET Development - 2019 survey

      .NET Core/.NET 5 to oczywiście otwartoźródłowy, wieloplatformowy produkt Microsoftu, który wyewoluował z przestarzałego, zamkniętego .NET Framework dla Windows. Choć nowe podejście przyjęły miliony programistów, badanie SO pokazuje, że to .NET Framework znajduje się na szczycie listy „innych frameworków i bibliotek”.

      W rzeczywistości z 19-letniego .NET Framework korzystało 34,2% wszystkich respondentów, podczas gdy dużo nowszy .NET Core / .NET 5 wskazało 31,5%, plasując się za NumPy z wynikiem 33,84%.

      The Business Side of .NET Development - chart 3

      Wśród profesjonalnych programistów .NET Core/.NET 5 wypada najlepiej (35,26% respondentów), przed NumPy i za .NET Framework z wynikiem 37,1%.

      The Business Side of .NET Development - chart 7

      Jakie wydarzenia związane z .NET są dostępne?

      .NET Conf

      .NET Conf to darmowe, trzydniowe wirtualne wydarzenie dla programistów poświęcone najważniejszym wydaniom platformy .NET. Organizują je społeczność .NET i Microsoft, a sponsorują .NET Foundation oraz partnerzy ekosystemu.

      Microsoft Inspire

      Nowe wydarzenie, wcześniej znane jako Microsoft Worldwide Partner Conference, to tydzień pełen rozmów, nauki i współpracy dla obecnych partnerów Microsoftu oraz tych, którzy chcą nawiązać współpracę z tym technologicznym gigantem. 

      Na Microsoft Inspire usłyszysz najnowsze spostrzeżenia najwyższej kadry Microsoftu, spotkasz innych partnerów firmy i zyskasz wiele okazji, żeby przyspieszyć swój sukces. Mówiąc wprost: żadne inne wydarzenie nie oferuje partnerom Microsoftu doświadczenia tej jakości co Microsoft Inspire. 

      Visual Studio Live!

      VSLive! organizuje serię niezależnych konferencji, zaczynając w czerwcu, a kończąc w listopadzie. Kampania obejmuje pięć wydarzeń odbywających się w różnych miastach w Stanach Zjednoczonych. Programiści mogą tam podnosić swoje kompetencje w zakresie Visual Studio, ASP.NET, .NET Core, bezpieczeństwa ASP.NET Core, JavaScriptu, Xamarina, analityki baz danych i innych technologii.

      Microsoft Ignite

      Ta konferencja, wcześniej znana jako TechEd, to miejsce, w którym najwięksi myśliciele branży IT spotykają się z liderami technologicznymi i innymi specjalistami oraz poznają najnowsze spostrzeżenia gigantów i praktyków z obszarów chmury, danych, analityki biznesowej, pracy zespołowej i produktywności.

      Najlepsze wydarzenia i influencerzy Javy, których warto śledzić

      Ponieważ tworzenie oprogramowania jest mocno zespołowe, media społecznościowe stały się centrum oddolnych społeczności programistycznych. LinkedIn, Facebook, a zwłaszcza Twitter i Reddit dają specjalistom i pasjonatom Javy przestrzeń do kontaktu, współpracy i dzielenia się wiedzą o tworzeniu oprogramowania w Javie. 

      Przez lata część ekspertów Javy zbudowała spore grono odbiorców – ich konta to podstawowe źródło najnowszych wiadomości i aktualizacji o Javie, relacji z wydarzeń i przełomowych innowacji. Oto kilku czołowych ekspertów Javy, których warto śledzić w mediach społecznościowych.

      Java Pillar - mockups 3 - 1

      Na co dzień Markus jest Developer Adoption Program Leadem na region EMEA w Red Hat. Po godzinach jest też Java Championem, byłym członkiem Java EE Expert Group, założycielem JavaLand, i uznanym prelegentem konferencji javowych (zobacz poniżej), z ponad 14-letnim solidnym doświadczeniem jako programista i ekspert Java EE. Możesz go śledzić, żeby być na bieżąco z tworzeniem oprogramowania w Javie i architekturą mikrousług.

      Java Pillar - mockups 3 - 2

      Zastępca CTO w Azul Systems, Simon przez blisko 20 lat pracował w Sun Microsystems, a potem w Oracle, kierując zespołem ewangelizacji technologii Java i napędzając adopcję języka w różnych sektorach. Jak sam mówi, szerzy wiedzę o Javie i JVM na całym świecie.

      Java Pillar - mockups 3 - 3

      Trisha jest Lead Developer Advocate w JetBrains, specjalizuje się w wysokowydajnych systemach javowych i aplikacjach dla wielu branż. Skupia się na ułatwianiu życia programistom Javy poprzez wpisy blogowe, książki, wystąpienia i comiesięczny newsletter w JetBrains. Trisha dzieli się trikami oszczędzającymi czas i wskazówkami, jak podnosić swoje umiejętności w Javie.

      Java Pillar - mockups 3 - 4

      Adam pracuje jako niezależny konsultant Javy od czasów JDK 1.0 i przez lata stał się jednym z czołowych ekspertów tej technologii. Java Champion, członek założyciel NetBeans Dream Team, Oracle ACE Director, trzykrotny JavaOne Rock Star – regularnie występuje na konferencjach javowych. Prowadzi też bloga, podcast i kanał na YouTubie, wszystkie poświęcone programowaniu w Javie.

      Java Pillar - mockups 3 - 5

      Mark jest głównym architektem Java Platform Group w Oracle. Od ponad 20 lat współtworzy platformę Java SE, pełniąc funkcję głównego inżyniera kilku wydań JDK. Konto Marka na Twitterze to wiarygodne źródło wiedzy o nadchodzących wydaniach i aktualizacjach Javy.

      Java Pillar - mockups 3 - 6

      Josh jest programistą aplikacji, autorem tekstów technicznych i administratorem baz danych, pracującym głównie z Javą i innymi technologiami JVM. To płodny autor, który dzieli się swoją wiedzą o tworzeniu oprogramowania w Javie i regularnie publikuje na blogu Oracle oraz w Java Magazine. Śledź go, jeśli szukasz treści technicznych, wiadomości i relacji z wydarzeń związanych z Javą.

      Java Pillar - mockups 3 - 7

      Poza tym, że jest Java Championem, międzynarodową prelegentką i IBM Master Inventor, Angie działa jako wolontariuszka w Black Girls Code i prowadzi swojego bloga, na którym publikuje mnóstwo artykułów, filmów i innych treści o programowaniu i automatyzacji. Angie prowadzi też internetową platformę szkoleniową Test Automation University.

      Java Pillar - mockups 3 - 8

      Bruno przez blisko sześć lat pracował w Oracle jako Principal Product Manager, a dziś działa w Java Engineering Group w dziale deweloperskim Microsoftu. Odpowiada za budowanie obciążeń javowych dla chmury Azure, a jednocześnie kieruje publiczną komunikacją Javy w Microsofcie. Jeśli więc szukasz nowinek o Java EE, chmurze i JavaFX, jego konto jest właściwym miejscem.

      Java Pillar - mockups 3 - 9

      Kolejna Java Champion na naszej liście – Mala pracuje jako Developer Advocate w JetBrains. Jest też autorką kilku przewodników OCA Java Certification i innych książek o programowaniu w Javie, prelegentką oraz założycielką serwisu z kursami do certyfikacji Oracle Java. Zajrzyj na jej Twittera po informacje o wydarzeniach javowych, spostrzeżenia techniczne i materiały edukacyjne.

      Influencerzy, blogi i podcasty o .NET, które warto śledzić

      Mike’s Dot Netting

      The Business Side of .NET Development - Profile 1

      Mikesdotnetting.com opisuje wszystkie aspekty ASP.NET, a jego autorem jest Mike Brind, od lat Microsoft MVP w obszarze ASP/ASP.NET. Jeśli chcesz być na bieżąco z najnowszymi funkcjami ASP.NET, to właśnie Mike’a warto słuchać. Ostatnio dużo pisze o nowych aktualizacjach Razor Pages.

      Poruszane obszary:

      • ASP.NET
      • Razor Pages
      • ASP classic

      You’ve Been Haacked

      The Business Side of .NET Development - Profile 2

      Czy to przypadek, że ktoś o nazwisku Haack został programistą? Phil Haack pracuje w Github i prowadzi bloga od 2004 roku. Poza zainteresowaniem Gitem i .NET Phil pasjonuje się projektami open source. Pisze też o przywództwie i zarządzaniu w świecie technologii.

      Poruszane obszary:

      • Git
      • ASP.NET
      • .NET Core
      • Przywództwo

      Maarten Balliauw

      The Business Side of .NET Development - Profile 3

      Maarten Balliauw jest prelegentem, programistą i technology advocate w JetBrains. Często pisze w podróży, występuje na konferencjach na całym świecie i opowiada o wyciągniętych wnioskach oraz najnowszych nowinkach technicznych.

      Poruszane obszary:

      • ASP.NET MVC
      • C#
      • Microsoft Azure
      • PHP

      Code Opinion

      The Business Side of .NET Development - Profile 4

      Code Opinion prowadzi Derek Cromartin, specjalista Microsoft Visual Studio i MVP Development Specialist. CodeOpinion jest idealny dla programistów ASP.NET zainteresowanych wzorcami architektonicznymi takimi jak CQRS i Event-Driven oraz tworzeniem HTTP API. Porusza te i wiele innych tematów zarówno na blogu, jak i na swoim kanale na YouTubie.

      Poruszane obszary:

      • .NET Core
      • CQRS
      • ASP.NET

      Matt Warren

      The Business Side of .NET Development - Profile 5

      Matt Warren regularnie występuje i prowadzi bloga o .NET, CLR i C#. Jego blog jest świetny dla programistów .NET, których szczególnie interesuje działanie CLR i CoreCLR. Artykuł Matta „Hitchhiker’s Guide to the CoreCLR Source Code” to lektura obowiązkowa dla początkujących programistów.

      Poruszane obszary:

      • CLR
      • Core CLR
      • C#
      • .NET

      .NET Rocks

      The Business Side of .NET Development - Profile 6

      Carl i Richard spotykają się co tydzień i zapraszają nowego gościa do podcastu, co daje wiele ciekawych spojrzeń i konkretnych tematów do omówienia.

      Poruszane obszary:

      • .NET Core
      • Azure
      • Chmura
      • ASP.NET

      Merge Conflict

      The Business Side of .NET Development - Profile 7

      Współautorzy są wielkimi fanami platformy .NET i technologii Microsoftu w ogóle. Frank i James wypuszczają nowy odcinek co tydzień i rozmawiają swobodnie, ale zawsze mają jasny cel odcinka.

      Poruszane obszary:

      • Azure
      • C#
      • DevOps
      • .NET Core

      Plany na przyszłość

      Ponieważ .NET 5 nie zrealizował wszystkich planowanych funkcji z powodu problemów technicznych oraz opóźnień wywołanych pandemią COVID-19, część pierwotnych planów przeniesiono do .NET 6 (spodziewanego w listopadzie 2021), który będzie wydaniem z długoterminowym wsparciem (LTS). .NET 5 możemy traktować jako kolejny krok w stronę świetlanej przyszłości .NET.

      The Business Side Of .NET Development - schedule

       

      Najważniejsze cele .NET 6 są już ustalone. Wiele z nich dotyczy usprawnień, które nie trafiły do .NET 5 – jak Xamarin nowej generacji, zmniejszający barierę między tworzeniem aplikacji desktopowych i natywnych mobilnych, oraz lepsza integracja między wieloma zestawami narzędzi UI dla Windows.

      .NET 5 to kluczowa technologia w oddzielaniu API Windows od systemu, łączeniu API WinRT i Win32 w Project Reunion oraz przechodzeniu na WinUI 3 i MAUI jako warstwy interfejsu. Zespół Windows dalej pracuje nad Project Reunion jako kolejnym krokiem naprzód dla UWP i powiązanych technologii.

      W 2020 roku Microsoft ogłosił wydanie nowego, wysokiej klasy frameworka UI do tworzenia aplikacji wieloplatformowych o nazwie .NET MAUI. Będzie to ewolucja Xamarin.Forms, która uprości pracę programisty i strukturę projektu do jednego projektu obsługującego wiele platform. .NET MAUI zostanie udostępniony publicznie wraz z .NET 6 w listopadzie 2021 roku.

      Na nowej stronie stworzonej przez Microsoft możemy zobaczyć wizję .NET. Nazywa się ona Themes of .NET. Opublikowany po raz pierwszy pod koniec zeszłego roku themesof.net zbiera zgłoszenia z GitHuba i grupuje je w tematy oraz epiki (terminologia znana ze zwinnego zarządzania projektami). Na tej stronie widać, że Microsoft będzie priorytetyzował następujące tematy:

      Udostępnienie .NET początkującym i nauczycielom

      Pomysł polega na tym, żeby obniżyć bariery wejścia w .NET dzięki otwartemu programowi nauczania informatyki, który można uruchamiać interaktywnie na notatnikach .NET.

      Blazor na Twoim pulpicie

      To byłby ciekawy kierunek i prawdopodobnie konkurencja dla Electrona. Zwiększenie zasięgu Blazora jest oficjalnym celem i wygląda na dobry ruch.

      Ulepszanie ekosystemu .NET

      Pomysł jest następujący: 

      Wielu programistów unika narzędzi zewnętrznych, budując swój stos .NET ➡️ Skoro .NET wciąż rośnie ➡️ powinien pomagać innym programistom odnosić sukcesy, zwłaszcza tym z projektami open source, z których może korzystać cała społeczność.

      Lepsza produktywność programistów

      Obejmuje to długo wyczekiwane usprawnienia, takie jak hot reload w ASP.NET i prekompilacja dla Blazora. Microsoft twierdzi, że w tym obszarze konkurencyjne platformy wciąż wypierają .NET.

      Demokratyzacja ML.NET

      Przepaść między zabawkowymi przykładami w ML.NET (wprowadzonym w 2018 roku) a praktyczną integracją jest ogromna i wielu programistów wpada w nią w chwili entuzjazmu. Programiści Microsoftu wymyślili wiele drobnych usprawnień , które mogą pomóc osobom bez specjalistycznej wiedzy zintegrować funkcje uczenia maszynowego ze swoimi aplikacjami.

      Patrząc więc na najnowsze trendy, w tym Azure jako jedną z głównych platform chmurowych, przyszłość świata deweloperskiego Microsoftu wygląda świetnie. Skoro otwartość kodu i wieloplatformowość są kluczowymi priorytetami, wygląda na to, że w najbliższych latach będzie zmierzał we właściwym kierunku.

      09 Podsumowanie

      Wygląda na to, że dotarłeś do końca. Brawo! Mamy nadzieję, że nie pominąłeś żadnej części, bo wszystkie są kluczowe dla ostatecznego obrazu tej technologii.

      Dziękujemy, że byłeś z nami przez cały ten artykuł!

      Mamy nadzieję, że Twoje rozumienie .NET znacznie się pogłębiło, a może nawet zaczniesz go kochać (tak jak my!).

      Dołożyliśmy wszelkich starań, żeby omówić wszystkie ważne obszary związane z .NET. Wiemy jednak, że wraz z rozwojem technologii ta strona też będzie musiała rosnąć. Dlatego możesz na nas liczyć – będziemy stale aktualizować i rozwijać treści, żeby były na bieżąco i dawały możliwie najlepsze informacje.

      Na razie prosimy, pomóż nam rozpowszechnić te cenne informacje, udostępniając i publikując ten materiał.

      Zespół Ideamotive

      Gotowy, by zbudować swój kolejny produkt cyfrowy w .NET?

      Prowadzimy rozległą sieć zweryfikowanych specjalistów od tworzenia oprogramowania, w tym ekspertów .NET. Możemy zapewnić Ci doradztwo techniczne, dołączyć programistów do Twojego zespołu albo zbudować go od zera.