¿Cuánto HTML y CSS debe saber el desarrollador del lado del servidor? [cerrado]

16

Lo he hecho Cy C++ahora quiero comenzar mi carrera como desarrollador web . Leí mucho sobre el desarrollo web y supe que había dos tipos de desarrolladores en la web,

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

Quiero mantener mi enfoque en el desarrollo del lado del servidor . Pensé que sería mejor comenzar con lo básico, así que empecé a hacer HTMLy CSS. Descubrí que CSSera demasiado grande para que alguien lo domine completamente fácilmente. Quiero saber qué aspectos básicos debe conocer un desarrollador del lado del servidor y si debe ser un maestro del HTML CSSo simplemente eliminarlo.


fuente
1
¿Sería un desarrollador de servicios web un tercer tipo de desarrollador o esa persona se consideraría un desarrollador del lado del servidor?
JB King
1
@ jb-king OMI ese lado sería servidor
BlackICE
1
@Jb king, @ David: ¿Qué tal llamarlo desarrollador del lado del servidor que sabe cómo funciona la web?
1
Es posible que alguien que desarrolla servicios web no necesite usar CSS o HTML si el servicio solo devuelve XML o SOAP. Por lo tanto, esto está lejos de ser la misma persona que desarrolla un sitio web o aplicación web ASP.Net que tiene muchas características de interfaz de usuario que usan HTML y CSS para dar un contraste aquí.
JB King
Hablando como un lado del cliente ahora full-stack-ish dev, todos deberían saber HTML. Cuando me encuentro con desarrolladores del lado del servidor con años de experiencia que rompen la funcionalidad porque no sabían que los ID deberían ser únicos en una página, quiero darles una palmada. FFS, se llama "ID". ¿Cómo confías en que un chico se acerque al SQL después de eso? Y solo lleva unas pocas horas al año tener una pista sobre el último HTML. Además, en mi opinión, cualquiera que esperara tocar una página de plantilla también debería poder explicar todas las recomendaciones de YSLOW porque saben cómo analizan y procesan las páginas los navegadores.
Erik Reppen

Respuestas:

15

Te prestará atención para conocerlos bien. Si eres un desarrollador web, entonces eres un desarrollador web. Debería poder escribir independientemente aplicaciones web, y eso incluye tecnología del lado del cliente.


fuente
3
Soy un diseñador pésimo, pero en algunas aplicaciones no tengo ninguna asociación con un diseñador real.
Michael
2
Tú, mi amigo, no estás solo. No tengo mucho ojo para una gran interfaz de usuario, pero la reviso para no necesitar otro desarrollador para hacer una aplicación web totalmente funcional.
8

Me considero un desarrollador del "lado del servidor".

A pesar de estar en el "reverso" del desarrollo web, creo que es extremadamente útil conocer los fundamentos de HTML y CSS. Trabajo en los "sistemas de gestión de contenido web" (WCMS) típicos, como Drupal, Day CQ y Liferay, y la mayoría de los requisitos y solicitudes comerciales giran en torno a cambiar el aspecto y la sensación.

No es necesario convertirse en un "maestro" en HTML o CSS, pero como mínimo, debe saber cómo hacer una página web estática, diseñada con CSS. Debe conocer los conceptos básicos de los formularios y los diversos mecanismos de entrada. Para CSS, comprenda la diferencia entre el ID y el atributo CLASS, y cómo funcionan los selectores. Mucho de esto lo recogerás con el tiempo.

Finalmente, acumule algún conocimiento de las diferencias comunes del navegador. Nuevamente, este es un conocimiento que aprenderá con el tiempo, pero reconozca que existen diferencias en el navegador y esté preparado para reconocerlo.

