Ile HTML i CSS powinien wiedzieć deweloper po stronie serwera? [Zamknięte]

16

I zrobili Ci C++teraz chcę, aby rozpocząć swoją karierę jako web-developer . Dużo czytałem o tworzeniu stron internetowych i dowiedziałem się, że istnieją dwa typy programistów w sieci,

 1. Client Side Developers.
 2. Server Side Developers.

Chcę skupić się na rozwoju po stronie serwera . Pomyślałem, że najlepiej zacząć od podstaw, więc zacząłem robić HTMLiCSS . Dowiedziałem się, że CSSbył zbyt duży, aby ktoś mógł go łatwo opanować. Chcę wiedzieć, jakie podstawy powinien znać programista po stronie serwera, czy powinien być mistrzem HTML i CSSczy po prostu z niego zrezygnować?


źródło
1
Czy programista usług internetowych byłby trzecim typem programisty, czy też byłby liczony jako programista po stronie serwera?
JB King
1
@ jb-king IMO, które byłyby po stronie serwera
BlackICE,
1
@Jb king, @ David: A może nazwać go programistą po stronie serwera, który wie, jak działa sieć.
1
Osoba, która opracowuje usługi sieciowe, nie musi nigdy używać CSS ani HTML, jeśli usługa zwraca tylko XML lub SOAP. W związku z tym jest to dalekie od tej samej osoby, która tworzy stronę internetową lub aplikację ASP.Net, która ma wiele funkcji interfejsu użytkownika, które używają HTML i CSS, aby dać kontrast.
JB King
Mówiąc po stronie klienta, teraz programista z pełnym stosem, każdy powinien znać HTML. Kiedy wpadam na deweloperów po stronie serwera z wieloletnim doświadczeniem, które zepsuły funkcjonalność, ponieważ nie wiedzieli, że identyfikatory powinny być unikalne na stronie, chcę ich spoliczkować. FFS, nazywa się to „ID”. Jak możesz w ogóle ufać facetowi, że po tym podejdzie do SQL? I to tylko kilka godzin w roku, aby uzyskać wskazówkę na temat najnowszego HTML. Ponadto, IMO, każdy, kto powinien dotknąć strony szablonu, powinien również być w stanie wyjaśnić wszystkie zalecenia YSLOW, ponieważ wie, w jaki sposób przeglądarki parsują i renderują strony.
Erik Reppen

Odpowiedzi:

15

Zważasz na ich dobre poznanie. Jeśli jesteś programistą, to jesteś programistą. Powinieneś być w stanie samodzielnie pisać aplikacje internetowe, w tym technologię po stronie klienta.


źródło
3
+1 Jestem kiepskim projektantem, ale w kilku aplikacjach nie współpracuję z prawdziwym projektantem.
Michael
2
Ty, mój przyjacielu, nie jesteś sam. Nie mam zamiaru patrzeć na świetny interfejs użytkownika, ale staram się go przejrzeć, więc nie potrzebuję innego programisty, aby stworzyć w pełni funkcjonalną aplikację internetową.
8

Uważam się za programistę „po stronie serwera”.

Pomimo bycia „tylną stroną” tworzenia stron internetowych, myślę, że niezwykle pomocna jest znajomość podstaw HTML i CSS. Pracuję na typowych „systemach zarządzania treścią internetową” (WCMS), takich jak Drupal, Day CQ i Liferay, a większość wymagań biznesowych i próśb dotyczy zmiany wyglądu.

Nie trzeba stać się „mistrzem” w HTML lub CSS, ale przynajmniej powinieneś wiedzieć, jak stworzyć statyczną stronę internetową, stylizowaną za pomocą CSS. Powinieneś znać podstawy formularzy i różne mechanizmy wprowadzania. W przypadku CSS zrozum różnicę między atrybutem ID i CLASS oraz sposobem działania selektorów. Dużo tego z czasem odbierzesz.

Na koniec zdobądź wiedzę na temat typowych różnic między przeglądarkami. Znowu jest to wiedza, którą zdobędziesz w miarę upływu czasu, ale zauważ, że istnieją różnice w przeglądarce i przygotuj się na jej rozpoznanie.

