¿Cuál es la diferencia entre un desarrollador web y un desarrollador de software?

Tampoco debes pensar que es una carrera, sino un puesto.

Cuando comencé, no había PC. Y cuando mi compañía compró algunos, me enseñé cómo usarlos y aprendí un nuevo lenguaje de programación.

El desarrollo web tiene muchas piezas diferentes. Si lo aprende todo, PARTE es ser un desarrollador de software. Entonces, dado que está interesado en el desarrollo web , esa es probablemente la dirección que debe seguir. También tendrías las habilidades para desarrollar software no web.

HTML no es un lenguaje de programación. Se llama lenguaje de marcado. Es para diseñar el diseño de una página web. Pero una página web puede ser algo que solo lees, como una página de wikipedia. Por lo tanto, alguien puede diseñar tales páginas sin que esas páginas tengan ninguna funcionalidad (además de poder hacer clic en un enlace para acceder a otra página, y eso se puede hacer sin programación).

CSS es para definir estilos. Si diseñas docenas de páginas web vinculadas, pero estáticas (no interactivas), todas pueden acceder al mismo archivo CSS, y puedes cambiar el estilo (fuentes, por ejemplo) de todas las páginas pero solo cambiando el único archivo CSS. De nuevo, no es programación.

JavaScript es un lenguaje de programación, aunque un poco limitado. Es capaz de hacer que una página HTML sea interactiva. Por ejemplo, podría crear código para convertir Fahrenheit a Celsius y viceversa. Esto se haría completamente en la parte frontal: la PC o tableta del usuario.

Pero, si va a crear un sitio web como Y! A, JavaScript también se utilizará para comunicarse con el servidor de fondo para enviar datos.

Por lo tanto, usaría un lenguaje como PHP o Java (que es un lenguaje completamente separado de JavaScript), o Ruby, en el servidor. Estos programas a menudo usan SQL dentro de ellos para manipular una base de datos.

Mientras tanto, si usted es “simplemente” un desarrollador de software, aún usaría Java (u otro lenguaje de programación de propósito general como C, C ++, C #, VB o Python. Pero no usaría HTML, CSS o JavaScript.

Es posible que las aplicaciones que escriba no tengan interacción directa con un usuario. Por ejemplo, podrían producir informes impresos a partir de datos comerciales.

El desarrollador de software hace software que puede ser

  1. Aplicaciones de escritorio (word, excel, pointpoint y mucho más)
  2. Servicios de SO (servidores db, servidores dns, etc.)
  3. y otros

Mientras que el desarrollador web se centra específicamente en desarrollos basados ​​en el sitio web / navegador solamente. El desarrollo web se puede dividir en

  1. Desarrollo de interfaz de usuario / interfaz de usuario (html / css / js / otros marcos)
  2. Desarrollos de back end (ruby / python / php / java / c # y otros + bases de datos)

Todavía hay una tercera rama importante conocida como desarrolladores móviles que hacen aplicaciones para móviles

  1. Androide
  2. iOS
  3. Telefono windows
  4. Mora
  5. Otros

Por último, pero no menos importante, también tenemos desarrolladores de sistemas que se especializan en

  1. Desarrollos del sistema operativo (Ubuntu y otros sistemas * nix)
  2. Compilador, intérprete, sistemas gráficos de bajo nivel.
  3. Desarrollos de controladores de dispositivos

¿Mencioné los desarrolladores de juegos? aún no … sí, los desarrolladores y animadores de juegos también son una gran rama y están involucrados en

  1. Desarrollos de juegos en 3D
  2. Animaciones
  3. Desarrollos de juegos en 2D
  4. Juegos en línea basados ​​en la web

Solo para darle una vista de alto nivel.

El desarrollo web es un tipo específico de desarrollo de software.

Hace años, el desarrollo web se centró en componer archivos estáticos HTML, CSS y JS que un servidor web sirve a un cliente (navegador) (generalmente Apache o IIS), pero no escucho que el término se use mucho en estos días, ya que la mayoría Los sitios web empresariales son aplicaciones con importantes componentes de back-end como bases de datos y marcos de aplicaciones del lado del servidor como Node.js, Asp.net, PHP, entre otros.

Durante muchos años, gran parte del trabajo de desarrollo web se centró en implementar contenido en HTML, mantener / actualizar sitios y ajustar HTML y CSS para garantizar una apariencia coherente en todos los navegadores. Como las velocidades de Internet eran mucho más lentas, las resoluciones de los monitores eran tan diversas y los sitios web receptivos no eran prácticos hasta CSS3, los desarrolladores web también fueron responsables de optimizar el rendimiento de los sitios web en términos de visualización y tiempo de carga.

No creo que el público en general necesariamente diferencie entre sitios web y aplicaciones web, pero la diferencia es significativa dentro de la comunidad de desarrollo. Creo que para muchos de nosotros, la diferencia entre sitios y aplicaciones está en cómo se implementan y usan, así como en las tecnologías involucradas.

Existe una amplia discusión sobre el sitio web frente a la aplicación web, pero basta con decir que las aplicaciones web requieren una experiencia más amplia para implementarse que los sitios web.

Cuando escucho el término “desarrollador web”, creo que “desarrollador de sitios web” en lugar de “desarrollador de aplicaciones web”, que probablemente sea más adecuado para el desarrollo web moderno.

De todos modos, al final del día, lo que ve en su navegador cuando navega a un HTTP: // URL es software, por lo que los desarrolladores web son desarrolladores de software.

Ingeniero de software

Ideal para: crear, desarrollar y probar soluciones de software nuevas o existentes.

Un ingeniero de software, también conocido como desarrollador de software, creará programas y software para computadoras utilizando códigos y lenguajes de programación para proporcionar aplicaciones a medida o realizar cambios en los existentes. El trabajo requiere mucha habilidad e implica pruebas rigurosas para garantizar que el software se ejecute de manera efectiva y esté libre de errores.

Los ingenieros de software pueden usar los servicios de los programadores de computadoras para crear el código, aunque muchos elegirán hacerlo ellos mismos. Como la mayoría de los campos relacionados con TI, los ingenieros de software tendrán grados y experiencia relativos que les permitirán proporcionar los servicios de ingeniería de software más efectivos para las empresas.

Desarrollador web

Ideal para: lanzar un sitio web o mejorar su diseño, usabilidad y gestión.

Un desarrollador web es responsable de crear sitios web o mejorar sitios web existentes . Esto se hace mediante el uso de código de programación especializado como HTML5, Javascript y otros. Los desarrolladores web poseen una variedad de habilidades para crear sitios web efectivos en nombre de las empresas para garantizar que funcionen correctamente.

Desde el desarrollo del sitio web y la garantía de que todas sus características se implementan correctamente hasta la creación de aplicaciones y la gestión de contenido, un desarrollador web podrá proporcionar un servicio integral para las empresas que buscan producir un sitio web dinámico y llamativo.

En resumen, los desarrolladores web también son desarrolladores de software, pero no todos los desarrolladores de software son desarrolladores web.

Desarrollador web: desarrollan sitios web / aplicaciones web para internet o intranet o privadas. Puede ser muy complejo, altamente escalable, sensible, elástico y resistente (como Iniciar sesión o Registrarse, Compras en línea de electrónica, indumentaria, computadoras, libros, DVD y más, etc.). O puede ser muy simple (solo una página HTML estática).

Existen múltiples tecnologías web (el sitio oficial de Microsoft ASP.NET, J2EE, python django, Ruby on Rails, PHP, etc.), idiomas (script java, script de café, script de tipo), marcado (HTML, XSLT), estilo (CSS) para desarrollo web.

Desarrollador de software: Desarrollador web + desarrollador de juegos + desarrollador de aplicaciones de escritorio + desarrollador de aplicaciones / servicios back-end + desarrollador de aplicaciones móviles + desarrollador de big data + desarrollador de aprendizaje automático + lenguaje de software, desarrollador de compilador + desarrollador de kernel del SO + desarrollador de sistemas integrados + desarrollador de automatización + desarrollador de seguridad + operación matemática compleja y desarrollador de algoritmos + desarrollador de red y muchos más)

Una vez más, un desarrollador web solo puede ser un desarrollador de fuente (como experto en HTML, CSS y estilo, o experto en tecnología del lado del cliente como script java, angular js, reaccionar js sin mucho conocimiento de back-end, capa de servicio o base de datos) ) o incluso un desarrollador de pila completa (tener conocimiento en el desarrollo de aplicaciones web de extremo a extremo).

