Szczegóły ebooka

ASP.NET MVC 4. Programowanie

ASP.NET MVC 4. Programowanie

Todd Snyder, Jess Chadwick, Hrusikesh Panda

Ebook

Wykorzystaj potencjał ASP.NET!

Platforma ASP.NET to główny konkurent języka Java w zakresie tworzenia aplikacji internetowych oraz zaawansowanych stron internetowych. Jej autorzy zadbali o to, aby każda kolejna wersja ułatwiała pracę programistom w coraz szerszym zakresie. Programiści to doceniają i ASP.NET znajduje się wśród języków najczęściej wybieranych przy tworzeniu zaawansowanych projektów.

Jeżeli chcesz w pełni wykorzystać potencjał ASP.NET MVC 4, przyda Ci się wyjątkowa książka. Ta, którą trzymasz w rękach, bez wątpienia taka jest! W trakcie lektury poznasz niuanse architektury MVC oraz dowiesz się, jak tworzyć sieciowe API. Ponadto wykorzystasz Entity Framework do wydajnego korzystania z baz danych oraz zaznajomisz się ze sposobami na równoległe przetwarzanie żądań. Szczególną uwagę powinieneś zwrócić na rozdział poświęcony zapewnieniu jakości — wykorzystanie testów automatycznych znacząco ułatwi Ci życie! Książka ta powinna trafić na podręczną półkę każdego programisty ASP.NET!

Sięgnij po tę książkę i:

  • poznaj wzorzec MVC
  • stwórz zaawansowane Web API
  • zobacz, jak uatrakcyjnić Twoją aplikację dzięki technologii AJAX
  • zbuduj bezpieczną aplikację
  • zbuduj system testów automatycznych oraz ciągłej integracji

Poznaj i wykorzystaj możliwości ASP.NET w Twoim projekcie!

Wprowadzenie (11)

CZĘŚĆ I. ROZKRĘCAMY SIĘ (15)

Rozdział 1. Podstawy ASP.NET MVC (17)

  • Opracowane przez Microsoft platformy tworzenia aplikacji sieciowych (17)
    • Active Server Pages (ASP) (18)
    • ASP.NET Web Forms (18)
    • ASP.NET MVC (18)
  • Architektura MVC (19)
    • Model (20)
    • Widok (20)
    • Kontroler (20)
  • Co nowego w ASP.NET MVC 4? (20)
  • Wprowadzenie do aplikacji EBuy (22)
  • Instalacja ASP.NET MVC (23)
  • Tworzenie aplikacji ASP.NET MVC (23)
    • Szablony projektów (23)
    • Konwencja przed konfiguracją (27)
    • Uruchamianie aplikacji (28)
    • Routing (28)
    • Konfiguracja tras (29)
    • Kontrolery (31)
    • Akcje kontrolera (32)
    • Obiekt ActionResult (32)
    • Parametry akcji (33)
    • Filtry akcji (36)
  • Widoki (36)
    • Wyszukiwanie widoków (37)
    • Poznaj Razor (38)
    • Odróżnianie kodu od znaczników (39)
    • Układy graficzne (40)
    • Widoki częściowe (41)
    • Wyświetlanie danych (43)
    • Metody pomocnicze HTML i URL (45)
  • Modele (46)
  • Zebranie wszystkich komponentów w całość (47)
    • Trasa (47)
    • Kontroler (47)
    • Widok (49)
  • Uwierzytelnianie (52)
    • AccountController (54)
  • Podsumowanie (55)

Rozdział 2. ASP.NET MVC dla programistów formularzy sieciowych (57)

  • Wszystko kręci się wokół ASP.NET (57)
    • Narzędzia, języki i API (58)
    • Moduły i procedury obsługi HTTP (58)
    • Zarządzanie stanem (58)
    • Wdrażanie i środowisko uruchomieniowe (59)
  • Więcej różnic niż podobieństw (59)
    • Oddzielanie logiki aplikacji od logiki widoku (60)
    • Adresy URL i routing (60)
    • Zarządzanie stanem (61)
    • Generowanie kodu HTML (62)
  • Tworzenie widoku ASP.NET MVC za pomocą składni Web Forms (66)
    • Słowo ostrzeżenia (66)
  • Podsumowanie (67)

Rozdział 3. Praca z danymi (69)

  • Tworzenie formularza (69)
  • Obsługa akcji POST formularza (71)
  • Zapis danych w bazie danych (71)
    • Technika Code First - zasada "konwencja przed konfiguracją" (72)
    • Tworzenie warstwy dostępu do danych z użyciem techniki Code First w Entity Framework (72)
  • Weryfikacja danych (73)
    • Określanie reguł biznesowych za pomocą adnotacji danych (74)
    • Wyświetlanie komunikatów o błędach z procesu weryfikacji danych (77)
  • Podsumowanie (80)

