5 produktów Microsoftu, których używam jako student

Ostatnimi czasy sporo narzekałem na Microsoft, a szczególnie na ich najmłodsze dziecko – Windows 10. Stabilność tego tworu i potrzeba naprawiania różnych „dziwnych” problemów po każdej większej aktualizacji woła o pomstę do nieba. Na szczęście, Microsoft posiada jeszcze wiele usług, których nie zdążyli zepsuć, których używa się całkiem przyjemnie. Windows 10 używam, bo czasem ciężko się bez niebo obyć. Jest wiele aplikacji (wymaganych także na studiach) które są dostępne tylko w wersji na Windows i uruchamianie ich pod Linuksem (wine) jest jak gra w ruletkę.

Strategia przyjęta przez CEO Microsoftu „mobile-first, Cloud-first” w pewnym sensie przynosi pozytywne skutki. Usługi chmurowe Microsoftu oferują wiele przydatnych funkcji (przynajmniej z perspektywy studenta, który chciałby wykonać jakąś ciekawą aplikację). Firmie z Redmond nie zaszkodziło także otworzenie się na Linuksa. Wiele aplikacji, które zostały wydane na tę platformę jest z powodzeniem używanych i chwalonych.

Poniższe zestawienie wykonałem, gdyż sam byłem ciekawy z ilu łącznie usług i aplikacji Microsoftu korzystam. Na liście znajdują się zarówno ciekawe usługi Microsoftu, jak i aplikacje, zarówno desktopowe jak i mobilne.

No to zaczynamy! Rozpoczniemy od aplikacji typowo konsumenckich. Numerem 1, którego używam kilkanaście do kilkudziesięciu razy na dzień jest:

Aplikacje mobilne

1. Microsoft Launcher

Wcześniej znany był jako Arrow Launcher. Microsoft Launcher był pierwszą instalowaną aplikacją na każdym z telefonów, których używałem w przeciągu ostatnich trzech lat. Czym zaskarbił sobie moją sympatię?

Przede wszystkim, Microsoft Launcher ma dosyć zaawansowane opcje personalizacji. Można wpłynąć na wiele aspektów funkcjonowania launchera. Interesujący jest też „ekran startowy”, na którym znajdują się różnego rodzaju karty, zawierające ciekawe informacje. Microsoft Launcher potrafi przypomnieć mi o ważnych wydarzeniach, które mam zapisane w kalendarzu. Kalendarz jest oczywiście zsynchronizowany z aplikacją dla PC. (Kalendarz jest jedną z nielicznych aplikacji UWP, które używam). Kolejne karty, takie jak Wiadomości, ostatnie działania czy często używane aplikacje także nie pozostają w tyle.

Wzorem innych launcherów, Microsoft Launcher oferuje kilka pulpitów, które możemy dowolnie zagospodarować. Możemy umieszczać nie tylko ikony programów i widżety, ale także tworzyć foldery, w których znajdować się może kilka aplikacji.

Ikony na pasku dolnym możemy dowolnie zmieniać. Rzadko używasz funkcji dzwonienia? Nic nie stoi na przeszkodzie, abyś wywalił ikonkę Dialera i wstawił tam np.: Messengera czy innej aplikacji, której używasz częściej.

Byłem długoletnim użytkownikiem Windows Phone. Najbardziej podobała mi się w nim lista aplikacji. Programy były posortowane alfabetycznie na ergonomicznej liście. Znalezienie odpowiedniej aplikacji było bardzo proste. Microsoft Launcher nie wprowadził co prawda znienawidzonych przez niektórych ludzi kafelków. Firma z Redmond zadbała jednak o to, aby sposób wyświetlania listy zainstalowanych aplikacji przenieść z Windows Phone praktycznie 1:1.

Lista zainstalowanych aplikacji nie tylko wygląda tak samo, ale także działa tak samo jak w Windows Phone. Jeśli chcemy odinstalować nieprzydatny już program, nie musimy grzebać w panelu ustawień Androida. Wystarczy, że przytrzymamy dłużej ikonkę danej aplikacji. Wtedy wyskoczy menu kontekstowe, w którym spośród wielu opcji możemy wybrać akcję „Odinstaluj” i tym samym pozbyć się niepotrzebnej aplikacji.

Aplikacje desktopowe

2. Visual Studio IDE

 Ten programistyczny kombajn jest jednym z najlepszych środowisk programistycznych dostępnych na rynku. Od dosyć dawna jego nieznacznie okrojona wersja jest dostępna za darmo (Visual Studio Community).

Dlaczego uwielbiam Visual Studio? IntelliSense, czyli automatyczne uzupełnianie składni. Jeśli kod jest udokumentowany, to za pomocą IntelliSense uzyskamy także łatwy dostęp do opisu funkcji. Często nie musimy nawet kompilować programu i czekać na błędy kompilatora aby dowiedzieć się, że popełniliśmy jakiś głupi błąd (typu brak średnika).

