Сколько HTML и CSS должен знать разработчик на стороне сервера? [закрыто]


16

Я сделал, Cи C++теперь я хочу начать свою карьеру в качестве веб-разработчика . Я много читал о веб-разработке и узнал, что в сети есть два типа разработчиков,

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

Я хочу сосредоточиться на разработке на стороне сервера . Я думал, что будет лучше начать с основ, поэтому я начал делать HTMLи CSS. Я обнаружил, что CSSон слишком велик, чтобы кто-то мог легко освоить его. Я хочу знать, что основы должен знать разработчик на стороне сервера, должен ли он быть мастером HTML и CSSили просто покончить с этим?


1
Будет ли разработчик веб-сервисов разработчиком третьего типа или это лицо будет считаться разработчиком на стороне сервера?
JB King

1
@ jb-king IMO, которая будет на стороне сервера
BlackICE

1
@Jb king, @ David: Как насчет того, чтобы называть его разработчиком на стороне сервера, который знает, как работает веб.

1
Кому-то, кто разрабатывает веб-сервисы, может не понадобиться использовать CSS или HTML, если сервис просто возвращает XML или SOAP. Таким образом, это далеко не тот же человек, который разрабатывает веб-сайт ASP.Net или веб-приложение, которое имеет множество функций пользовательского интерфейса, которые используют HTML и CSS для обеспечения контраста.
JB King

Говоря как клиент на стороне full-stack-ish dev, все должны знать HTML. Когда я столкнулся с разработчиками на стороне сервера с многолетним опытом, который нарушил функциональность, потому что они не знали, что идентификаторы должны быть уникальными на странице, я хочу дать им пощечину. FFS, это называется «ID». Как ты вообще доверяешь парню, приближающемуся к SQL после этого? И только несколько часов в год, чтобы иметь представление о новейшем HTML. Кроме того, IMO, любой, кто ожидал прикоснуться к странице шаблона, должен также иметь возможность объяснить все рекомендации YSLOW, потому что он знает, как браузеры анализируют и отображают страницы.
Эрик Реппен

Ответы:


15

Вам нужно знать их хорошо. Если вы веб-разработчик, то вы веб-разработчик. Вы должны быть в состоянии самостоятельно писать веб-приложения, включая технологии на стороне клиента.


3
+1 Я паршивый дизайнер, но в некоторых приложениях у меня нет партнерства с настоящим дизайнером.
Майкл

2
Вы, мой друг, не одиноки. У меня нет особого взгляда на отличный пользовательский интерфейс, но я пробираюсь сквозь него, чтобы не нуждаться в другом разработчике для создания полнофункционального веб-приложения.

8

Я считаю себя разработчиком "на стороне сервера".

Несмотря на то, что я нахожусь на «обратной стороне» веб-разработки, я думаю, что чрезвычайно полезно знать основы HTML и CSS. Я работаю над типичными «системами управления веб-контентом» (WCMS), такими как Drupal, Day CQ и Liferay, и большинство бизнес-требований и запросов вращаются вокруг изменения внешнего вида и внешнего вида.

Нет необходимости становиться «мастером» в HTML или CSS, но как минимум вы должны знать, как создать статическую веб-страницу, стилизованную с помощью CSS. Вы должны знать основы форм и различные механизмы ввода. Для CSS, поймите разницу между ID и атрибутом CLASS, и как работают селекторы. Многое из этого вы получите со временем.

Наконец, накопите некоторые знания об общих различиях браузера. Опять же, это знание, которое вы получите со временем, но признаете, что существуют различия в браузере, и будьте готовы его распознать.


1
+1 на "нет необходимости становиться" мастером "в HTML или CSS". Я дизайнер, ставший программистом, и после изучения базового CSS для макетов с использованием поплавков наблюдается невероятное снижение отдачи от знаний CSS. У ботаников переднего конца есть самые безумные аргументы по поводу поддержки CSS3 / IE / и т.д., и многие из них сводятся к догме или религии. «Столы ПЛОХО!» «Винт ИЕ!» "Микроформаты вылечат рак!" Многие из этих аргументов никак не влияют на реальный мир, поэтому, если вы действительно изучаете CSS, избегайте догматических кругов и просто сосредоточьтесь на том, как разместить материал на экране.
Грэм

Да, я был на таких дебатах, как "Должны ли использоваться таблицы?" тогда "Почему Google и Twitter используют таблицы?" Видя такие вопросы, я просто думаю, что стало трудно выбирать из доступных тегов /

На стороне клиента размещение таблиц как макетов или продолжение использования поплавков исключительно для горизонтального позиционирования в 2011 или 2014 году не являются отказом от догмы. Это признаки кого-то, кто решил поставить дату окончания своей карьеры. Дизайнер или разработчик исключительно рекламного / маркетингового / интерактивного агентства может сойти с рук. Если бы я увидел это в чьей-то недавней работе, я бы рекомендовал не нанимать кого-либо, где я работал, где конечный продукт не был в конечном счете одноразовым.
Эрик Реппен

1