Rozdział 4. Programowanie po stronie klienta (81)

  • Praca z językiem JavaScript (81)
  • Selektory (83)
  • Udzielanie odpowiedzi na zdarzenia (86)
  • Manipulacje modelem DOM (88)
  • AJAX (89)
  • Weryfikacja danych po stronie klienta (91)
  • Podsumowanie (95)

CZĘŚĆ II. KOLEJNY POZIOM (97)

Rozdział 5. Architektura aplikacji sieciowej (99)

  • Wzorzec MVC (99)
    • Zasada separacji zadań (99)
    • MVC i platformy sieciowe (100)
  • Architektura aplikacji sieciowej (102)
    • Architektura logiczna (102)
    • Architektura logiczna aplikacji sieciowej ASP.NET MVC (102)
    • Najlepsze praktyki w zakresie architektury logicznej (104)
    • Architektura fizyczna (105)
    • Przestrzeń nazw projektu i nazwy podzespołów (105)
    • Opcje wdrożenia (106)
    • Najlepsze praktyki w zakresie architektury fizycznej (107)
  • Reguły dotyczące architektury aplikacji (108)
    • SOLID (109)
    • Odwracanie sterowania (114)
  • Nie powtarzaj się (121)
  • Podsumowanie (122)

Rozdział 6. Usprawnianie witryny poprzez użycie technologii AJAX (123)

  • Częściowe generowanie strony (123)
    • Generowanie widoków częściowych (124)
  • Wygenerowanie kodu JavaScript (129)
    • Wygenerowanie danych JSON (129)
    • Żądanie danych JSON (131)
    • Szablony po stronie klienta (131)
  • Ponowne używanie tej samej logiki zarówno w żądaniach AJAX, jak i pozostałych (134)
    • Udzielanie odpowiedzi na żądania AJAX (135)
    • Udzielanie odpowiedzi na żądania JSON (136)
    • Zastosowanie tej samej logiki w wielu akcjach kontrolera (137)
  • Wysyłanie danych do serwera (138)
    • Przekazywanie skomplikowanych obiektów JSON (140)
    • Wybór łącznika modelu (141)
    • Efektywne wysyłanie i odbieranie danych JSON (143)
  • Wykonywanie żądań AJAX między domenami (144)
    • JSONP (144)
    • Włączanie Cross-Origin Resource Sharing (147)
  • Podsumowanie (148)

Rozdział 7. Platforma Web API ASP.NET (149)

  • Tworzenie usługi danych (149)
    • Rejestracja tras Web API (151)
    • Wykorzystanie techniki "konwencja przed konfiguracją" (151)
    • Nadpisanie konwencji (152)
    • Użycie API (153)
  • Stronicowanie i pobieranie danych (155)
  • Obsługa wyjątków (156)
  • Media (158)
  • Podsumowanie (161)

Rozdział 8. Zaawansowane dane (163)

  • Wzorce dostępu do danych (163)
    • Klasy POCO (163)
    • Używanie wzorca repozytorium (164)
    • Mapowanie obiektowo-relacyjne (166)
  • Ogólny opis Entity Framework (168)
    • Wybór podejścia w zakresie dostępu do danych (169)
    • Współbieżność w bazie danych (169)
  • Tworzenie warstwy dostępu do danych (171)
    • Podejście Entity Framework Code First (171)
    • Model domeny biznesowej aplikacji EBuy (173)
    • Praca z kontekstem danych (176)
  • Sortowanie, filtrowanie i stronicowanie danych (178)
  • Podsumowanie (183)

Rozdział 9. Zapewnianie bezpieczeństwa (185)

  • Tworzenie bezpiecznej aplikacji sieciowej (185)
    • Obrona (185)
    • Nigdy nie ufaj danym wejściowym (186)
    • Wymuszanie stosowania reguły najmniejszych uprawnień (186)
    • Przyjmuj założenie, że zewnętrzne systemy są niebezpieczne (186)
    • Ogranicz możliwości ataku (186)
    • Wyłącz niepotrzebne funkcje (187)
  • Zabezpieczanie aplikacji (187)
    • Zabezpieczanie aplikacji intranetowej (188)
    • Uwierzytelnianie formularzy (193)
  • Ochrona przed atakami (200)
    • SQL Injection (201)
    • Cross-Site Scripting (206)
    • Cross-Site Request Forgery (207)
  • Podsumowanie (209)

