E-book details

Nowoczesne aplikacje internetowe. MongoDB, Express, AngularJS, Node.js

Nowoczesne aplikacje internetowe. MongoDB, Express, AngularJS, Node.js

Jeff Dickey

Ebook

Poznaj nowe podejście do aplikacji internetowych!

Tradycyjne aplikacje internetowe składały się z dwóch elementów — ciężkiego back-endu odpowiadającego za przetwarzanie danych, ich walidację i przechowywanie oraz z klienta, którego zadaniem była prosta komunikacja z użytkownikiem. To rozwiązanie rodziło liczne kłopoty — przede wszystkim ze skalowaniem. Od nowoczesnych aplikacji użytkownicy wymagają najwyższej wydajności, niezawodności, możliwości działania w trybie offline oraz wygody użytkowania. Tradycyjne podejście do tworzenia aplikacji już się nie sprawdza. Potrzebujesz czegoś nowego!

Na ratunek przychodzi drużyna — MongoDB, Express, AngularJS oraz Node.js. Dzięki temu zestawowi narzędzi będziesz w stanie stworzyć zaawansowaną aplikację z wygodnym interfejsem użytkownika oraz szerokimi możliwościami skalowania. Wystarczy, że sięgniesz po tę książkę i przyswoisz sobie zawartą w niej wiedzę. W publikacji znajdziesz odpowiedź na wiele pytań:
  • Dlaczego warto wybrać AngularJS?
  • Czym się charakteryzują bazy NoSQL?
  • W jakich sytuacjach bazy NoSQL są lepsze od tradycyjnych baz relacyjnych?
  • Dlaczego Node.js jest tak szybki?
Ponadto nauczysz się budować wydajne API, integrować Node.js z AngularJS, automatyzować zadania za pomocą pakietu Gulp oraz korzystać z zaawansowanych mechanizmów autoryzacji. Na sam koniec zaznajomisz się z dobrymi praktykami — testami API, klienta oraz uruchomisz przygotowaną aplikację na serwerze produkcyjnym. Ta książka jest doskonałą lekturą, która zaprezentuje Ci każdy z elementów nowoczesnej aplikacji internetowej.

Dzięki tej książce:
  • Poznasz możliwości AngularJS oraz Node.js
  • Przekonasz się, dlaczego warto wybrać MongoDB
  • Przygotujesz praktyczne API w Node.js
  • Poznasz narzędzie Gulp
  • Wykorzystasz JSON Web Token do uwierzytelniania
  • Przetestujesz aplikację
  • Nauczysz się tworzyć nowoczesne aplikacje internetowe!

Aplikacje internetowe już nigdy nie będą takie same!


Jeff Dickey — wszechstronny programista sieciowy. Doświadczenie zdobywał przy pracy z licznymi start-upami z okolic San Francisco i Los Angeles. Obecnie prowadzi zespoły programistów i opracowuje projekty. Unika biurokracji, jest zaangażowany w serię spotkań Code for America Brigade w Los Angeles.

Przedmowa (9)

Wprowadzenie (10)

Rozdział 1. Jak zmienia się nowoczesna architektura sieci? (12)

  • Powstanie aplikacji statycznych (14)
  • Poznaj grubego klienta (17)

Rozdział 2. Dlaczego JavaScript jest dobrym wyborem dla nowoczesnych aplikacji? (20)

  • Co to jest AngularJS? (22)
  • Co to jest Node.js? (25)
  • Co to jest Express? (33)
  • Co to jest MongoDB? (35)

Rozdział 3. Rozpoczynamy pracę nad projektem aplikacji społecznościowej (40)

  • Utworzenie statycznej imitacji strony wyświetlającej najnowsze posty (42)
  • Użycie AngularJS w aplikacji (43)
  • Dodawanie nowych postów (46)
  • Co dalej? (49)

Rozdział 4. Utworzenie API Node.js (50)

  • Punkt wyjścia (52)
  • Utworzenie postów za pomocą API (54)
  • Obsługa modeli MongoDB za pomocą Mongoose (55)
  • Użycie modeli Mongoose wraz z API (56)
  • Co dalej? (59)

Rozdział 5. Integracja Node.js i AngularJS (60)

  • Komponent $http (62)
  • Użycie $http do odczytu postów z API (63)
  • Udostępnianie pliku posts.html za pomocą Node.js (64)
  • Użycie $http do zapisu postów w API (65)
  • Zmiana kolejności wyświetlania postów (66)
  • Uporządkowanie pliku server.js (67)
  • Uporządkowanie kodu AngularJS (71)
  • Co dalej? (75)