Wspaniały Debugger jest drugą istotną zaletą. Mając odpowiednie narzędzia, znajdowanie nawet trudnych do wykrycia bugów jest o wiele prostsze. Debugger Visual Studio pozwala na łatwe śledzenie zawartości zmiennych podczas działania programu. Działa prawidłowo także wtedy, kiedy używamy zmiennych wskaźnikowych (gdb z Code::Blocks w tym momencie lubi się gubić). Debugger Visual Studio posiada także wiele innych opcji, takich jak możliwość śledzenia „Call Stack” (Call Stack jest przydatny przy badaniu działania funkcji rekurencyjnych. Call Stack pokazuje, jakie wywołania zostały odłożone na stos) czy możliwość śledzenia pracy wielu wątków.

Visual Studio posiada także integrację z Git oraz Visual Studio Team Services. Sprawia to, że wieloosobowa praca nad projektem to sama przyjemność. Nic się nie krzaczy ani nie psuje (por. Android Studio i git, z którym miałem dosyć spory problem na Hackatonie). Jedyną wadą jest to, że na początku ciężko się zorientować gdzie znajdują się poszczególne opcje. Ale już krótka chwila pracy wystarczy aby zorientować się w położeniu poszczególnych elementów.

Visual Studio jest doskonale zintegrowane z aplikacjami zewnętrznych twórców. IDE Microsoftu wspaniale współpracuje np.: z silnikiem do tworzenia gier Unity.

Istnieją tylko dwie wady opisywanego środowiska programistycznego. Po pierwsze – w porównaniu Code::Blocks, ważący kilkadziesiąt megabajtów to w porównaniu do Visual Studio pióreczko. Patrząc na to, ile miejsca na dysku zajmuje IDE Microsoftu możemy przypomnieć sobie czasy Visty, gdzie po kilku aktualizacjach zajęty był cały dysk J. Drugą z wad jest idąca za tym powolność działania na słabszych komputerach.

3. Visual Studio Code

Microsoft od jakiegoś czasu dobrze żyje ze swoimi linuksowymi siostrami i braćmi. Efektem tej współpracy jest wydanie dosyć sporej części swoich kluczowych aplikacji na platformę Unix/Linux. Jedną z nich jest Visual Studio Code, czyli odchudzona wersja Visual Studio napisana w Electronie. Visual Studio Code stanowi nie tylko wspaniały pokaz nowej technologii (gdzie Javascript i odpowiednie frameworki powoli wypierają tradycyjne aplikacje napisane w językach kompilowanych do kodu maszynowego) ale także pokazuje, że Microsoft nadal potrafi stworzyć płynnie działającą, ładnie wyglądającą i ergonomiczną aplikację.

W porównaniu do pełnego Visual Studio, Visual Studio Code chodzi niebagatelnie szybko. Podobnie jak w pełnej wersji środowiska, istnieje obsługa git, Istnieje także nieco „zubożona” wersja IntelliSense. Niemniej, jest to idealne IDE kiedy musimy stworzyć jakąś stronkę internetową czy napisać coś w node.js.

Visual Studio Code używam od niedawna, ale mimo to mnie zauroczyło. Każdemu, kto ma do czynienia z językami Javascript i dostępnymi dla niego frameworkami polecam spróbować tego IDE.

Wspominam cały czas o Javascripcie. Nie oznacza to, że w Visual Studio nie możemy pisać aplikacji w C,C++ czy innych językach kompilowanych, takich jak Java. Problemem jest to, że Visual Studio Code nie ma zintegrowanego żadnego kompilatora i debuggera dla tych języków. Musimy albo sami skonfigurować środowisko albo pobrać odpowiednią paczkę dodającą te funkcjonalności (ani jednej ani drugiej drogi nie próbowałem, gdyż nie miałem takiej potrzeby).

Chmura

4. Dreamspark

Zbliżamy się do najciekawszych usług Microsoftu. W przeciwieństwie do powyżej wymienionych, które są dostępne dla każdego, Dreamspark jest specjalną usługą dostępną dla nielicznych xD. Dzięki rejestracji w Dreamspark mamy dostęp do bardzo dużej części oprogramowania firmy z Redmond za darmo. Program Dreamspark jest dostępny nie tylko dla studentów. Mogą także w nim uczestniczyć osoby uczące się w liceach/technikach. Warunkiem jest to, aby dana szkoła uczestniczyła w programie.