rickumali
źródło
1
+1 na „tutaj nie ma potrzeby zostania„ mistrzem ”w HTML lub CSS”. Jestem projektantem, który został programistą i po opanowaniu podstawowego CSS dla układów przy użyciu liczb zmiennoprzecinkowych dochodzi do niesamowitego spadku zwrotów w wiedzy CSS. Nerdowie z Front Endu mają najbardziej szalone argumenty na temat wsparcia CSS3 / IE / etc, a wiele z nich sprowadza się do dogmatów lub religii. „Stoły ZŁO!”, „Przykręć IE!” „Mikroformaty wyleczą RAKA!” Wiele z tych argumentów nie ma żadnego wpływu na rzeczywisty świat, więc jeśli nauczysz się CSS, unikaj kręgów dogmatycznych i po prostu skup się na nauce umieszczania rzeczy na ekranie.
Graham,
Tak, byłem na takich debatach, jak „Czy należy stosować tabele?” następnie „Dlaczego Google i Twitter używają tabel?” Widząc takie pytania, wydaje mi się, że trudno było wybierać spośród dostępnych tagów /
Po stronie klienta tabele jako układ lub dalsze używanie pływaków wyłącznie do pozycjonowania poziomego w 2011 lub 2014 r. Nie są odrzuceniem dogmatów. Są to oznaki osoby, która zdecydowała się wyznaczyć datę ważności swojej kariery. Projektant lub deweloper agencji reklamowej / marketingowej / agencji interaktywnej może być w stanie tego uniknąć. Gdybym zobaczył to w czyjejś pracy, odradzam zatrudnienie w dowolnym miejscu, w którym pracowałem, gdzie produkt końcowy nie byłby ostatecznie jednorazowy.
Erik Reppen
1

Właściwie zidentyfikowałbym trzy segmenty:

  • Programiści po stronie serwera
  • Programiści po stronie klienta (programiści JavaScript)
  • Projektanci

Będziesz potrzebował dogłębnej znajomości zarówno HTML, jak i CSS. Podział pracy między programistami po stronie serwera a programistami po stronie klienta zazwyczaj wymaga, aby programista po stronie serwera dostarczał HTML generowany przez interakcje z bazą danych i programowaniem. HTML zawiera również identyfikatory CSS, dzięki czemu mogą być nim manipulowani przez programistów lub projektantów po stronie klienta.

Twoim zadaniem jako programisty po stronie serwera jest zazwyczaj dostarczanie znaczników HTML / CSS pozostałym dwóm. Dąż do pełnego opanowania zarówno HTML, jak i CSS.

Michael
źródło
1
„Deweloper po stronie serwera dostarcza HTML” Wygenerowany HTML powinien być połączeniem 3 ról. Każdy musi być zaangażowany w HTML. Również programista po stronie serwera nie jest zaangażowany w CSS.
Raynos,
@Raynos Deweloperzy po stronie serwera nie definiują reguł CSS, to prawda. Muszą jednak zrozumieć, jak przypisywać klasy do znaczników dla grup semantycznych.
Michael
1
@Micheal, który jest inny, HTML i CSS są rzeczywiście powiązane. Idealnie, programiści po stronie serwera po prostu ujawniają API REST XML / JSON, a twórcy / projektanci front-end piszą HTML / CSS. Programiści po stronie serwera nadal nie powinni pisać kodu CSS, z którego mogliby korzystać programiści WWW.
Raynos
1

Musisz znać HTML + CSS, ponieważ są one niezbędne i nie są trudne do nauczenia. Napotkasz pułapki, próbując ustawić CSS dla wszystkich przeglądarek, ale musisz to wiedzieć, ponieważ czasami musisz wygenerować HTML po stronie serwera.

Możesz rozpocząć naukę, tworząc własny blog. Jeśli nie ma o czym pisać, możesz pisać o swoich lekcjach.

bogatyrjov
źródło
1

Nie rozumiem, dlaczego ludzie nie rozumieją. W witrynach internetowych nie ma kodu front-end. To wszystko kod zaplecza. Kodem frontonu jest przeglądarka, więc jeśli nie pracujesz w Mozilli, IE, Chromium / google lub safari, piszesz kod po stronie serwera. Oto jak to działa: Przeglądarka żąda pliku z serwera WWW. Serwer WWW wysyła plik. Przeglądarka interpretuje ten plik i może żądać dodatkowych plików (obrazów, javascript, css itp.) I interpretować te pliki, dopóki wszystkie pliki nie zostaną zinterpretowane.

Ten pierwszy plik, o który prosi przeglądarka, to plik HTML. Plik HTML jest analizowany, a przeglądarka decyduje o sposobie renderowania jego zawartości. Tak więc jedną z ważnych koncepcji, które należy zachować, jest to, że plik html jest zużywany przez analizator składni.