Я бы на самом деле выделил три сегмента:

  • Разработчики на стороне сервера
  • Разработчики на стороне клиента (программисты JavaScript)
  • Конструкторы

Вам понадобятся глубокие знания как HTML, так и CSS. Разделение труда между разработчиками на стороне сервера и на стороне клиента обычно требует, чтобы разработчик на стороне сервера предоставлял HTML-код, создаваемый взаимодействием с базой данных и программированием. Этот HTML также содержит CSS-идентификаторы, так что его могут манипулировать разработчики или дизайнеры на стороне клиента.

Ваша работа в качестве разработчика на стороне сервера обычно заключается в предоставлении разметки HTML / CSS двум другим. Стремитесь к полному овладению HTML и CSS.


1
«Разработчик на стороне сервера предоставляет HTML» Сгенерированный HTML должен состоять из трех ролей. Каждый должен быть связан с HTML. Также серверный разработчик не имеет никакого отношения к CSS.
Рэйнос

@Raynos Разработчики на стороне сервера не определяют правила CSS, это правда. Однако они должны понимать, как назначать классы в разметке для семантических группировок.
Майкл

1
@Micheal отличается, HTML и CSS действительно связаны. В идеале разработчики на стороне сервера просто представляют XML / JSON REST API, а разработчики / дизайнеры внешнего интерфейса пишут HTML / CSS. Разработчики на стороне сервера все еще не должны писать CSS для веб-разработчиков.
Рэйнос

1

Вы должны знать HTML + CSS, так как они необходимы и не сложны в изучении. Вы столкнетесь с ловушками при попытке установить CSS для всех браузеров, но вы должны это знать, потому что вам иногда нужно генерировать HTML, используя серверную часть.

Вы можете начать изучать их, создав свой собственный блог. Если не о чем писать в блоге, вы можете написать о своих уроках.


1

Я не понимаю, почему люди не понимают. На сайтах нет кода переднего плана. Это весь внутренний код. Кодом переднего конца является браузер, поэтому, если вы не работаете с Mozilla, IE, Chromium / Google или Safari, вы пишете код на стороне сервера. Вот как это работает: браузер запрашивает файл с веб-сервера. Веб-сервер выводит файл. Браузер интерпретирует этот файл и может запрашивать дополнительные файлы (изображения, javascript, css и т. Д.) И интерпретировать эти файлы, пока все файлы не будут интерпретированы.

Теперь этот первый файл, который запрашивает браузер, является html-файлом. HTML-файл анализируется, и браузер решает, как отобразить его содержимое. Таким образом, одна из важных концепций, которую следует здесь сохранить, заключается в том, что html-файл используется синтаксическим анализатором.

Веб-сервер - это программа, которая прослушивает порт и обрабатывает запросы на файлы. Если файл является статическим файлом (мы имеем в виду статический в том смысле, что файл уже создан), то он просто копируется как есть на запрашивающий клиент. Если файл является динамическим, то есть он создается каждый раз, когда файл запрашивается, веб-сервер запрашивает файл, который будет сгенерирован программным обеспечением, которое генерирует файл (либо запущенный процесс, загруженная библиотека или порождение процесса), и это программное обеспечение генерирует файл и отправляет его веб-серверу, который, в свою очередь, отправляет его клиенту.

После того, как этот файл был «передан» клиенту и проанализирован, клиент может запросить другие типы файлов, такие как файлы json, где он может обойти синтаксический анализ с помощью средства визуализации html и вместо этого вернуть файл интерпретатору javascript, работающему в клиент, и они анализируются (eval является формой синтаксического анализа) с помощью javascript. Это то, на чем основан AJAX.

Теперь, как это влияет на вас? Если какой-либо файл на сервере генерируется динамически, то на сервере работает программное обеспечение, которое сообщает ему, как сгенерировать файл. Люди, которые программируют это программное обеспечение, считаются "серверными" программистами.

Эти html-файлы, сгенерированные на сервере, сообщат браузеру, какие другие файлы следует включить, поэтому javascript и изображения, а также CSS должны быть импортированы, упорядочены и иным образом организованы сгенерированным html-файлом.

Многие веб-фреймворки и, смею сказать, методологии (MVC и др.) Были разработаны для того, чтобы создать границу между чисто «серверной» работой и «клиентской» работой.

Я забыл упомянуть, о дорогие, данные люди. Специалисты по хранению данных даже больше на стороне сервера, чем пишущие программы, генерирующие html-файлы на стороне сервера. Хранение данных, будь то реляционная база данных, NoSQL или иное, - это совсем другое. Я упоминаю об этом, потому что рекламируемые Big-Vendor фреймворки и методологии (MVC и др. Снова), по-видимому, позволяют просто «просто выделить это».

Вау, какой длинный ответ.

Я делаю этот, казалось бы, неуклюжий ответ, чтобы оспорить ваше утверждение о том, что есть разработчики на стороне сервера и разработчики на стороне клиента. Если вы предоставляете свою информационную систему через веб-сайт, все должно храниться, организовываться и управляться на сервере. И это большой беспорядок, и если вы действительно не узнаете, как все это работает, у вас будет чертовски много времени, чтобы заставить его работать хорошо. Так что все это на стороне сервера.


