Nancy – czemu my się dopiero poznaliśmy?

Siemanko

Ostatnio zakupiłem polecaną przez kilka znanych osobistości w polskim community książkę „Microservices in .NET Core” gdyż temat mnie interesuje i postanowiłem przyjrzeć sie temu bliżej. We wstępie autor informuje iż w stacku technologicznym wykorzystywanym w przykladach w książce góruje Nancy, której autor jest współtwórcą. Czym jest Nancy mniej więcej wiedziałem bo dość często przewija się to słowo w artykułach, które zdarza mi się czasem przeczytać 😉 Jednak to „mniej więcej” oznaczało jedynie tyle, że wiedziałem o istnieniu tego czegoś ale niekoniecznie co to coś robi ;). Z racji zamiaru przyswojenia całej wiedzy z w.w. książki postanowiłem dziś przyjrzeć się Nancy i po raz pierwszy spróbowac użyć.

Bajecznie prosta i lekka aplikacja webowa

public class IndexModule : NancyModule 
    {
        public IndexModule() 
        {
            Get["/"] = parameters => 
            {
                return View["index"];
            };
        }
    }

Powiedzmy, że to jest odpowiednik kontrolera w Asp.Net.

Teraz w klasie „Program.cs” wystartujmy naszą aplikacje webową

static void Main(string[] args) 
       {
            var uri = new Uri("http://localhost:8500");

            var config = new HostConfiguration();
            config.UrlReservations.CreateAutomatically = true;

            using (var host = new NancyHost(config, uri)) 
            {
                host.Start();

                Console.ReadLine();
            }
        }

Teraz po uderzeniu pod adres http://localhost:8500 (u mnie) dostaniemy stronkę z htmlem z pliczku „index.sshtml”. To wszystko!

Proste? Proste! I jakie lekkie!

nancy

Zużycie pamięci działającej aplikacji Nancy

Zrobiłem dla porównania na szybko aplikacje Asp.Net Core z jednym kontrolerem i widokiem (z template’u z Visual Studio). Różnica w zasobach jest znacząca.

asp

Zużycie pamięci aplikacji Asp.Net Core z jednym kontrolerem i widokiem

 

[EDIT Start 24.03.2017]

W komentarzach zarzuca mi się, że porównuje dwie wersje frameworka. Oczywiście nie miałem tego na celu tylko chciałem pokazać  jaka jest różnica w zasobach między aplikacją webową zrobioną „na szybko” z temaplate’u z VS (i tu poprostu padło na .core), a aplikacją „na szybko”, która można zrobić z Nancy.

W celu sprostowania zrobiłem pustą aplikację Asp.Net Core z dodanym Mvc oraz drugą pustą aplikację z dodanym Owin’em i Nancy. Aplikacje zwracają tylko jeden widok „Hello Wolrd”. Różnica w zasobach jest rzędu 50% na korzyść aplikacji z wykorzystaniem Nancy. Zajmę się tym konkretniej i opiszę to w kolejnym poście.

[Edit End]

 

Zakochałem się! 😉

Pjona!

Advertisements

4 uwagi do wpisu “Nancy – czemu my się dopiero poznaliśmy?

  1. Nie wiem czy to cos zmienia ale porownujesz dotnet core z net framework.

    Lubię to

    • Nie porównuje, a jedynie dałem jako przykład różnicy w zasobach między szybkimi prostymi aplikacjami webowymi. Do tej pory dla mnie szybko uruchomiona prosta aplikacja webowa była właśnie z template’u z VS i to bez względu czy to .core czy poprzednik.

      Lubię to

  2. Nancy jest super ale różnica w zasobach to akurat troche przekłamanie. Wiadomo że .Net core jest okrojony i nie ma wszystkich bibliotek co też powoduje że vshost bedzie mnie pożerał.

    Lubię to

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s