czwartek, 7 kwietnia 2011

Zwiększanie wydajności dzięki ASP.NET MVC


Zastanawiając się nad wydajnością przyszłego serwisu internetowego opartego o jakiś gotowy Framework, warto jest zwrócić uwagę na jakość kodu HTML, który zostaje wygenerowany. Wiadomo, że tak samo wyglądającą stronę można napisać na bardzo wiele różnych sposobów. Większość z nich nie będzie ani czytelna, ani wydajna. Warto się więc zastanowić, czy kod który wygeneruje nasz program nie będzie należał do tej właśnie kategorii. Pojawia się tu kwestia standardów sieciowych, które między innymi pozwalają na zmniejszenie objętości kodu. Poza samymi standardami, wyznaczającymi zasady składniowe, ważne jest również to, aby kod pozbawiony był zbędnych elementów, które nie wnoszą nic do układu lub treści strony.



Zmniejszenie objętości strony wpływa na znaczną redukcję ruchu sieciowego związanego z daną witryną. Są to wymierne oszczędności, szczególnie w serwisach z dużą ilością odwiedzin. Kod HTML jest tą częścią strony, która praktycznie nie podlega cache’owaniu. Co za tym idzie nie możemy zmniejszyć ilość pobrań kodu HTML. Możemy jednak zmniejszyć jego objętość, co zaowocuje znacznym zmniejszeniem obciążania łącza i szybszym wyświetleniem strony w przeglądarce użytkownika.



Pisząc stroną w oparciu o ASP.NET mamy do wyboru dwa warianty: stworzenie jej w oparciu o WebForms lub MVC. Pierwszy wybór, mimo wielu zalet i uproszczenia prac programistycznych, nie daje możliwości pełnej kontroli nad powstającym kodem HTML. Skutkuje to ogromnym wzrostem objętości strony, gdyż jak zawsze rozwiązania zapewniające dużą uniwersalność nie mogą być odpowiednio zoptymalizowane. Z pomocą przychodzi tu ASP.NET MVC, w którym mamy pełną kontrolę nad kodem HTML, który generowany jest po stronie serwera i wysyłany do przeglądarki. Daje to możliwość znacznego odchudzenia stron, poprzez zawarcie w ich kodzie jedynie tych elementów, które są tam faktycznie potrzebne. W krańcowych przypadkach zysk może być ogromy, gdyż generowany kod HTML może być nawet kilkukrotnie krótszy. Biorąc pod uwagę potencjalne korzyści warto rozważyć włożenie nieco więcej pracy na etapie projektowym i zastosowanie ASP.NET MVC.

Brak komentarzy:

Prześlij komentarz