Archiwum kategorii: .Net

Rider nowe IDE od JetBrains – pierwsze wrażenia

A więc dzisiaj miałem swoją pierwszą styczność z IDE innym niż Visual Studio.

Rider nowe IDE od JetBrains

Rider – pierwsze wrażenia

Samo IDE wygląda trochę jak połączenie Visual Studio i Eclipse :), czyli na plus można się w nim odnaleźć.

Niestety w wielu miejscach jest nieczytelne do tej pory nie udało mi się znaleźć informacji czy biblioteka, którą stworzyłem jest typu portable czy też nie?

Problematyczne jest również stworzenie biblioteki PCL lub zmiany Target Framework dla .Net Standard. Out-of-the-box ustawia się .netstandard1.4

Chociaż również mnie zaskoczyło pozytywnie wsparciem out-of-box dla c# 7.0.
Kolejne zaskoczenie Power Save Mode, czyli wyłączenie wszystkich rzeczy które chodzą w tyle dla oszczędzania baterii.

Jeżeli chodzi o Xamarin Forms to można stworzyć projekt\solution ręcznie niestety nie ma gotowego template.

Przyszłość .Net według Microsoft w pigułce

Przyszłość .Net według Microsoft w pigułce

Przyszłość .Net według Microsoft jest świetlana ale czy aby na pewno? Czy problemy jakie powstały przy powstawaniu .Net Core nie przekreśliły wszystkiego? Postaram się odpowiedzieć.

.Net Core

Microsoft wraz z pracami nad .Net Core przemyślał całość produktu i zostawił tylko to co jest niezbędne w dzisiejszych czasach. Dlatego w .Net Core głównie możemy tworzyć rozwiązania oparte o Web i chmurę, szerokiej maści API (WebAPI lub Nancy).

Również .Net Core daje nam wolność wyboru platformy na jakiej możemy pracować jako programiści lub uruchamiać nasze rozwiązania.

Powstają multi platformowe narzędzia takie jak Rider

JetBrains Rider

od JetBrains. Przez niektórych nazywany Visual Studio killer-em. Albo doskonały edytor

Visual Studio Code

Visual Studio Code

C#

C# jest używany przez miliony programistów na świecie. Jest jednym z najbardziej popularnych języków programowania. Wystarczy spojrzeć na wyniki na Stack Overflow. Można go używać na wielu platformach i do szerokiej gamy rozwiązań. Od pisania gier z użyciem Unity, poprzez aplikacje mobilne w Xamarin, aplikacje web w ASP.NET, aplikacje LOB lub .Net Core micro serwisy na Linux ie w chmurze Azure, AWS albo egzotycznie Google Cloud.

Przyszłość C#, czyli C# 7

Rozwój C# pędzi jak lokomotywa. Każda nowa wersja przynosi jakieś ciekawe zmiany C# 2 dał nam Generics, C# 3 Integrated Queries, C# 4 dynamic (to akurat nie jest według mnie najlepszym pomysłem), async w C# 5, null conditional w C# 6. C# 7 nie będzie wyjątkiem ma dać nam nowe unikalne usprawnienia jak pattern maching. Od C# 6 można śledzić rozwój na GitHub w repozytorium dotnet/csharplang lub dyskutować na liście mailingowej csharplang.

Visual Basic

Visual Basic jest również używany przez całe rzesze programistów na całym świecie. Głównie jest wykorzystywany do tworzenia aplikacji Windows Forms, rzadziej aplikacji web. Ankieta dla deweloperów Stack Overflow nie była łaskawa dla Visual Basic. Był to język numer jedne, który deweloperzy chcieli zmienić na inny.

Przyszłość VB, czyli VB 15

VB and C# Coevolution w marcu 2010 roku Microsoft ogłosił, że C# i VB będą rozwijane równolegle. Niestety po 6 latach okazało się, że C# był rozwijany zbyt agresywnie i jest za wiele różnic pomiędzy językami.

Do tej pory C# i VB dzieliły ze sobą wiele rozwiązań null-conditional, nameof, itd… ale również posiadały wiele drobnych różnic.

VB 15 będzie posiadał tylko część nowości jakie pojawią się w C# 7. Nie pojawią się takie rzeczy jak np. local functions, które mogłyby tylko przynieść więcej złego niż dobrego w czytelność kodu napisanego w VB.

Wszystkie zmiany związane z Visual Basic można śledzić na GitHub w repozytorium dotnet/vblang, oraz na liście mailingowej vblang.

F#

F# jest używany przez coraz większą grupę programistów. Według rankingu Stack Overflow jest trzecim najbardziej „uwielbianym” językiem programowania. Głównymi polami zastosowań są Web, usługi w chmurze, narzędzia i analiza danych.