rickumali
fuente
1
+1 en "aquí no hay necesidad de convertirse en un 'maestro' en HTML o CSS". Soy un diseñador convertido en programador y hay una disminución increíblemente aguda de los retornos en el conocimiento de CSS después de aprender CSS básico para diseños con flotantes. Los nerds de Front End tienen los argumentos más locos sobre el soporte CSS3 / IE / etc, y muchos de ellos se reducen a dogmas o religiones. "¡Tablas MALAS!", "¡Tornillo IE!" "¡Los microformatos curarán el CÁNCER!" Muchos de esos argumentos no tienen ningún impacto en el mundo real, por lo que si APRENDE algo de CSS, asegúrese de evitar los círculos dogmáticos y simplemente concéntrese en aprender cómo colocar las cosas en la pantalla.
Graham
Sí, he estado en debates como "¿Deben usarse las tablas?" entonces "¿Por qué Google y Twitter usan tablas?" Al ver esas preguntas, creo que se ha vuelto difícil elegir entre las etiquetas disponibles /
En el lado del cliente, las tablas como diseño o continuar usando flotadores exclusivamente para posicionamiento horizontal en 2011 o 2014 no son un rechazo al dogma. Son signos de alguien que ha decidido poner una fecha de vencimiento en su carrera. Un diseñador o desarrollador front-end exclusivo de publicidad / marketing / agencia interactiva podría salirse con la suya. Si lo viera en el trabajo reciente de alguien, recomendaría contra un alquiler en cualquier lugar donde haya trabajado donde el producto final no fuera desechable.
Erik Reppen
1

En realidad, identificaría tres segmentos:

  • Desarrolladores del lado del servidor
  • Desarrolladores del lado del cliente (programadores de JavaScript)
  • Diseñadores

Necesitará un conocimiento profundo de HTML y CSS. La división del trabajo entre los desarrolladores del lado del servidor y del lado del cliente / diseño generalmente requiere que el desarrollador del lado del servidor suministre el HTML producido por la base de datos y las interacciones de programación. Ese HTML también tiene identificadores CSS, para que pueda ser manipulado por los desarrolladores o diseñadores del lado del cliente.

Su trabajo como desarrollador del lado del servidor suele ser proporcionar el marcado HTML / CSS a los otros dos. Apunte a un dominio completo de HTML y CSS.

Miguel
fuente
1
El "generador del lado del servidor proporciona el HTML" HTML generado debe ser una unión de 3 roles. Todos deben involucrarse con el HTML. Además, un desarrollador del lado del servidor no tiene participación en CSS.
Raynos
@Raynos Los desarrolladores del lado del servidor no definen reglas CSS, esto es cierto. Sin embargo, deben entender cómo asignar clases en marcado para agrupaciones semánticas.
Michael
1
@Micheal es diferente, HTML y CSS están relacionados. Idealmente, los desarrolladores del lado del servidor solo exponen una API REST XML / JSON y los desarrolladores / diseñadores front-end escriben el HTML / CSS. Los desarrolladores del lado del servidor aún no deberían escribir CSS para que los desarrolladores web lo utilicen.
Raynos
1

Necesita saber HTML + CSS, ya que son esenciales y no difíciles de aprender. Te enfrentarás a dificultades al intentar configurar el CSS para todos los navegadores, pero debes saberlo, porque a veces necesitas generar HTML usando el lado del servidor.

Puedes comenzar a aprenderlos creando tu propio blog. Si no hay nada sobre lo que bloguear, puedes bloguear sobre tus lecciones.

bogatyrjov
fuente
1

No entiendo por qué la gente no entiende. No hay código de front-end con sitios web. Todo es código de fondo. El código front-end es el navegador, por lo que, a menos que trabaje en Mozilla o IE o Chromium / google o safari, está escribiendo un código del lado del servidor. Así es como funciona: el navegador solicita un archivo del servidor web. El servidor web genera un archivo. El navegador interpreta ese archivo y puede solicitar archivos adicionales (imágenes, javascript, css, etc.) e interpretar esos archivos, hasta que se hayan interpretado todos los archivos.