El desarrollo web es un subconjunto de desarrollo de software centrado en sitios web y aplicaciones web, que generalmente emplea un modelo cliente / servidor (“frontend” y “backend” en lenguaje de desarrollo web).

A diferencia del desarrollo de sistemas, desarrollo de juegos, etc.

El desarrollador web es un tipo particular de desarrollador de software.

Un desarrollador de software crea programas y un desarrollador web crea sitios web es la respuesta simple. Debido a que hoy en día hay tantos programas de software que se ejecutan en línea, existe una gran superposición en estas dos áreas.

Desarrollador de software: el que conoce el ciclo de vida del software, el que le pregunta cuando desea una opinión sobre qué estructura del proyecto es mejor, cómo probar el proyecto, puede conocer algo de gestión del proyecto, tener un buen conocimiento del algoritmo y la estructura de datos.

Desarrollador web: un tipo que conoce una pila (LAMP, MEAN, etc.) y puede conocer algún algoritmo y estructura de datos

El desarrollo web es un área especializada de desarrollo de software. Todos los desarrolladores de software no son desarrolladores web. Pero todos los desarrolladores web son desarrolladores de software.

Al igual que un cirujano cardíaco es un tipo especializado de médico.

Si retroceden 50,000 años más o menos cuando los prototipos de desarrolladores emergieron del riff-raff de la humanidad, un grupo de fabricantes de herramientas altamente calificados aprendieron a hacer pedernal en cuchillos, lanzas y otros implementos útiles. Los chicos grandes, musculosos y atléticos tomaron las herramientas hechas por estos proto-nerds y cazaron la cena para la tribu.

Avance rápido hasta el siglo XXI. Los proto-nerds se han convertido en desarrolladores de software que hacen las herramientas que los músculos utilizan para desarrollar aplicaciones web.

Un desarrollador web PODRÍA ser un ingeniero de software, pero en cambio podría ser un desarrollador HTML o un desarrollador UI / UX o algo así.

Un ingeniero de software PODRÍA ser un desarrollador web, pero en su lugar podría ser un desarrollador de videojuegos o un desarrollador de Internet de las cosas o algo así.

Entonces, los dos términos se superponen, pero significan cosas diferentes.