Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Nowości w C# 7 — jest kontrowersyjnie

Jakiś czas temu pisałem o nowościach jakie wprowadza finalna wersja C# 6. Wówczas zmiany można było przetestować w Visual Studio 2015 i spokojnie zacząć ich używać na co dzień na środowisku produkcyjnym.

Będąc na tegorocznym .NET DeveloperDays słynny Jon Skeet delikatnie musnął nowości w C# 7, pokazując Tuple i dekompozycję. Pomimo tego opinie o zmianach były dość podzielone (z przewagą tych negatywnych).

Sprawdźmy zatem całościowo jakie nowości szykują się w C# 7. Obecnie (gdy piszę te słowa) dostępne jest już testowe wydanie Visual Studio 15 (Preview 5), a także wraz z nim podglądowa wersja C# 7.

Wymagania

W celu przetestowania C# 7 potrzebujemy:
  • Visual Studio 15 - obecnie w wersji Preview 5
  • Dodanie do projektu paczki System.ValueTuple z NuGeta, jeśli chcemy "pobawić się" nowymi Tuplami

Android Wear 2.0 — przegląd nowości i zmian w najnowszej wersji systemu na smartwatche

W ostatnim wpisie z testów Lenovo pokazałem, jak można skonfigurować emulator Android Wear w Visual Studio wraz z uruchomieniem własnej aplikacji napisanej w Xamarinie. Prz okazji okazało się, że można w ten sposób pobawić się z Android Wear w wersji 2.0. Jest to szczególnie ciekawa opcja, gdyż testowana Motorola Moto 360 2 miała zainstalowany system z gałęzi 1.x. Nowa wersja nie jest dostępna w wydaniu finalnym i można ją zainstalować (z trudnościami) tylko na LG Watch Urbane Second Edition LTE i Huawei Watch.

Warto zatem przyjrzeć się, co oferować będzie kolejna generacja Android Wear z numerkiem 2.0.

