środowiska w webdevelopmencie

Środowisko developerskie to całość narzędzi, konfiguracji i warunków, w których programista tworzy, testuje i rozwija aplikację zanim trafi ona do użytkowników.
Środowiska możemy podzielić ze względu na etapy cyklu życia produktu (development lifecycle) oraz miejsca jego działania.

Etap cyklu życia produktu – development lifecycle

  1. środowisko developerskie (development / dev)
    – tworzenie i testowanie aplikacji

    1. działa lokalnie (na twoim komputerze) lub na serwerze deweloperskim,
    2. często zawiera:
      1. Dev-tools (np. Webpack, Vite, WordPress z WP_DEBUG)
      2. testowe dane
      3. Hot reload / brak cache / logging
    3. przykłady:
      1. XAMPP
      2. localhost:3000
  2. środowisko testowe (test / QA)
    – używane do testowania aplikacji przez testerów lub zespół QA (Quality Assurance)

    1. testy mogą być automatyczne: np. integracyjne, jednostkowe
    2. baza danych może zawierać zanonimizowane dane prawdziwych użytkowników
  3. środowisko staging (przygotowawcze / pre-prod)
    – prawie identyczne jak produkcyjne, ale nie widoczne dla użytkowników końcowych
  4. środowisko produkcyjne (production / prod)
    – wersja aplikacji „na żywo”, dostępna dla użytkowników

    1. musi być szybkie, stabilne, bez błędów
    2. dane są prawdziwe, a każda zmiana ma realny wpływ na projekt
  5. środowisko sandbox
    – tzw. piaskownica — środowisko testowe, w którym nie da się nic zepsuć, do testowania nowych idei i rozwiązań

Miejsce działania środowiska

  1. lokalne – local – twój komputer
  2. localhost – lokalny serwer – czyli twój komputer jako serwer,
    • adres 127.0.0.1 – czyli pętla zwrotna (loopback),
    • lokalny serwer to np.: Apache, Nginx, Node.js, itp.
    • otwierasz stronę pod adresem http://localhost:3000
    • coś w rodzaju wewnętrznej komunikacji z samym sobą
  3. zdalne – remote – każde środowisko działające na zewnętrznym serwerze, poza twoim komputerem, zdalna maszyna lub usługa np.:
    1. serwer, który znajduje się w internecie,
    2. GitHub,
    3. chmura,
    4. serwer klienta
  4. chmurowe – zdalne środowiska, często skalowalne, zarządzane przez dostawcę chmury
      1. Azure, AWS, DigitalOcean
  5. wirtualne / kontenerowe – śodowiska izolowane (kontenery, maszyny wirtualne), mogą działać lokalnie lub zdalnie
    1. Docker, Vagrant

środowisko lokalne

127.0.0.1 i adres IP localhost

  • tzw. adres pętli zwrotnej (loopback)
  • ten sam komputer, na którym działa aplikacja
  • każdy komputer ma ten adres — służy do komunikacji z samym sobą
  • oba oznaczają to samo
  • twój komputer jako serwer
  • localhost to czytelna dla człowieka nazwa przypisana do 127.0.0.1
  • przeglądarki i systemy automatycznie zamieniają localhost na 127.0.0.1

localhost:3000

  • numer portu, czyli „drzwi” do konkretnej aplikacji/serwera na twoim komputerze
  • localhost:3000 oznacza – połącz się z moim komputerem (localhost) przez port 3000
  • jeśli port jest już zajęty, aplikacja nie wystartuje na nim
  • możesz je zmienić ręcznie – to tylko ustawienie konfiguracyjne
  • niektóre porty są zarezerwowane dla znanych usług:
    • 80 – HTTP (strony www)
    • 443 – HTTPS (bezpieczne strony)
    • 21 – FTP
    • 22 – SSH
    • 3306 – MySQL
    • 25 – SMTP (poczta)
  • dla środowisk developerskich przyjmuje się popularne porty:
    • 3000 – React, Next.js
    • 5173 – Vite (domyślnie)
    • 8080 – alternatywny serwer HTTP
    • 8000, 5000 – Python/Flask, Django

Hope this helps and happy coding :)

Zobacz jeszcze

Dołączanie plików z motywu w WordPress

Do dołączania plików z motywu w WordPress służą zarówno include locate_template() jak i get_template_part(), ale mają inne przeznaczenie i zachowanie. Oto...

escaping danych w Worpdress - czyli funkcje esc_*

W WordPressie mamy kilka funkcji esc_*, które służą do oczyszczania (ang. escaping) danych przed wyświetleniem ich w HTML, dzięki temu bezpiecznie wyświetlisz dane w HTML, i unikniesz XSS,...