.NET Core umożliwia uruchomienie tego samego kawałka kodu na wielu platformach (Windows, Linux, OS X). Pomyślałem zatem, że warto byłoby z tego skorzystać przy projekcie DataBoard i nabyć nowego doświadczenia przy pracy z Linuksem. Jako system operacyjny wybrałem Elementary OS, a jako edytor kodu Visual Studio Code. Visual Studio Code jest tylko edytorem tekstu, który oczywiście można wzbogacić wieloma rozszerzeniami (pojawi się w przyszłości na ten temat oddzielny wpis), a nie zintegrowanym środowiskiem deweloperskim jak jego starszy brat Visual Studio, i tym samym nie umożliwia wygenerowania nowego projektu .NET Core (aplikacji konsolowej czy też webowej). A jak utworzyć nowy projekt .NET Core pod Linuksem dowiecie się dalej z tego wpisu.
.NET Core w chwili obecnej ulega częstym zmianom, dlatego chciałbym zaznaczyć, że poniższy wpis opiera się o wersję 1.0.0-rc4-004771.
Narzędzie .NET Core CLI umożliwia utworzenie projektu na podstawie kilku domyślnych szablonów.
To co mnie najbardziej interesowało to część związana aplikacjami internetowymi. Na pierwszy rzut wybrałem szablon aplikacji MVC.
$ dotnet new mvc
Generowanie projektu trwało 409 ms, a w Visual Studio Code moim oczom ukazała się lista plików.
Jak widać powyżej, powstał szkielet pełnego projektu MVC. Niestety nie wiedziałem dokładnie co, jak i dlaczego zostało wygenerowane, nie wspominając o zawartości plików klas i zależności. Wobec tego wybrałem drugą opcję i utworzyłem pusty projekt aplikacji internetowej.
$ dotnet new web
Tym razem już po 86 ms został wygenerowany, najprostszy z możliwych, startowy projekt aplikacji internetowej.
Dalej wywołałem:
$ dotnet restore
$ dotnet run
Pierwsze polecenie pobiera zależności (zapisane w pliku DataBoard.csproj), za pomocą menadżera pakietów Nuget, wymagane do uruchomienia aplikacji. Drugie uruchamia aplikację, a w tym konkretnym przypadku również lokalny serwer (Kestrel).
Jeżeli wszystko przebiegło pomyślnie po wpisaniu w przeglądarce adresu http://localhost:5000 powinna się ukazać poniższa strona.
Kolekcje domyślnych szablonów można już teraz zwiększyć o szablony SinglePageApplication, zostało to opisane na blogu .NET WebDev. Co więcej każdy może utworzyć swój własny szablon korzystając z tego opisu.
P.S.
Alternatywnie można skorzystać z narzędzia Yeoman, które również pozwala na utworzenie projektu .NET Core na podstawie szablonów. Natomiast ja osobiście się zraziłem do niego, ponieważ w którymś momencie .NET Core przestał korzystać z project.json na rzecz *.csproj (pliki zawierające wszystkie metadane dotyczące projektu oraz zależności), a Yeoman nie zdążył dostosować szablonów do najnowszych zmian w .NET Core, uruchomienie świeżo utworzonego projektu kończyło się niepowodzeniem z powodu nieznalezienia pliku *.csproj.