Ahora, este primer archivo que solicita el navegador es un archivo html. El archivo html se analiza y el navegador decide cómo representar su contenido. Entonces, uno de los conceptos importantes para retener aquí es que el archivo html es consumido por un analizador.

El servidor web es un software que escucha en un puerto y procesa las solicitudes de archivos. Si el archivo es un archivo estático (nos referimos a estático aquí en el sentido de que el archivo ya está creado), entonces solo se copia tal cual al cliente solicitante. Si el archivo es dinámico, lo que significa que se crea cada vez que se solicita el archivo, el servidor web solicita que el archivo sea generado por el software que genera el archivo (ya sea un proceso en ejecución, una biblioteca cargada o engendrando un proceso) y ese software genera el archivo y lo envía al servidor web, quien, a su vez, lo envía al cliente.

Una vez que el archivo ha sido "servido" al cliente y analizado, el cliente puede solicitar otros tipos de archivos, como archivos json, donde puede omitir el análisis por parte del renderizador html y, en su lugar, devolver el archivo al intérprete de JavaScript ejecutándose en el cliente, y estos son analizados (eval es una forma de análisis) por javascript. En esto se basa AJAX.

Ahora, ¿cómo te afecta esto? Si algún archivo en el servidor se genera dinámicamente, entonces hay un software ejecutándose en el servidor que le dice cómo generar el archivo. Las personas que programan este software se consideran programadores "del lado del servidor".

Estos archivos html, generados en el servidor, le dirán al navegador qué otros archivos incluir, por lo que el archivo html generado debe importar, organizar y organizar el javascript, las imágenes y el CSS.

Muchos frameworks web, y me atrevo a decir, metodologías (MVC et al) se han desarrollado para crear un límite entre el trabajo puro del "lado del servidor" y el trabajo del "lado del cliente".

Olvidé mencionar, oh querido, la gente de datos. El personal de almacenamiento de datos es aún más del lado del servidor que los escritores de software de generación de archivos html del lado del servidor. El almacenamiento de datos, ya sea una base de datos relacional, NoSQL o de otra manera, es otra cosa. Menciono esto porque los marcos y metodologías promocionados por Big-Vendor (MVC et al. De nuevo) aparentemente hacen que sea fácil simplemente "ponerlo en negrita".

Woah, qué respuesta tan larga.

Hago esta respuesta aparentemente ronca para desafiar su afirmación de que hay desarrolladores del lado del servidor y desarrolladores del lado del cliente. Si entrega su sistema de información a través de un sitio web, todo debe almacenarse, organizarse y administrarse en el servidor. Y es un gran desastre, y a menos que realmente aprendas cómo funciona todo, vas a pasar un buen rato haciendo que funcione bien. Entonces todo es del lado del servidor.

Christopher Mahan
fuente
1
¿NO ESTÁ SEGURO SI ES GRAVE? Esto es tonto. El "lado del cliente" se refiere al software que CORRE en la máquina del cliente, no a la plataforma de entrega. HTML, CSS y JavaScript se ALMACENAN en el servidor (duh) pero SE EJECUTAN en el cliente. Por lo tanto, su desarrollo se considera "lado del cliente".
Graham
El software que se ejecuta en la máquina del cliente es interpretado por el motor de representación en el navegador, que es lo que se ejecuta en el cliente. El motor de renderizado primero procesa el html y luego, después de hacerlo, renderiza cualquiera de los recursos asociados, en el contexto del archivo html.
Christopher Mahan
@Graham, sí, es complejo, de ahí el atractivo de Silverlight y AdobeAir.
Christopher Mahan
0

+1 para la pregunta. También siempre pensé que codificar un servidor es más interesante e importante que hacer html + css + js + ajax + ... y muchas cosas más. De todos modos, si estás solo y quieres crear tu propia aplicación web, debes ser tanto programador del lado del servidor como diseñador + (programador del lado del cliente). Es por eso que ahora estoy aprendiendo html5 y css3.