Serwer WWW to oprogramowanie, które nasłuchuje na porcie i przetwarza żądania plików. Jeśli plik jest plikiem statycznym (w tym przypadku mamy na myśli plik statyczny w tym sensie, że plik jest już utworzony), to jest on po prostu kopiowany w stanie niezmienionym do żądającego klienta. Jeśli plik jest dynamiczny, co oznacza, że ​​jest tworzony przy każdym żądaniu pliku, serwer WWW żąda wygenerowania pliku przez oprogramowanie, które generuje plik (działający proces, załadowana biblioteka lub spawnujący proces) i to oprogramowanie generuje plik i wysyła go do serwera WWW, który z kolei wysyła go do klienta.

Po „udostępnieniu” tego pliku klientowi i jego przeanalizowaniu klient może zażądać innych typów plików, takich jak pliki json, w których może ominąć parsowanie przez moduł renderujący HTML i zamiast tego zwrócić plik do uruchomionego w nim interpretera javascript klient i są one analizowane (eval jest formą parsowania) przez javascript. Na tym opiera się AJAX.

Jak to na ciebie wpływa? Jeśli jakikolwiek plik na serwerze jest generowany dynamicznie, oznacza to, że na serwerze działa oprogramowanie, które mówi mu, jak wygenerować plik. Osoby, które programują to oprogramowanie, są uważane za programistów „po stronie serwera”.

Te pliki HTML wygenerowane na serwerze poinformują przeglądarkę, jakie inne pliki mają zostać uwzględnione, więc javascript, obrazy i css muszą zostać zaimportowane, ułożone i inaczej zorganizowane przez wygenerowany plik html.

Wiele frameworków internetowych, i śmiem twierdzić, metodologie (MVC i in.) Zostały opracowane w celu stworzenia granicy między czystą pracą „po stronie serwera” a pracą „po stronie klienta”.

Zapomniałem wspomnieć o ludziach danych. Ludzie zajmujący się przechowywaniem danych są nawet bardziej po stronie serwera niż twórcy oprogramowania do generowania plików HTML. Przechowywanie danych, czy to relacyjna baza danych, NoSQL, czy inaczej, to zupełnie inna sprawa. Wspominam o tym, ponieważ reklamowane ramy i metodologie Big-Vendor (MVC i inni) najwyraźniej ułatwiają po prostu „po prostu pogrubienie tego”.

Łał, co za długa odpowiedź.

Robię tę pozornie natarczywą odpowiedź, aby zakwestionować twoje stwierdzenie, że istnieją programiści po stronie serwera i po stronie klienta. Jeśli dostarczasz swój system informacyjny za pośrednictwem strony internetowej, wszystko musi być przechowywane, organizowane i zarządzane na serwerze. I to jest wielki bałagan, a jeśli naprawdę nie nauczysz się, jak to wszystko działa, będziesz miał naprawdę dużo czasu, aby to działało dobrze. Wszystko po stronie serwera.

Christopher Mahan
źródło
1
NIE JESTEŚ PEWNY, JEŻELI POWAŻNY? To jest głupie. „Strona klienta” odnosi się do oprogramowania uruchamianego na komputerze klienta, a nie na platformie dostarczającej. HTML, CSS i JavaScript są PRZECHOWYWANE na serwerze (duh), ale RUN na kliencie. Dlatego ich rozwój jest uważany za „po stronie klienta”.
Graham,
Oprogramowanie działające na komputerze klienckim jest interpretowane przez silnik renderujący w przeglądarce, który działa na kliencie. Mechanizm renderowania najpierw renderuje HTML, a następnie, po renderowaniu, renderuje dowolne powiązane zasoby w kontekście pliku HTML.
Christopher Mahan
@Graham, tak, to skomplikowane, a więc atrakcyjność Silverlight i AdobeAir.
Christopher Mahan
0

+1 za pytanie. Zawsze też myślałem, że kodowanie po stronie serwera jest bardziej interesujące i ważne niż robienie html + css + js + ajax + .. i wielu innych rzeczy. W każdym razie, jeśli jesteś sam i chcesz stworzyć własną aplikację internetową, musisz być zarówno programistą po stronie serwera, jak i projektantem + (programistą po stronie klienta). Dlatego teraz uczę się HTML5 i CSS3.