Android Wear — emulator w Visual Studio i pierwsza aplikacja w Xamarinie (C#)

Testy Motoroli Moto 360 2 w akcji Lenovo pokazały spory potencjał w aplikacjach na Android Wear. Zupełnym przypadkiem od jakiegoś już czasu grzebię się w Xamarinie, czyli platformie skierowanej do programistów .NET (C#) do tworzenia multiplatformowych aplikacji (nie tylko mobilnych). Z czystej ciekawości postanowiłem sprawdzić, jak wygląda pisanie oprogramowania na Android Wear od strony dewelopera .NET. W pierwszej kolejności potrzebny będzie nam...

Emulator

Prace nad przygotowaniem wpisu i aplikacji zacząłem jeszcze na fizycznym zegarku (więcej o testowanym Moto 360 2), ale niestety czas szybko zleciał i trzeba było oddać smartwatch. Na szczęście z pomocą przychodzą emulatory.

Microsoft udostępnił świetny dodatek Visual Studio Emulator for Android

Motorola Moto 360 2 generacji — recenzja na sportowo

Moto 360 jest ciekawym smartwatchem, który będzie kupowany jako "przedłużenie" smartfonu. Otrzymywanie SMSów, powiadomień, szybsza i łatwiejsza komunikacja z zewnętrznymi usługami. To i wiele więcej otrzymamy wraz z przygarnięciem zegarka od Motoroli.

Przekonajmy się jednak, jak Moto 360 sprawdzi się w roli zegarka sportowego. Jeśli wydajemy na sprzęt na nadgarstek prawie 1.5 tyś zł byłoby miło, jakby mógł on spełniać także rolę zegarka sportowego. Zapewne wielu nabywców z chęcią będzie monitorować swoje codziennie aktywności fizyczne wprost z nadgarstka.

Wyniki uzyskane w testowanym smartwatchu porównałem z Garminem 630 (zegarkiem sportowym, który również ma funkcje smartwatcha), aby mieć punkt odniesienia, a także dane wynikowe, które mógłbym później porównać i ocenić.

Co zatem otrzyma osoba, która będzie chciała czasem pobiegać, przejść się lub policzyć kalorie spalone w ciągu dnia? Sprawdźmy!

Nowości w C# 6 — cóż ciekawego otrzymujemy?

Tak, tak, tak. C# 6 jest już z nami od jakiegoś już czasu, ale w życiu nie jest tak kolorowo i nie wszyscy mogli przejść na nowego Visual Studio 2015 tuż po tym jak się ukazał. Dodatkowo nawet jeśli ktoś już przesiadł się na najświeższe IDE od MS, to i tak nie zawsze mógł używać nowości, które wpadły wraz z C# 6.

Zatem dla niektórych będzie to przypomnienie, dla innych zapoznanie się z nowościami. Co więcej, w sieci jest wiele stron opisujących nowe elementy w C#, które... nie znalazły się w finalnym wydaniu.

Sam C# 6 nie przynosi olbrzymich zmian czy nowości. W tym wydaniu nastawiono się głównie na wprowadzenie małych ficzerów, które uprzyjemnią pracę z kodem i zmniejszą jego ilość, zwiększając przy tym czytelność.

Cóż ciekawego pojawi się zatem w wraz z C# 6?

Operator ?.

To chyba jedna z bardziej wyczekiwanych nowości w C# 6. Zmorą deweloperów tworzących w C# jest wyjątek NullReferenceException. Powoduje to często, że kod w wielu miejscach złożony jest if-ów, w których sprawdzamy czy coś nie jest nullem.

Klasycznie:

Unique WAU Elastomer — recenzja fotela komputerowego

Na blogu wiele osób rozpisuje się odnośnie monitorów, procesorów, oprogramowania itp. Komfort pracy wynika z odpowiedniego doboru myszki, klawiatury czy ergonomicznej podkładki. Często jednak zapominamy o najważniejszym elemencie obcowania z komputerem: wygodnym fotelu.

Kupno fotela/krzesła do komputera nie jest trywialnym zadaniem. Sam przebrnąłem przez wiele większych i mniejszych recenzji, bylem w kilku sklepach meblowych, siedziałem na różnych fotelach u znajomych w pracy. Wydaje mi się, że finalnie wybrałem takie krzesło do pracy z komputerem, które może usatysfakcjonować osoby ceniące sobie zarówno komfort, jak i zdrowie podczas siedzenia.

Unique WAU Elastomerr

Mój wybór padł na model Unique WAU Elastomer. Jest to dość nietypowy fotel biurowy zarówno od strony wyglądu, jak i wykonania. W oczy rzuca oparcie i szerokie siedzisko, a także pomarańczowy kolor.

Elastomer

Na początku skupmy się na głównym materiale, z którego wykonano fotel. Zagłówek, oparcie i siedzisko zrobione są z elastomeru (miękkie tworzywo o dużej sprężystości o właściwościach kauczuku). Jest ono świetnym rozwiązaniem dla osób, które cenią sobie jednocześnie jakość i wygodę.

Tworzymy własny ValueConverter, czyli najbardziej przydatny obiekt w bindowaniu danych do widoku (XAML/C#)

Zapewne tworząc aplikacje w WPF czy UWP natknęliście się na to, że właściwość w modelu (ViewModelu) wymagała konwersja na inny typ lub inną wartość, aby móc jej użyć na widoku. Tworzenie jednak dodatkowych właściwości jest nieefektywne i zbędne.

Z pocą przychodzi interfejs IValueConverter, który konwertuje jedne dane na drugie, bez konieczność rozszerzania obiektu. W moim przypadku musiałem przekwaterować status notyfikacji NotificationStatus (New, Old, Unknown) na Opacity (nieprzezroczystość).

Na widoku nowe powiadomienia nie są przezroczyste, zaś stare mają przezroczystość ustawioną na 0.5. Efekt jest następujący:

Oczywiście najbardziej używanym konwerterem jest: Bool <=> Visibility, czyli mając zmienną o typu Bool(true/false), chcemy sterować widocznością elementu (Visibility.Visible/Visibility.Collapsed).Przejdźmy jednak do naszego przykładu.

Zamiast tworzyć nową właściwość, szybko tworzymy klasę implementującą interfejs IValueConverter.

Konfigurujemy Unit Test w Universal Windows Platform

Do każdego projektu w Universal Windows Platform możemy dodać test jednostkowy, niezbędny do dewelopingu nowych rzeczy, czy naprawy błędów.

Taki test zapewne w wielu przypadkach będzie wymagał dodania konfiguracji, aby nie hardcodować na sztywno parametrów niezbędnych do działania (np. danych do logowania). W tym celu można podać potrzebne parametry (klucz -wartość) w pliku, z którego będą zaczytywane niezbędne informacje podczas uruchomienia Unit Testu.

Taki plik jest niezależny od kodu, a zatem nie musi być dorzucany do otwartego repozytorium. Dzięki temu poufne dane, jak np. login i hasło do konta na dobrychprogramach, które pozwalają na testowanie DePeszy, nie będą udostępniane na zewnątrz. Zatem do dzieła!

Plik z parametrami w XML - konfiguracja

Plik z parametrami klucz - wartość jest następującym w formacie XML :

<?xml version="1.0" encoding="utf-8"?> <RunSettings> <!-- Parameters used by tests at runtime --> <TestRunParameters> <Parameter name="dpTestLogin" value="LOGIN" /> <Parameter name="dpTestPassword" value="HASŁO" /> </TestRunParameters> </RunSettings>

Aktualizujemy aplikację w nowym Windows DevCenter

Wydanie aktualizacji aplikacji to spore wydarzenie dla każdego dewelopera. Niezliczone ilości godzin przesiedziane przed monitorem, kartką z notatkami, rozmowami z klientami czy testami w końcu mogą zaowocować stworzeniem poprawionej, nowej wersji oprogramowania.

Wychodzę z założenia, że proces pierwszej certyfikacji macie już za sobą i dziewicza wersja dostępna jest już w markecie.

Tworząc kolejne odsłony aplikacji na Universal Windows Platform, natknąć się można na pewne problemy i niejasności przy aktualizacji naszego programu poprzez DevCenter. Dodatkowo Microsoft niedawno wydał odświeżoną wersję testową centrum developerskiego, która doczekała się kilu nowości i ułatwień.

Zatem jak tego dokonać? Na co uważać?

Proces aktualizacji na początku wydaje się skomplikowany, ale szybko można się oswoić z tym zadaniem. Oto kilka porad, o czym pamiętać przy wypuszczaniu nowej wersji do marketu. Oczywiście przydadzą się one również w przypadku dodawanie pierwszej wersji aplikacji.

  • Aktualizacji dokonujemy na zakładce Submissions poprzez przycisk Update

Uniwersalna wersja Windows DevCenter, czyli śledzimy naszą aplikację w markecie

Microsoft w ostatnich miesiącach mocno pracował nad stworzeniem nowej platformy dla deweloperów do zarządzania aplikacjami. Już w tamtym roku obiecał nam, iż użytkownicy Windows 10 i Windows 10 Mobile otrzymają dedykowany program (Universal Windows Platform) do śledzenie jak nasze dziecko radzi sobie w markecie Windows. Jak po kilku aktualizacjach sprawdza się DevCenter?

Na pierwszą wersję w sklepie musieliśmy czekać dobrych kilka miesięcy. W tym czasie Microsoft zaktualizował DevCenter przez www, która miała służyć jako alternatywa, przy braku dedykowanej aplikacji. Na szczęście finalna wersja ujrzała światło dzienne jakiś czas temu, a także doczekała się kilku poprawek.

Zaznaczmy to jednak na samym początku, nie jest to aplikacja, która może być zamiennikiem wersji www, a jedynie ograniczoną funkcjonalnie wersją podglądową. Niestety ona małe braki, które mogą przeszkadzać w używaniu jej na szerszą skalę.