Sergey
fuente
Gracias Sergey Estoy haciendo HTML 4 y CSS e intentaría pasar a HTML5 y luego a PHP pronto :)
Qué lado es más interesante depende de la aplicación. Muchas aplicaciones web tienen aproximadamente un 90% de experiencia de usuario y un 10% de diseño de datos.
kevin cline
Si hace el diseño de datos correctamente, la experiencia del usuario también será simple.
Christopher Mahan
"¡Si haces el diseño de datos correctamente, la experiencia del usuario también será simple!" - Lo siento, pero eso está MUY BIEN mal. El iPod tenía el mismo diseño de datos básicos que más de 100 reproductores MPG en el mercado, pero su revolucionaria experiencia de usuario ha resultado en que Apple sea la compañía que todos conocemos hoy.
Graham
0

En realidad, depende. En la mayoría de los casos, debe saber HTML y CSS. En casos raros, puede ignorar ambos.

Caso 1

En mi empresa, hay proyectos con una separación estricta entre HTML y CSS y todo lo relacionado con el lado del servidor . Esto permite traer al mejor desarrollador de C # o PHP de un lado, y el mejor desarrollador de HTML, CSS y JavaScript del otro lado. Concretamente, el desarrollador del lado del servidor produce para cada página objetos del lado del servidor que contienen todo lo que necesitamos para mostrar la página; esos objetos se serializan a XML. El desarrollador del lado del cliente elige esos objetos y los transforma en XHTML con XSLT.

Dicho esto, nunca vi este enfoque en otras empresas. Además, tiene muchas limitaciones e incluso si es perfecto en algunos casos, no funciona en muchos otros.

Caso 2

Cuando, en sitios web pequeños, el desarrollador y el diseñador trabajan juntos, no hay consenso sobre quién escribe HTML y CSS. Debe decidir para cada proyecto, de acuerdo con las habilidades de ambas personas involucradas. Incluso si en muchos casos es el desarrollador el que maneja HTML y CSS, también puede encontrar algunos diseñadores que conocen muy bien HTML y CSS . En este caso, si su intención es trabajar en proyectos pequeños y solo con dicho diseñador, no tiene que aprender HTML / CSS.

Caso 3

En proyectos más grandes, no es inusual contratar a una persona dedicada para escribir código HTML y CSS basado en el trabajo de diseñadores y desarrolladores del lado del servidor. Por lo general, es una buena idea hacerlo, ya que no desea pagar $ 100 por hora para que un desarrollador experimentado de C # realmente escriba HTML; Es solo una pérdida de tiempo y dinero.


Dicho esto, esos casos no son los más frecuentes. Así que concéntrate en el desarrollo del lado del servidor, pero trata de aprender HTML y CSS también. El conocimiento adicional nunca está de más.

Arseni Mourzenko
fuente
0

A veces, especialmente al principio, estarás trabajando solo en un proyecto y tendrás que hacer front-end y back-end. En este caso, necesitará al menos un conocimiento rudimentario de HTML y CSS. No tiene que ser un gran diseñador, solo tiene que hacer que la información de su back-end sea visible en su navegador para poder probar cosas.

Zhehao Mao
fuente
0

En realidad, todo depende. Si te estás metiendo en el lodo con respecto a la programación del software del servidor, solo asegúrate de conocer las formas estándar en que los desarrolladores web realmente de alto nivel (HTML / CSS) deberían poder interactuar con tu aplicación. Sin embargo, si planea hacer mucho trabajo estrechamente relacionado con el HTML / CSS, entonces necesitaría saber HTML y CSS razonablemente bien. De cualquier manera, siempre es bueno conocer algunas tecnologías adicionales. Soy un programador nativo e incluso sé HTML / CSS lo suficiente como para crear un sitio web de aspecto decente. Dicho esto, solo lo aprendí para poder aprender AJAX a escribir algunos complementos de Chrome / Firefox.


fuente