Miesięczne archiwum: Grudzień 2016

Podsumowanie roku

Podsumowanie roku 2016

A więc mamy koniec roku 2016. Czas na podsumowanie roku co się działo, co się udało, a działo się sporo. Zarówno w życiu prywatnym jak i w IT życiu.

Podsumowanie roku

  • założenie bloga – 12 postów od października, 483 odsłony
    odsłony 2016
  • twitter – 571 ćwierknięć
  • udało mi się dotrzeć na Build Tour Warsaw i Global Azure Bootcamp
  • github – 11 repozytoriów, 190 commit-ów w ciągu roku. Tutaj liczę na poprawę w 2017github 2016
  • poznałem parę ciekawych technologii jedną z nich była Akka.Net, bawiłem się też React ale mój związek z JavaScript jest pełen napięć

Prywatnie

Zmiany, zmiany…. i ciągle do przodu :). Najważniejsza zmiana zbliżający się ślub z moją narzeczoną Mają.

Podsumowanie i plany na 2017

Najbardziej jestem zadowolony ze startu blog-a i ilości postów, które napisałem. Na twitter też jest nieźle ale chciałbym zwiększyć ilość ruchu jaki on generuje biorąc pod uwagę, że traktuje go jako główne medium do komunikacji.

W 2017 na pewno chce się skupić na blog-u i tworzeniu treści, chciałbym dotrzeć na jakąś polską konferencję np. .Net Developer Days. Github też wymaga większej ilość commit-ów.

Robić, robić, robić...

Czy warto żyć w trybie robić, robić, robić…

Czy warto żyć w trybie robić, robić, robić… A może lepiej jest zwolnić. Słów kilka na temat przemyśleń z trybu życia jak w tytule.

Wiele osób ze świata IT wpada w tytułowy tryb pracy i życia. Poznają w nocy kolejne JS frameworki, które rano już są przestarzałe. Ha dziś w nocy wypuścili kolejną wersję .Net Core trzeba poznać….Programowanie

Branża IT i technologie pędzą, pojawiają się i znikają. Wiele z nich powstało wiele lat temu, a teraz przeżywają swój renesans (microservices \ SOA). Koncepcje w programowaniu są od wielu lat praktycznie nie zmienne, a więc czy warto poświęcać tyle czasu na poznawanie nowych technologii?

Sam też wpadłem w ten rytm pracowałem 8h na etacie, później jeszcze wieczorem i nad ranem. Zawsze tłumaczyłem to sobie, że to tylko kilka godzin dziennie, które poświęcam na rozwój ale…

Ale jest w około tyle różnych ciekawych rzeczy do zrobienia, tematów do poznania. Jeżeli ktoś ma dzieci może z nimi spędzić wieczór na zabawie samochodami (mam dwóch chłopaków :)). Można spędzić wieczór z dziewczyną, narzeczoną lub żoną.

No dobra ale co z tym rozwojem.

Dla nas deweloperów rozwój jest dość ważnym aspektem naszej kariery ale czy jest sens poznawać kolejny JS frameworki nocami?

Według mnie nie lepiej jest się skupić na tym co nas pasjonuje, zająć się swoim blogiem, spotykać się z ludźmi z branży, rozmawiać. Dać coś od siebie dla społeczności i nauczyć ludzi o czymś nowym. Ważne jest zwłaszcza to drugie ucząc innych sami uczymy się jeszcze więcej. Warto zainwestować w siebie Ile inwestujesz w siebie?

Jeżeli pracujesz w IT już kilka lat podstawowe koncepcje w programowaniu już masz opanowane…

A u was jak to wygląda czy żyjecie w trybie 9-17, a może coś robicie więcej?

Komunikacja w czasie rzeczywistym w Xamarin

Komunikacja w czasie rzeczywistym w Xamarin

W dzisiejszym wpisie chciałbym zaprezentować jak wysyłać powiadomienia push przy użyciu biblioteki ASP.NET SignalR.

Komunikacja w czasie rzeczywistym – Czym jest SignalR

ASP.NET SignalR is a new library for ASP.NET developers that makes developing real-time web functionality easy. SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available. SignalR supports Web Sockets, and falls back to other compatible techniques for older browsers. SignalR includes APIs for connection management (for instance, connect and disconnect events), grouping connections, and authorization

Według definicji ze strony www.asp.net/signalr jest to biblioteka umożliwiająca komunikację w czasie rzeczywistym, wykorzystująca Websockets lub Ajax long polling do swojego działania.

A teraz mięso

W tym demo użyjemy SignalR hostowanego w aplikacji konsolowej. W tym celu należy zainstalować dwa pakiety NuGet

Install-Package Microsoft.AspNet.SignalR.SelfHost
Install-Package Microsoft.Owin.Cors