Siergiej
źródło
Dzięki Siergiej. Robię HTML 4 i CSS i wkrótce spróbuję przejść na HTML5, a potem PHP :)
Która strona jest bardziej interesująca, zależy od zastosowania. Wiele aplikacji internetowych ma około 90% doświadczenia użytkownika i 10% projektowania danych.
kevin cline
Jeśli dobrze wykonasz projektowanie danych, wrażenia użytkownika również będą proste!
Christopher Mahan
„Jeśli dobrze wykonasz projektowanie danych, wrażenia użytkownika również będą proste!” - Przepraszam, ale to KORZYSTNIE złe. Ipod miał taki sam podstawowy projekt danych jak ponad 100 innych odtwarzaczy MPG na rynku, ale jego rewolucyjne wrażenia użytkownika sprawiły, że Apple jest firmą, którą wszyscy znamy dzisiaj.
Graham
0

Właściwie to zależy. W większości przypadków musisz znać HTML i CSS. W rzadkich przypadkach możesz zignorować oba.

Przypadek 1

W mojej firmie są projekty ściśle rozdzielone między HTML i CSS i wszystko, co jest związane ze stroną serwera . Pozwala to przynieść najlepszego programistę C # lub PHP z jednej strony, a najlepszego programistę HTML, CSS i JavaScript z drugiej strony. Konkretnie, programista po stronie serwera tworzy dla każdej strony obiekty po stronie serwera zawierające wszystko, czego potrzebujemy do wyświetlenia strony; obiekty te są następnie serializowane do formatu XML. Deweloper po stronie klienta wybiera te obiekty i przekształca je w XHTML za pomocą XSLT.

To powiedziawszy, nigdy nie widziałem takiego podejścia w innych firmach. Ma też wiele ograniczeń i nawet jeśli jest doskonały w niektórych przypadkach, w ogóle nie działa.

Przypadek 2

Gdy w małych witrynach programista i projektant współpracują ze sobą, nie ma zgody co do tego, kto pisze HTML i CSS. Musisz zdecydować o każdym projekcie, zgodnie z umiejętnościami obu zaangażowanych osób. Nawet jeśli w wielu przypadkach to programista zajmuje się HTML i CSS, możesz również znaleźć projektantów, którzy znają HTML i CSS bardzo dobrze . W takim przypadku, jeśli zamierzasz pracować nad małymi projektami i tylko z takim projektantem, nie musisz uczyć się HTML / CSS.

Przypadek 3

Przy większych projektach nie jest niczym niezwykłym zatrudnienie dedykowanej osoby do napisania kodu HTML i CSS na podstawie pracy projektantów i programistów po stronie serwera. Jest to zwykle dobry pomysł, aby to zrobić, ponieważ nie chcesz płacić 100 USD za godzinę dla doświadczonego programisty C #, który faktycznie pisze HTML; to tylko strata czasu i pieniędzy.


Biorąc to pod uwagę, przypadki te nie są najczęstsze. Skup się więc na rozwoju po stronie serwera, ale spróbuj też nauczyć się HTML i CSS. Dodatkowa wiedza nigdy nie boli.

Arseni Mourzenko
źródło
0

Czasami, szczególnie na początku, będziesz sam pracował nad projektem i będziesz musiał zrobić front-end i back-end. W takim przypadku potrzebujesz co najmniej podstawowej wiedzy o HTML i CSS. Nie musisz być świetnym projektantem, musisz tylko wyświetlić informacje z backendu w przeglądarce, abyś mógł przetestować różne rzeczy.

Zhehao Mao
źródło
0

Właściwie wszystko zależy. Jeśli wpadasz w błoto w zakresie programowania oprogramowania serwera, upewnij się, że znasz standardowe sposoby, w jakie wielbiciele stron internetowych naprawdę wysokiego poziomu (HTML / CSS) powinni być w stanie komunikować się z Twoją aplikacją. Jeśli jednak planujesz wykonać dużo pracy ściśle związanej z HTML / CSS, musisz znać język HTML i CSS dość dobrze. Tak czy inaczej, zawsze dobrze jest znać dodatkowe technologie. Jestem natywnym programistą i nawet ja znam HTML / CSS na tyle, by stworzyć całkiem przyzwoitą stronę internetową. To powiedziawszy, nauczyłem się go tylko po to, aby nauczyć się AJAX pisać niektóre dodatki do Chrome / Firefox.


źródło