Ilość dostępnego software zależy od tego, jaką subskrypcję posiada dana uczelnia. W okresie, kiedy chodziłem do technikum miałem dostępną ograniczoną ilość oprogramowania, w skład którego wchodziły między innymi serwerowe wersje systemu Windows czy Windows dla urządzeń wbudowanych. Bogatsza wersja Dreamsparka pozwala także na dostęp do desktopowych wersji systemu Windows a także wielu innych ciekawych programów.

Poza tym, dostajemy także 1TB miejsca w chmurze onedrive na specjalnym koncie studenckim. Możemy korzystać z tego przez cały okres studiów. Wisienką na torcie jest konto w Microsoft Azure, które nie wymaga podpięcia karty kredytowej. Otrzymujemy także dostęp do wielu usług, za które normalnie musielibyśmy zapłacić.

W ramach Dreamspark możemy także dostać zniżki na egzaminy certyfikacyjne firmy Microsoft. Mamy także dostęp do różnych materiałów szkoleniowych, które w mniejszym bądź większym stopniu mogą nam pomóc w osiągnięciu różnych celów.

5. Microsoft Azure – Cognitive Services

Na sam koniec zostawiłem usługę, która wydaje się najciekawsza. Azure jest potężną platformą. Poznałem jedynie urywek, który mnie najbardziej zainteresował. A tym urywkiem są tzw. „usługi kognitywne”. Cóż to takiego?

Wiele aplikacji i systemów wykorzystuje mechanizmy rozpoznawania twarzy, emocji czy rozpoznawania tekstu. Nic nie stoi na przeszkodzie, abyś samemu zaimplementował odpowiedni algorytm czy prawidłowo wyszkolił sieć neuronową. Jednakże, po co zadawać sobie tyle trudu skoro to samo możemy uzyskać za darmo i minimalnym wysiłkiem? Usługi kognitywne udostępniają nam wiele funkcji. W tym rozpoznawanie elementów, jakie znajdują się na obrazach, rozpoznawanie twarzy czy porównywanie twarzy. Możemy także rozpoznawać dane osoby po próbce głosu czy rozpoznawać emocje i wiek persony znajdującej się na zdjęciu. Z większości tych usług w ograniczonym zakresie możemy korzystać za darmo.

Używanie usług kognitywnych jest bardzo proste. Microsoft udostępnia dobrą i czytelną (co w ich wypadku rzadko się zdarza) dokumentację. Aby korzystać z usług kognitywnych, musimy uzyskać klucz API (jest to bezproblemowe jeśli posiadamy konto w Microsoft Azure. Jeśli takiego konta nie posiadamy, będziemy mogli za darmo uzyskać klucz pozwalający przez 7 dni korzystać z wybranej przez nas usługi). Gdy taki klucz uzyskamy, musimy tylko przygotować odpowiednie zapytanie. Usługi kognitywne są udostępnione za pomocą tzw. REST API. Wystarczy, że przygotujemy odpowiednie zapytanie, a serwer wyśle nam odpowiedź. W przypadku rozpoznawania twarzy mogą to być np.: koordynaty oczu, ust czy uszu na zdjęciu. W przypadku emocji – procentowa szansa tego, że człowiek na wysłanym obrazku był smutny, zły, zadowolony itd. Polecam się tym pobawić. Nie trzeba mieć żadnych umiejętności programistycznych, aby z tego skorzystać. Jeśli nie chcemy pisać ani linijki kodu, a jedynie sprawdzić, jak sprawują się usługi kognitywne, wystarczy wejść na odpowiednią stronę (np.: https://azure.microsoft.com/pl-pl/services/cognitive-services/computer...). Tam będziemy mogli graficznie, za pomocą kliknięcia, wysłać zdjęcie, które chcemy poddać analizie i odczytać wyniki.

Podobne usługi do „Cognitive Services” Microsoftu udostępniają także Google i Amazon. Lecz to usługi Microsoftu są w wielu wypadkach albo bardziej rozbudowane, albo tańsze niż opcje dostępne u konkurencji.

Microsoft i jego udział w rynku

Windows 10 nie jest już tak flagowym produktem Microsoftu jak kiedyś. Mimo, że ten produkt nie jest udany, to firma nadal ma do zaoferowania szeroką gamę innych produktów, które spokojnie zaspokajają zapotrzebowania sporego grona osób. W tym zestawieniu wymieniłem tylko te aplikacje i usługi Microsoftu, które dla mnie są najbardziej użyteczne. I z tego zestawu jestem w 100% zadowolony. 

W związku z konkursem: "Złóż komputer dla gracza" zachęcam do głosowania na moje zestawy:

Do 6 tys.: https://forum.dobreprogramy.pl/t/komputer-nie-tylko-dla-gracza-za-niec...

do 4 tys.: https://forum.dobreprogramy.pl/t/mundialowy-patriotyczny-komputer-dla-...