Rozdział 10. Programowanie na platformy mobilne (211)

  • Funkcje mobilne platformy ASP.NET MVC 4 (211)
  • Większa przyjazność aplikacji mobilnej (213)
    • Tworzenie widoku mobilnego dla aukcji (214)
    • Rozpoczęcie pracy z jQuery Mobile (215)
    • Usprawnianie widoku za pomocą jQuery Mobile (218)
    • Unikanie widoków biurkowych w witrynie mobilnej (223)
  • Usprawnianie wersji mobilnej witryny (224)
  • Technika Adaptive Rendering (225)
    • Znacznik viewport (225)
    • Wykrywanie funkcji mobilnych (226)
    • Zapytania mediów CSS (228)
    • Widoki dla konkretnych przeglądarek internetowych (229)
  • Tworzenie nowej aplikacji mobilnej zupełnie od początku (231)
    • Platforma jQuery Mobile (232)
    • Szablon aplikacji mobilnej w ASP.NET MVC 4 (232)
    • Używanie szablonu aplikacji mobilnej w ASP.NET MVC 4 (233)
  • Podsumowanie (236)

CZĘŚĆ III. ZAGADNIENIA ZAAWANSOWANE (237)

Rozdział 11. Operacje na danych przeprowadzane równolegle, asynchronicznie i w czasie rzeczywistym (239)

  • Kontroler asynchroniczny (239)
    • Tworzenie kontrolera asynchronicznego (240)
    • Kiedy używać kontrolera asynchronicznego? (242)
  • Asynchroniczna komunikacja w czasie rzeczywistym (242)
    • Porównanie modeli aplikacji (242)
    • Model HTTP polling (243)
    • Model HTTP long polling (244)
    • Zdarzenia wysyłane przez serwer (245)
    • WebSocket (246)
    • Usprawnianie komunikacji w czasie rzeczywistym (247)
    • Konfiguracja i dostrajanie (250)
  • Podsumowanie (252)

Rozdział 12. Buforowanie (253)

  • Rodzaje buforowania (253)
    • Buforowanie po stronie serwera (253)
    • Buforowanie po stronie klienta (254)
  • Techniki buforowania po stronie serwera (254)
    • Buforowanie o zasięgu żądania (254)
    • Buforowanie o zasięgu użytkownika (255)
    • Buforowanie o zasięgu aplikacji (256)
    • Bufor ASP.NET (256)
    • Bufor danych wyjściowych (258)
    • Buforowanie donut caching (261)
    • Buforowanie donut hole caching (263)
    • Buforowanie rozproszone (264)
  • Techniki buforowania po stronie klienta (269)
    • Działanie bufora przeglądarki internetowej (269)
    • AppCache (271)
    • Local Storage (273)
  • Podsumowanie (274)

Rozdział 13. Techniki optymalizacji po stronie klienta (275)

  • Anatomia strony (275)
    • Anatomia HttpRequest (276)
  • Najlepsze praktyki (277)
    • Wykonuj mniejszą liczbę żądań HTTP (278)
    • Używaj CDN (278)
    • Dodawaj nagłówek Expires lub Cache-Control (280)
    • Komponenty skompresowane w formacie GZip (282)
    • Umieszczaj arkusze stylów na początku pliku (283)
    • Umieszczaj skrypty na końcu dokumentu (283)
    • Korzystaj z zewnętrznych skryptów i arkuszy stylów (285)
    • Zmniejszanie liczby zapytań DNS (286)
    • Minimalizacja plików JavaScript i CSS (286)
    • Unikaj przekierowań (287)
    • Usunięcie powielających się skryptów (289)
    • Konfiguracja nagłówka ETag (289)
  • Pomiar wydajności po stronie klienta (290)
  • Wykorzystanie platformy ASP.NET MVC do pracy (293)
    • Tworzenie paczek i minimalizacja (294)
  • Podsumowanie (297)

Rozdział 14. Zaawansowany routing (299)

  • Wayfinding (299)
  • Adresy URL i techniki SEO (301)
  • Tworzenie tras (302)
    • Domyślne parametry i opcjonalne trasy (303)
    • Priorytet i kolejność tras (305)
    • Routing do istniejących plików (305)
    • Ignorowanie tras (305)
    • Trasy typu Catch-All (306)
  • Ograniczenia trasy (307)
    • Narzędzie Glimpse i trasy (309)
  • Routing oparty na atrybutach (310)
  • Rozszerzanie routingu (313)
    • Mechanizm routingu (314)
  • Podsumowanie (318)