Rozdział 6. Automatyzacja za pomocą Gulp (76)

  • Wprowadzenie do Grunt i Gulp (78)
  • "Witaj, świecie" w Gulp (79)
  • Przygotowanie kodu JavaScript za pomocą Gulp (80)
  • Kompilacja CSS za pomocą Gulp (87)
  • Zadanie dev w Gulp (89)
  • Inne wtyczki Gulp (91)
  • Co dalej? (92)

Rozdział 7. Utworzenie uwierzytelniania w Node.js (94)

  • Wprowadzenie uwierzytelniania na podstawie tokenu (96)
  • JSON Web Token (JWT) (97)
  • Użycie BCrypt (101)
  • Uwierzytelnianie z użyciem MongoDB (103)
  • Co dalej? (106)

Rozdział 8. Dodanie routingu i uwierzytelniania klienta (108)

  • Routing (110)
  • Utworzenie formularza logowania (113)
  • Uwierzytelnianie Express (116)
  • Zdarzenia AngularJS (119)
  • Uwierzytelnianie postów aplikacji społecznościowej (121)
  • HTML5 pushstate (123)
  • Rejestracja (124)
  • Wylogowanie (125)
  • Zapamiętaj mnie (126)
  • Klucz zewnętrzny użytkownika (127)
  • Co dalej? (128)

Rozdział 9. Obsługa powiadomień za pomocą WebSocket (130)

  • Wprowadzenie do WebSocket (132)
  • Jak działa WebSocket? (133)
  • Do czego można wykorzystać WebSocket? (134)
  • WebSocket w budowanej aplikacji społecznościowej (135)
  • WebSocket w AngularJS (139)
  • Architektura WebSocket (141)
  • Dynamiczna nazwa hosta WebSocket (146)
  • Co dalej? (147)

Rozdział 10. Wykonywanie testów E2E (148)

  • Konfiguracja narzędzia Protractor (150)
  • Frameworki testowania w JavaScript (151)
  • Utworzenie prostego testu Protractor (152)
  • Przygotowanie w narzędziu Protractor definicji oczekiwanego zachowania (162)
  • Wtyczka chai-as-promised (164)
  • Kiedy należy wykonywać testy typu E2E? (165)
  • Co dalej? (166)

Rozdział 11. Testowanie serwera Node.js (168)

  • To nie całkiem są testy jednostkowe (170)
  • Framework Mocha dla Node.js (171)
  • Kontroler Post (173)
  • SuperTest (174)
  • Router bazowy (175)
  • Użycie routera bazowego wraz z SuperTest (176)
  • Modele w testach kontrolerów (177)
  • Testowanie kontrolera z uwierzytelnieniem (179)
  • Pokrycie kodu (181)
  • Polecenie npm test (183)
  • JSHint (184)
  • Co dalej? (185)

Rozdział 12. Testowanie kodu AngularJS (186)

  • Użycie narzędzia Karma (188)
  • Bower (189)
  • Konfiguracja narzędzia Karma (191)
  • Podstawowy test usługi (193)
  • Testowanie HTTP za pomocą narzędzia Karma (194)
  • Użycie narzędzia Karma do przetestowania kontrolera (196)
  • Testowanie za pomocą komponentów spy (200)
  • Co dalej? (202)

Rozdział 13. Wdrożenie w Heroku (204)

  • Platforma jako usługa (206)
  • Jak działa Heroku? (207)
  • 12 czynników w aplikacji (208)
  • Wdrożenie aplikacji w Heroku (209)
  • MongoDB w Heroku (211)
  • Redis w Heroku (212)
  • Kompilacja zasobów (214)
  • Klaster Node.js (216)
  • Co dalej? (217)

Rozdział 14. Wdrożenie w Digital Ocean (218)

  • Co to jest Digital Ocean? (220)
  • Architektura jeden kontra wiele serwerów (221)
  • Fedora 22 (222)
  • Utworzenie serwera (223)
  • Instalacja Node.js (225)
  • Instalacja MongoDB (226)
  • Instalacja Redis (227)
  • Uruchomienie aplikacji społecznościowej (229)
  • Uruchomienie aplikacji społecznościowej za pomocą systemd (230)
  • Wdrożenie bez przestoju serwera (231)
  • Migracja do architektury wieloserwerowej (235)
  • Co dalej? (237)
  • Podsumowanie (238)

Skorowidz (239)

  • Title: Nowoczesne aplikacje internetowe. MongoDB, Express, AngularJS, Node.js
  • Author: Jeff Dickey
  • Original title: Write Modern Web Apps with the MEAN Stack: Mongo, Express, AngularJS, and Node.js (Develop and Design)
  • Translation: Robert Górczyński
  • ISBN: 978-83-283-1761-1, 9788328317611
  • Date of issue: 2016-01-22
  • Format: Ebook
  • Item ID: noapin
  • Publisher: Helion