Następnie tworzymy Hub mający na celu przekazywanie wiadomości pomiędzy podłączonymi klientami

    public class NotificationHub : Hub
    {
        public void SendNotification(Notification notification)
        {
            Clients.All.sendNotification(notification);
        }

        public override Task OnConnected()
        {
            Console.WriteLine($"Connection with ID {Context.ConnectionId} connected");
            return base.OnConnected();
        }

        public override Task OnDisconnected(bool stopCalled)
        {
            Console.WriteLine($"Connection with ID {Context.ConnectionId} disconnected");
            return base.OnDisconnected(stopCalled);
        }

        public override Task OnReconnected()
        {
            Console.WriteLine($"Connection with ID {Context.ConnectionId} reconnected");
            return base.OnReconnected();
        }
    }

Back office i Frontend

Naszym klientem symulującym działanie back office jest aplikacja konsolowa wysyłająca mock powiadomień dla klienta. Klient mobilny został zrealizowany za pomocą Xamarin Forms.

W naszych klientach instalujemy pakiet NuGet

Install-Package Microsoft.AspNet.SignalR.Client

Żeby klient mógł użyć serwera SignalR należy napisać mały kawałek kodu

var hubConnection = new HubConnection($"{Servers.NotificationHubServer}/signalr");
var hubProxy = hubConnection.CreateHubProxy(Hubs.NotificationHubName);

hubConnection.Start().Wait();

hubProxy.Invoke<Notification>(Actions.SendNotification, notification);

Cały kod źródłowy demo jest dostępny na GitHub.

Zapraszam do komentowania. Jakie macie doświadczenia z użycia SignalR w aplikacjach mobilnych jakieś alternatywy?

Visual Studio Mobile Center: Wprowadzenie

Wprowadzenie do Visual Studio Mobile Center, czyli czym to właściwie jest

W dzisiejszym artykule chciałbym was wprowadzić w temat czym jest Visual Studio Mobile Center, a więc zaczynajmy.

Czym jest Visual Studio Mobile Center

Visual Studio Mobile Center zostało zaprojektowane dla wszystkich aplikacji iOS i Android, stworzonych w Swift, Objective-C, Java, Xamarin lub React Native.

VSMC jest usługą, która ma zintegrować w jeden produkt HockeyApp, Xamarin Test Cloud i usługi backend świadczone w chmurze.

Została ona oficjalnie zaprezentowana na konferencji Connect() 2016.

Co działa

VSMC jest obecnie w fazie Preview dlatego też nie wszystko działa jak powinno lub czegoś brakuje. Poniżej krótka lista co obecnie działa.

  • Automatyczne budowanie po każdym pull request
  • Testy UI
  • Dystrybucja aplikacji do beta testów
  • Monitorowanie aplikacji
  • Analiza użycia
  • Podłączenie do backend np. Azure Mobile Apps, Databases, Identity

Mobile CI (Contiuous Integration), testy UI i analiza działania aplikacji

Według Wikipedia

Ciągła integracja – praktyka stosowana w trakcie rozwoju oprogramowania, polegająca na częstym, regularnym włączaniu (integracji) bieżących zmian w kodzie do głównego repozytorium. W praktyce, każdy członek zespołu programistycznego powinien przynajmniej raz dziennie umieścić wykonaną przez siebie pracę w repozytorium[1]. Niezbędnym elementem jest także zapewnienie poprawności kompilacji kodu po wykonaniu integracji.

W wypadku mobile CI było do tej pory trudne do osiągnięcia, zwłaszcza testy UI aplikacji były trudne do wykonania. Z pomocą w testach przyszedł Xamarin i jego Test Cloud gdzie używając Xamarin Studio mogliśmy nagrać „skrypt” do testowania UI. Natomiast do budowania aplikacji trzeba było używać narzędzi takich jak np. Jenkins.

W tej chwili otrzymujemy od Microsoft kompletne rozwiązanie w jednym pudełku.

Podsumowanie

Microsoft po przejęciu Xamarin mocno inwestuje w rozwój platformy mobile i ich wizji Mobile First Cloud First jednym z dzieci jest właśnie Mobile Center. Usługa wygląda ciekawie, działa i da się jej obecnie normalnie używać. Wersja produkcyjna ma ujrzeć światło dzienne w przyszłym roku.

Pomysł jest fajny ze względu na integracje kilku produktów w jeden. Zobaczymy jak to będzie działało w praktyce.

Dla zainteresowanych link do Visual Studio Mobile Center

wyzwanie na grudzień

Wyzwanie…na grudzień

Wyzwanie na grudzień…

To będzie wyzwanie na grudzień. Zainspirowany przez Gutka http://blog.gutek.pl/2016/12/01/wyzwanie-nie-narzekaj/ jego artykułem o narzekaniu.

 

Plan….

I jednocześnie zamiar. Nie narzekać przez cały miesiąc (grudzień), skupić się na rodzinie, dzieciach. Zadanie jest trudne i ambitne przynajmniej tak sądzę :).

A więc plan jest następujący. Od 02.12 czas start: nie narzekam przez cały grudzień. Koniec 31.12.

Kryteria jak u Gutka nie ma narzekania w myślach itp. Co jest dla mnie narzekaniem. Wszelakiej maści marudzenie o pogodzie, pieniądzach, Visual Studio itp.

Zobaczymy jak mi to pójdzie. Chwilami zwątpienia będę się dzielił na blogu