Zaraz zacznę tworzyć stronę projektu muzycznego dla przyjaciela. Na razie powinno to być dość proste: brak zawartości dynamicznej (daty tras itp.) I nic więcej niż kilka osadzonych przykładowych utworów lub linków SoundCloud. Nie oczekuję, że użyję niczego więcej niż waniliowy JavaScript i Bootstrap lub Foundation dla responsywnej siatki.
Czy to jednak wystarczy? Czy mogę po prostu przesłać pliki HTML, CSS i JS na host i gotowe, czy powinienem poświęcić czas na zaprogramowanie serwera zaplecza w Node lub PHP?
Odpowiedzi:
Jeśli nie wiesz, czy potrzebujesz kodu po stronie serwera, prawdopodobnie nie *
* Uwaga : kod po stronie serwera jest niezbędny dla bezpieczeństwa, gdy chcesz wewnętrznie kontrolować dostęp do treści, danych lub funkcji. (Nie musi to być Twój serwer, patrz ostatni akapit).
Zadaj sobie pytanie, jaki problem przy użyciu technologii po stronie serwera rozwiązałby. Jeśli nie możesz o niczym myśleć (aw twoim przypadku ja też nie mogę), to nie potrzebujesz ich.
Należy pamiętać, że przy użyciu kodu po stronie klienta jest o wiele więcej, niż mogłoby się wydawać. Frameworki JavaScript, takie jak AngularJS lub ReactJS, umożliwiają integrację z dynamicznymi treściami stron trzecich poprzez interfejsy API wykorzystujące Ajax. (Obejmuje to podłączenie do interfejsu API, który mógłby obsługiwać własne zabezpieczenia).
źródło
Server-side code is essential for security
niektórzy programiści nie zwracają uwagi na bezpieczeństwo. Nie, dopóki nie rzucisz ich twarzą w ... bałagan. Moja linia mówi, że jeśli potrzebujesz uwierzytelnienia, potrzebujesz zaplecza. Jeśli chcesz przechowywać dane, potrzebujesz zaplecza, w którym dane będą sprawdzane po raz drugi po sprawdzeniu przez klienta.Przeczytaj o statycznych generatorach witryn. Umożliwiają one tworzenie witryny w sposób programowy (przy użyciu szablonów, danych itp.), A nie przez ręczne tworzenie kodu HTML. Wynikiem jest zestaw statycznego HTML i CSS, który nie wymaga żadnego zaplecza.
https://www.staticgen.com/ wymienia i szereguje szereg takich generatorów typu open source; prawdopodobnie istnieją również oferty o zamkniętym źródle.
źródło
Can I simply upload HTML, CSS, and JS files to a host and be done with it, or should I take the time to program a backend server in Node or PHP?
należy wskazać, że istnieje trzecia, w przypadku OP raczej atrakcyjna, opcja IMHO :)Możesz i powinieneś używać tylko strony statycznej, jeśli jest wystarczająca, lub użyć generatora strony statycznej . Dlaczego? Konserwowalność. Kod zawiera błędy. Co kilka tygodni pojawia się kolejna dziura w zabezpieczeniach WordPress. Jeśli korzystasz ze wspólnego CMS, będziesz musiał ciągle go łatać. W przeciwnym razie strona twoich znajomych wkrótce będzie zawierać reklamy nielegalnych narkotyków, propagandę ISIS, złośliwe oprogramowanie, które jest instalowane na komputerach odwiedzających lub gorzej. Nawet jeśli regularnie go załatujesz, możesz być za późno, więc musisz stale sprawdzać, czy nie hacki. Istnieją sposoby zabezpieczenia tego CMS. Zainstaluj „wtyczki bezpieczeństwa”, skonfiguruj zaporę sieciową, taką jak mod_security itp. Wszystko po prostu działa. Muszą również być aktualizowane. Czasami twoje reguły mod_security psują wtyczkę do WordPress, musisz to przeanalizować i naprawić. Więcej pracy.
Możesz pomyśleć, że nikt nie będzie chciał zhakować tej witryny. Ale w przypadku typowych luk w zabezpieczeniach występujących we wspólnych systemach CMS wkrótce pojawią się automatyczne boty, które indeksują / przeszukują sieć i włamują się do WSZYSTKICH witryn używających tego CMS. Chcą tylko rozpowszechniać swoje linki / złośliwe oprogramowanie / propagandę.
W przypadku strony statycznej (utworzonej ręcznie lub za pomocą generatora) nie masz tego problemu.
Jeśli zaimplementujesz własny backend, będzie on miał również luki w zabezpieczeniach (nikt nie jest doskonały), ale najprawdopodobniej nikt nie wykorzysta ich dla tej małej witryny. Ale co chcesz wdrożyć? Jeśli chcesz stworzyć edytor, w którym sam przyjaciel może samodzielnie zmieniać daty tras, zastanów się, ile czasu to zajmie, dopóki nie będzie wystarczająco łatwy w użyciu bez Twojej pomocy. Ile razy możesz po prostu szybko zmienić daty dla niego przy tym budżecie czasowym?
Moim zdaniem, zbyt wiele osób korzysta dziś z systemów CMS dla każdej strony, ponieważ statyczny HTML jest „stary”. Jeśli nie potrzebujesz niczego, co nie jest możliwe w HTML5, użyj kodu po stronie serwera. Ale jeśli go nie potrzebujesz, oszczędzasz mnóstwo czasu bez niego.
źródło
Programowanie zaplecza wystarczy tylko wtedy, gdy jest to potrzebne.
Jednak nawet podstawowe funkcje, takie jak formularze e-mail, zwykle wymagają podstawowego programowania zaplecza. Jeśli to tylko witryna displayowa, to tak, jest w porządku.
źródło
Niekoniecznie, ale są pewne problemy, na które możesz napotkać, jeśli utworzysz całą witrynę w zwykłym języku HTML.
Wiele witryn ma takie same elementy menu, nagłówka i stopki na wielu stronach. Jeśli po prostu skopiujesz i wkleisz je z jednej strony na drugą, może to stać się nużące i podatne na błędy w miarę powiększania strony i musisz wprowadzać zmiany w tych obszarach.
W czasach, gdy programowanie po stronie serwera było tak powszechne, powszechnym sposobem rozwiązania tego problemu było użycie ramek do osadzenia tych obszarów na każdej stronie. To wypadło kilka lat temu, więc nie polecam tego robić teraz. Zamiast tego możesz napisać prosty kod po stronie serwera, aby wyświetlić te wspólne elementy na każdej stronie.
Zgodziłbym się z innymi tutaj, którzy zalecili korzystanie z gotowego CMS.
źródło