W świecie deweloperskim, co dokładnie robią programiści zaplecza / serwera? Chyba tak naprawdę nie rozumiem całej koncepcji.
Zrobiłem układy HTML / CSS i projekt strony internetowej oraz trochę SQL z PHP (wciąż podnosząc swoje umiejętności, to dla mnie raczej poboczny projekt). Zrobiłem również niewielką ilość JavaScript / JQuery.
Ale nie rozumiem działania „zaplecza”, takiego jak języki skryptowe (Rails / Python / etc) i tym podobne. Co dokładnie z nimi „robisz”?
Odpowiedzi:
Jeśli korzystałeś z PHP, to wykonałeś pracę po stronie serwera!
Mówiąc ogólnie, kod po stronie klienta jest uruchamiany na twoim komputerze, w przeglądarce internetowej, a kod po stronie serwera jest uruchamiany na komputerze w Internecie, a wyniki obliczeń po stronie serwera są następnie przesyłane przez Internet do twojego przeglądarka.
Kiedy napisałeś kod PHP, który uruchamiał instrukcje SQL, wywołania SQL były wykonywane na zdalnym komputerze (serwerze), a wynik - zwykle w postaci wygenerowanego HTML - jest następnie przesyłany przez Internet do przeglądarki.
Z drugiej strony JavaScript jest uruchamiany w przeglądarce. Podobnie jak CSS.
Sprawdź różnicę między programowaniem po stronie klienta a programowaniem po stronie serwera, aby uzyskać więcej informacji.
źródło
Podstawowym założeniem jest:
Użytkownik daje swój wkład, przesyła go przez jakąś sieć, a następnie serwer wykonuje magię zgodnie z danymi wejściowymi.
Zasadniczo chcesz, aby wszystkie zabezpieczenia i sprawdzanie poprawności były przeprowadzane po stronie serwera. Z drobiazgami działającymi po stronie klienta, takimi jak dyskretne sprawdzanie poprawności formularzy (nadal jednak trzeba sprawdzać poprawność po stronie serwera!).
Wielkie pytanie: dlaczego?
Użytkownicy mogą modyfikować informacje na swoim komputerze. Jako przykład zobacz trenery gier, które modyfikują wartości pamięci, aby użytkownicy mogli „zhakować” grę. Jeśli robisz najważniejsze rzeczy na swoim komputerze, w swoim fizycznym obiekcie, znacznie zmniejszasz ryzyko ingerencji w twoje kontrole bezpieczeństwa.
źródło
projektujesz elementy interfejsu użytkownika, projektując systemy, które współdziałają z klientem twoich systemów. Zauważ, że słowo „klient” jest dość duże, ale w zasadzie oznacza, że pracujesz nad interfejsem użytkownika, gdy zapewniasz interfejs do świata zewnętrznego.
Większość stron internetowych to tylko interfejsy, to znaczy, że dostarczają one informacji zewnętrznemu światu i przez większość czasu informacje te mogą być przechowywane po prostu jako tekst w plikach HTML.
Zaplecze projektujesz, gdy potrzebujesz świadczyć usługi i obejmować funkcje, z których będzie korzystać Twój interfejs. Pozwala to przenieść część obciążenia z klienta (front-end) na serwer (back-end). Zrobisz to w przypadkach, gdy zajdzie potrzeba skoordynowania informacji od różnych klientów, którzy mogą jednocześnie uzyskiwać dostęp do systemu. Lub jeśli potrzebujesz użyć centralnego repozytorium danych do zestawienia danych dynamicznych, lub ponownie, jeśli potrzebujesz określonych wymagań bezpieczeństwa. Ta lista nie jest wyczerpująca, a jedynie szybkie przykłady.
krótko mówiąc, Front-end (klient) przedstawi informacje światu zewnętrznemu. Zwykle są to ludzie za pomocą GUI HTML lub w inny sposób.
Zaplecze zapewni środki do scentralizowania usług w celu korzystania z interfejsu użytkownika. Korzystanie z zaplecza nie jest obowiązkowe i zwiększa złożoność systemu, ale pozwala lepiej zarządzać złożonością właściwą systemowi, który próbujesz zbudować.
Na przykład możliwe jest świadczenie usługi, takiej jak wiki wyłącznie za pośrednictwem interfejsu, ale będzie miało wiele ograniczeń, które użycie zaplecza do przechowywania danych i udostępniania ich na interfejsie rozwiązałoby w bardziej naturalny sposób.
źródło
Frontend to rzeczy, które działają w przeglądarce, backend, taki jak PHP, działa na serwerze i przechowuje dane w bazie danych i robi takie rzeczy.
źródło
Moim zdaniem praca po stronie serwera (o której już wspomniano, to wszystko, co działa na serwerze, z którego uzyskuje się dostęp do witryny) jest tym, co daje stronie prawdziwe życie. Wiele funkcji wciąż można uzyskać za pomocą technologii po stronie klienta, ale moim zdaniem jest to znacznie bardziej skomplikowane podejście i znacznie mniej bezpieczne, ponieważ klienci mają dostęp do wszystkiego, co znajduje się w kodzie klienta. PHP i ASP są w pewnym sensie hybrydowymi językami programowania, które są przeznaczone prawie wyłącznie do udostępniania zawartości strony internetowej w przeglądarce po wykonaniu pewnych czynności obliczeniowych. Kiedy zaczynasz pracę z Pythonem, Ruby, Java lub innymi językami programowania, masz więcej mocy i możliwości, ale trochę więcej pracy, aby wysłać wynikowe informacje do klienta na końcu procesu.
źródło
Każda typowa aplikacja / strona internetowa ma dwie strony.
Front Side - Który element sterujący to interfejs / układ / kolory / czcionki itp
Back Side - Obsługuje manipulowanie danymi w bazie danych lub manipulację plikami, robi dużo logiki, jeśli to, zrób to, jeśli nie, itp. Integruje się z oprogramowaniem serwera WWW, takim jak Apache / IIS / etc, i serwerem bazy danych oprogramowanie takie jak mySQL / PostreSQL / MS SQL Server.
Tylna strona jest znacznie potężniejszą stroną, ponieważ może robić tak wiele rzeczy, od tworzenia plików programu Excel, generowania raportów, wykonywania obliczeń, uzyskiwania danych z różnych serwerów.
Następnie przygotowuje i wyświetla te dane, w jaki sposób konfigurowana jest strona frontowa.
Osiąganie dobrych wyników w obu przypadkach jest ciężką pracą, dużą ilością ćwiczeń, nauki i samodyscypliny.
Jeśli chcesz być najlepszy, ćwicz i nigdy nie przestawaj się uczyć i nigdy nie zakładaj, że znasz wszystkie odpowiedzi.
źródło