F# ma zaskakująco duże wsparcie ze strony społeczności jest językiem, który od początku istnienia powstawał jako open source.

Przyszłość F#, czyli F# 4.1

F# 4.1 przyniesie nam dalszy rozwój narzędzi Visual Studio do pracy z językiem, wsparcie dla .Net Core i .Net Standard.

Rozwój języka można śledzić na GitHub w repozytorium visualfsharp.

Podsumowanie

Według mnie przyszłość .Net jest naprawdę warta uwagi i śledzenia.
Ruchy Microsoft związane z open source były naprawdę dobrymi posunięciami. Były one przemyślane i wprowadzone w życie w odpowiednim momencie.

W tej chwili my jako programiści .Net nie jesteśmy już „uwiązani” do jedynej słusznej platformy jaką jest Windows. Ba mało tego nie musimy używać Visual Studio ;). Możemy uruchomić .Net wszędzie i możemy używać różnych narzędzi do tworzenia.

A więc Microsoft tylko tak dalej, a czeka nas naprawdę super przyszłość i masę pracy. Może uda się pokonać Java na polskim rynku ;). Programiści zakasać rękawy i śledźcie dalsze poczynania Microsoft z .Net Core.

Do dzieła.

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

Code

CorFlags.exe (CorFlags Conversion Tool). Jak sprawdzić wersję biblioteki z przykładami

Witajcie dev czytelnicy. W dzisiejszym poście pomówimy o użyciu narzędzia CorFlags.exe (CorFlags Conversion Tool).

CorFlags.exe. Czym jest narzędzie CorFlags Conversion Tool

console

Jest to małe przydatne (i niebezpieczne) narzędzie przy pomocy, którego sprawdzimy wersję .Net biblioteki i nie tylko.

Użycie

Corflags.exe assembly [options]

Narzędzie jest dostarczane wraz z .Net Framework SDK i można je łatwo wywołać z konsoli Developer Command Prompt for VS2015.

C:\CorFlags.exe TestMe.exe
Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 4.6.1055.0
Copyright (c) Microsoft Corporation. All rights reserved.

Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 0x20003
ILONLY : 1
32BITREQ : 0
32BITPREF : 1
Signed : 0

Co my tu mamy

CLR Header mówi nam tyle, że jest to .Net > 2.0. Z takich ciekawostek wszystkie biblioteki z .Net > 2.0 będą miały wersję 2.5, natomiast .Net 1.0 i 1.1 ma nagłówek 2.0. Jest z tym mały bałagan….

Jak sprawdzić czy biblioteka jest x86, a może x64

Mówi nam o tym flaga PE, oraz 32BITREQ.

Poniższy listing mówi, że mamy do czynienia z biblioteką 64 bitową

Version   : v4.0.30319
CLR Header: 2.5
PE : PE32+
CorFlags : 0x1
ILONLY   : 1
32BITREQ : 0
32BITPREF : 0
Signed   : 0

Natomiast biblioteka 32 bitowa ma nagłówek

Version   : v4.0.30319
CLR Header: 2.5
PE       : PE32
CorFlags : 0x3
ILONLY   : 1
32BITREQ : 1
32BITPREF : 0
Signed   : 0

.Net Standard library z czym to się je

Czym jest biblioteka .Net Standard

Biblioteka .net standard jest następcą popularnych obecnie bibliotek portable ale na sterydach.

Ma zapewniać współgranie, oraz wspólne API dla ASP.NET, .NET Core, Xamarin i Unity. W skrócie ma umożliwić budowanie bibliotek dostępnych dla różnych platform.

Stan .Net teraz

Przez wiele lat platforma .Net rozrosła się do olbrzymich rozmiarów. Mamy frameworki dla urządzeń mobilnych Compact Framework, Xamarin (Mono Framework), Bot Framework czy Unity. Dlatego potrzebujemy czegoś co połączy te wszystkie platformy. Praca z taką ilością API zaczyna być problematyczna i upierdliwa. Dlatego….

dotnet-today

One library to rule them all

Powstała biblioteka .Net Standard, czyli jakbym to nazwał warstwa pośrednia (albo ładniej z IT warstwa abstrakcji) nad „Common Infrastructure”.

dotnet-tomorrow

Wersjonowanie

Najciekawszym elementem tej biblioteki jest wersjonowanie na pewno na GitHub zobaczycie taką ładną tabelkę która platforma jest wspierana przez wersję biblioteki .Net Standard. Generalnie jest to nieczytelne i niezrozumiałe. Dlatego ja mam prostszą zasadę.

Najniższa wersja 1.0 będzie działać z największą liczbą platform, a najwyższa z najmniejszą (obecnie najwyższą wersją jest 1.6, prace nad 2.0 trwają).

Linki dla zainteresowanych