background

Co powinieneś wiedzieć za nim zaczniesz tworzyć strone www

Zbiór ogólnych porad znalezionych na serwisie stackoverflow w wątku o podobnym tytule, które pozwolę sobie przytoczyć i uzupełnić. Szkoda, że sam nie zabrałem się do napisania tego tematu wcześniej ;) Nie musisz wiedzieć wszystkiego od razu - możesz traktować to jako listę zadań do wykonania.

  1. Interfejs i użyteczność
    • wygląd witryny powinien być jedną z głównych rzeczy, na którą powinieneś zwrócić uwagę. Przeglądarki w różnym stopniu wspierają standardy, przez co witryna może inaczej się prezentować w każdej z nich. Istnieją strony takie jak browsershot, które pozwalają zobaczyć jak witryna wygląda w różnych środowiskach.
    • interfejs powinien być tworzony z myślą, że może być wyświetlany na ekranach o różnej wielkości i rozdzielczości. Tu najlepiej zobaczyć statystyki polskie lub dane ogólne i dostosować interfejs do najliczniejszej grupy.
    • aktualizować witrynę, tak aby zmiana była w jak najmniejszym stopniu odczuwalna dla użytkownika.
    • nie pokazywania surowych błędów użytkownikowi. Każdy błąd powinien zostać w jakiś stopniu obsłużony z przyjaznym dla użytkownika komunikatem.
    • nie wyświetlaj nigdy adresów e-mail jako zwykły tekst, chyba że chcesz, aby osoba otrzymywała tony spamu.
    • wprowadź limity w ilości zapytań od jednego hosta, aby ograniczyć możliwości szybkich i wielokrotnych zmian.
    • zawsze przekieruj żądanie po wykonaniu POST, aby odświeżenie strony nie powodowało problemów użytkownikom.
    • naucz się tworzenia progresywnego.
  2. Bezpieczeństwo
    • wiedzieć co to SQL injection i jak zapobiegać temu.
    • wiedzieć co to Cross-site scripting i jak zapobiegać temu.
    • wiedzieć co to Cross-site request forgery i jak zapobiegać temu.
    • wiedzieć jak zapobiegać przechwyceniu sesji użytkownika.
    • nigdy nie ufać danym użytkownika, także danym przetrzymywanym w ciasteczkach.
    • nigdy nie przetrzymywać haseł oraz sóli (ang. salt) w postaci jawnej.
    • używać HTTPS/SSL do przesyłania ważnych danych jak loginy i hasła.
    • utrzymywania oprogramowania serwera w najnowszych stabilnych wydaniach.
    • szczegóły połączenia z bazą danych nie mogą być dostępne publicznie.
    • czytać informacje o nowych formach ataku na witryny.
  3. Wydajność
    • zaimplementuj system buforowania jeśli jest potrzebny, wykorzystuj nagłówek HTTP cache dobrze.
    • optymizuj wielkość obrazków.
    • włącz kompresowanie zawartości plików HTML jeśli przeglądarka ją obsługuję.
    • złącz wiele małych plików stylów CSS w jeden, aby zmniejszyć ilość połączeń z serwerem.
    • wykorzystuj profilery pobierania zawartości, tj. Yahoo lub Google Page Speed.
    • wykorzystuj duszki (and. sprites) dla niewielkich elementów interfejsu, jak ikony, przyciski.
    • umieszczaj odnośniki do plików CSS na początku pliku HTML, a do skryptów na końcu.
    • duże obciążenie rozdziel pomiędzy domeny.
    • statyczne pliki, które nie potrzebują dostępu do ciasteczek umieść na osobnej domenie, która nie używa ciasteczek. Powodem jest wysyłanie ich zawartości przy każdym żądaniu.
    • minimalizuj ilość żądań potrzebnych do wyświetlenia strony.
    • wykorzystuj narzędzia do minimalizacji skryptów JavaScript
  4. SEO
    • wykorzystuj przyjazne i znaczące linki do zasobów w witrynie.
    • zmiana linków po zakończeniu kodowania zazwyczaj jest kłopotliwa, planuj więc wygląd linków przed kodowaniem.
    • nie twórz linków z napisem kliknij tutaj, a nazwane.
    • stwórz mapę witryny oraz plik robots.txt.
    • miej na uwadze, że w sieci istnieje wiele botów, które są źle zaprogramowane.
    • wykorzystuj <link rel="canonical" ..> do miejsc, które wskazują na tą samą zawartość.
    • nie korzystaj z Google analitics, który znacząco spowalnia ładowanie stron, a nie dostarcza więcej informacji niż analizatory logów serwera.
    • korzystaj z przekierowań 301, aby nie tracić page ranku na strone z prefiksem www i bez.
  5. Technologia
    • znać protokół HTTP, zwłaszcza różnice pomiędzy metodami GET, POST.
    • rozumieć bez stanowość protokołu HTTP.
    • tworzyć strony zgodnie z wytycznymi W3C oraz walidować ich poprawność.
    • orientować się jak i kiedy wykonywany jest skrypt JavaScript.
    • rozumieć jak działa piaskownica JavaScript przy wykorzystywaniu iframe.
    • mieć na uwadze, iż wykonywanie skryptów JavaScript może zostać wyłączone, co może uniemożliwić korzystanie ze strony przy korzystaniu z ,np. AJAX.
    • wiedzieć jak najwięcej o platformie, na której działa strona.
    • korzystać z frameworków CSS, JS niwelujących różnice pomiędzy przeglądarkami.
  6. Na koniec
    • tworzenie nowych funkcji strony przeważnie zajmuje 20% jej życia, podczas gdy utrzymanie i łatanie błędów pozostały czas. Miej to na względzie, kiedy tworzysz rozwiązanie, które nie wiesz, że nie będzie łatwe w utrzymaniu ani satysfakcjonujące.
    • zawsze miej na względzie, że każda funkcja może po jakimś czasie być rozbudowywana.
    • stwórz dobry system logowania błędów.
    • twórz backupy.
    • zapoznaj się z testami jednostkowymi.

Lista nie jest mała i wspomina tylko rzeczy naprawde istone z punktu tworzenia publicznej strony WWW.