Rozdział 15. Ponownie używane komponenty interfejsu użytkownika (319)

  • Co platforma ASP.NET MVC oferuje standardowo? (319)
    • Widoki częściowe (319)
    • Metody rozszerzające HtmlHelper czy własne metody? (319)
    • Szablony Display i Editor (320)
    • Html.RenderAction() (320)
  • Przejście o krok dalej (321)
    • Razor Single File Generator (321)
    • Tworzenie wielokrotnie wykorzystywanych widoków ASP.NET MVC (323)
    • Tworzenie wielokrotnie używanych metod pomocniczych ASP.NET MVC (327)
  • Testy jednostkowe dla widoków Razor (328)
  • Podsumowanie (330)

CZĘŚĆ IV. KONTROLA JAKOŚCI (331)

Rozdział 16. Rejestrowanie informacji (333)

  • Obsługa błędów na platformie ASP.NET MVC (333)
    • Włączanie własnych błędów (334)
    • Obsługa błędów w akcjach kontrolerów (335)
    • Definiowanie globalnych procedur obsługi błędów (335)
  • Rejestrowanie informacji i śledzenie (337)
    • Rejestrowanie informacji o błędach (337)
    • Monitorowanie stanu ASP.NET (340)
  • Podsumowanie (342)

Rozdział 17. Zautomatyzowane testowanie (343)

  • Semantyka testowania (343)
    • Ręczne testowanie (344)
    • Zautomatyzowane testowanie (345)
  • Poziomy zautomatyzowanego testowania (345)
    • Testy jednostkowe (345)
    • Szybkość (ang. fast) (347)
    • Testy integracyjne (348)
    • Testy akceptacyjne (349)
  • Co to jest projekt zautomatyzowanych testów? (350)
    • Tworzenie projektu testowego w Visual Studio (350)
    • Tworzenie i przeprowadzanie testu jednostkowego (351)
    • Testowanie aplikacji ASP.NET MVC (354)
    • Testowanie modelu (354)
    • Test-Driven Development (357)
    • Tworzenie przejrzystych, zautomatyzowanych testów (358)
    • Testowanie kontrolerów (360)
    • Refaktoring testów jednostkowych (363)
    • Symulacja spełnienia zależności (364)
    • Testowanie widoków (368)
  • Test pokrycia (370)
    • Mit 100% wyniku testu pokrycia (372)
  • Tworzenie kodu łatwego do testowania (372)
  • Podsumowanie (374)

Rozdział 18. Automatyzacja kompilacji (375)

  • Tworzenie skryptów kompilacji (376)
    • Projekty Visual Studio są skryptami kompilacji! (376)
    • Dodanie prostego zadania kompilacji (376)
    • Przeprowadzanie kompilacji (377)
    • Możliwości są nieograniczone! (378)
  • Automatyzacja kompilacji (378)
    • Rodzaje zautomatyzowanej kompilacji (379)
    • Definiowanie zautomatyzowanej kompilacji (380)
  • Ciągła integracja (383)
    • Wykrywanie problemów (383)
    • Reguły ciągłej integracji (384)
  • Podsumowanie (388)

CZĘŚĆ V. UMIESZCZANIE APLIKACJI SIECIOWEJ W INTERNECIE (389)

Rozdział 19. Wdrażanie (391)

  • Co trzeba wdrożyć? (391)
    • Podstawowe pliki witryny internetowej (391)
    • Treść statyczna (394)
    • Czego nie trzeba wdrażać? (394)
    • Bazy danych oraz inne zewnętrzne zależności (395)
    • Jakie są wymagania aplikacji EBuy? (396)
  • Wdrażanie na serwerze Internet Information Server (396)
    • Przygotowania (397)
    • Tworzenie i konfiguracja witryny internetowej na serwerze IIS (397)
    • Publikowanie witryny z poziomu Visual Studio (399)
  • Wdrażanie za pośrednictwem Windows Azure (403)
    • Tworzenie konta Windows Azure (403)
    • Tworzenie nowej witryny internetowej Windows Azure (404)
    • Publikacja witryny internetowej Windows Azure poprzez system kontroli wersji (404)
  • Podsumowanie (406)

DODATKI (407)

Dodatek A. Integracja platform ASP.NET MVC i Web Forms (409)

Dodatek B. Wykorzystanie NuGet jako platformy (417)

Dodatek C. Najlepsze praktyki (435)

Dodatek D. Odniesienia - tematy, funkcje i scenariusze (449)

Skorowidz (453)

  • Tytuł: ASP.NET MVC 4. Programowanie
  • Autor: Jess Chadwick, Todd Snyder, Hrusikesh Panda
  • Tytuł oryginału: Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-246-6645-4, 9788324666454
  • Data wydania: 2013-07-23
  • Format: Ebook
  • Identyfikator pozycji: aspm4p
  • Wydawca: Helion