1
НЕ УВЕРЕН, ЕСЛИ СЕРЬЕЗНО? Это глупо. «Клиентская сторона» относится к программному обеспечению, которое запускается на клиентском компьютере, а не к платформе доставки. HTML, CSS и JavaScript хранятся на сервере (дух), но RUN на клиенте. Поэтому их разработка считается «клиентской».
Грэм

Программное обеспечение, которое работает на клиентском компьютере, интерпретируется механизмом рендеринга в браузере, который работает на клиенте. Механизм рендеринга сначала рендерит html, а затем, после рендеринга, рендерит любой из связанных ресурсов в контексте html-файла.
Кристофер Махан

@Graham, да, это сложно, поэтому привлекательность Silverlight и AdobeAir.
Кристофер Махан

0

+1 за вопрос. Я также всегда думал, что кодирование на стороне сервера является более интересным и важным, чем создание html + css + js + ajax + .. и множества других вещей. В любом случае, если вы один и хотите создать свое собственное веб-приложение, вы должны быть как программистом на стороне сервера, так и дизайнером (программистом на стороне клиента). Вот почему сейчас я изучаю HTML5 и CSS3.


Спасибо Сергей. Я делаю HTML 4 и CSS, и я постараюсь в ближайшее время перейти на HTML5, а затем PHP :)

Какая сторона интереснее, зависит от приложения. Многие веб-приложения составляют около 90% пользовательского опыта и 10% дизайна данных.
Кевин Клайн

Если вы правильно сделаете дизайн данных, пользовательский опыт тоже будет простым!
Кристофер Махан

«Если вы правильно сделаете дизайн данных, пользовательский опыт будет простым!» - Извините, но это ШОЧНО неправильно. Ipod имел тот же базовый дизайн данных, что и более 100 других игроков MPG на рынке, но его революционный пользовательский опыт привел к тому, что Apple стала компанией, которую мы все знаем сегодня.
Грэм

0

На самом деле, это зависит. В большинстве случаев вы должны знать HTML и CSS. В редких случаях вы можете игнорировать оба.

Дело 1

В моей компании есть проекты со строгим разделением между HTML и CSS и всем, что связано со стороной сервера . Это позволяет привлечь лучшего разработчика на C # или PHP с одной стороны и лучшего разработчика HTML, CSS и JavaScript с другой. Конкретно, серверный разработчик создает для каждой страницы серверные объекты, содержащие все, что нам нужно для отображения страницы; эти объекты затем сериализуются в XML. Разработчик на стороне клиента выбирает эти объекты и преобразует их в XHTML с помощью XSLT.

При этом я никогда не видел такого подхода в других компаниях. Кроме того, у него много ограничений, и даже если в некоторых случаях он идеален, во многих других он вообще не работает.

Дело 2

Когда на небольших сайтах разработчик и дизайнер работают вместе, нет единого мнения о том, кто пишет HTML и CSS. Вы должны решить для каждого проекта, в соответствии с навыками обоих вовлеченных людей. Даже если во многих случаях разработчик занимается HTML и CSS, вы также можете найти дизайнеров, которые хорошо знают HTML и CSS . В этом случае, если вы собираетесь работать над небольшими проектами и только с таким дизайнером, вам не нужно изучать HTML / CSS.

Дело 3

В более крупных проектах весьма обычно нанимать отдельного человека для написания кода HTML и CSS на основе работы дизайнеров и разработчиков на стороне сервера. Обычно это хорошая идея, так как вы не хотите платить 100 долларов в час за опытного разработчика C #, чтобы действительно писать HTML; это просто трата времени и денег.


При этом, эти случаи не являются самыми частыми. Поэтому сосредоточьтесь на разработке на стороне сервера, но попробуйте также изучить HTML и CSS. Дополнительные знания никогда не болят.


0

Иногда, особенно в начале, вы будете работать над проектом самостоятельно, и вам придется делать front-end и back-end. В этом случае вам понадобится хотя бы элементарные знания HTML и CSS. Вам не нужно быть великим дизайнером, вам просто нужно, чтобы информация из вашего бэкэнда была видна в вашем браузере, чтобы вы могли что-то тестировать.


0

На самом деле все зависит. Если вы попали в тупик в отношении программирования серверного программного обеспечения, просто убедитесь, что вы знаете стандартные способы, с помощью которых веб-разработчики действительно высокого уровня (HTML / CSS) могут взаимодействовать с вашим приложением. Тем не менее, если вы планируете выполнять большую работу, тесно связанную с HTML / CSS, вам нужно будет достаточно хорошо знать HTML и CSS. В любом случае, всегда полезно знать некоторые дополнительные технологии. Я нативный программист и даже знаю достаточно HTML / CSS, чтобы создать достойно выглядящий сайт. При этом я узнал это только для того, чтобы научиться AJAX писать некоторые дополнения для Chrome / Firefox.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.