¿Qué debo aprender para el desarrollo web (front-end y back-end) en 2017?

Suponiendo que W eb Development es su especialidad (ya que es una abrumadora mayoría de lo que hace, en lugar de Data Science, Machine Learning, iOS Development, Game Development, etc.), entonces recomendaría lo siguiente:

Interfaz:

  • HTML, CSS y JavaScript
    • Aprende esto ampliamente : solo profundiza si te beneficia
  • Una biblioteca / marco JavaScript basado en componentes
    • React, Vue, Inferno, Preact, Ember 2, Angular 2, etc.
    • Alternativamente, invierta más en JavaScript
  • Si no le gusta JavaScript nativo, pruebe TypeScript
    • También puedes probar Flow u otros superconjuntos, pero yo no

Back-end:

  • Un entorno interpretado de tipo dinámico
    • Node.js, Django, Flask, Rails, etc.
  • Un entorno compilado de tipo estático
    • Rust, Java, Go, C-algo-u-otro
  • Una base de datos SQL
    • PostgreSQL, MySQL, SQLite, SQL Server
  • Conceptos NoSQL: opcionalmente, una base de datos si se adapta a sus necesidades
    • Google Datastore, Amazon DynamoDB, etc.
    • MongoDB sigue siendo meh, no compres el bombo
  • Un caché en memoria
    • Redis, tal vez Memcached
  • Casos de uso para protocolos distintos de HTTP
    • HTTP / 2 y WebSocket muy recomendable
  • Herramientas de minificación, compresión.
    • gzip

La mayoría de estas cosas son tecnologías comunes que servirán como piedra angular para su aplicación o serán una “victoria fácil” en términos de mejorar el rendimiento, la escalabilidad, el costo o alguna otra métrica que valga la pena seguir.

En los casos en que menciono múltiples tecnologías, generalmente las menciono en orden de preferencia. En los casos en que parece haber una superposición (dinámica frente a estática), generalmente estoy tratando de alentar al lector a desarrollar experiencia en lugar de un dogma celoso.

En el caso de que no sea principalmente un desarrollador web y el desarrollo web sea un pasatiempo o una función auxiliar de su trabajo, preferiría la respuesta de Richard Kenneth Eng.

El desarrollo web es una de las carreras profesionales más lucrativas en términos de oportunidades de trabajo.

El número de oportunidades de trabajo en el sector de desarrollo web aumentará en un 20% para 2020 y lo hará crecer aún más observando las tendencias recientes del mercado.

Una de las principales razones de esto debido al aumento de las numerosas empresas basadas en productos. En el mercado actual, el número de empresas basadas en productos es demasiado. Desde ordenar comida, pagar facturas, reservar transporte o incluso obtener información, todo esto se maneja principalmente en Internet y los desarrolladores web son responsables de manejar esta interfaz.

En cuanto a los detalles, JavaScript es el idioma principal que utilizan las empresas en términos de desarrollo web. Muchos marcos han sido construidos en base a JavaScript y los principales MNCS los emplean con bastante facilidad. Teniendo esto en cuenta, las carreras profesionales dentro del desarrollo web son:

Desarrollo front-end: el desarrollador front-end se ocupa del aspecto y la interacción del usuario en el sitio web o el software. El desarrollador front-end diseñó la cara del sitio web y cómo el software va a interactuar con el usuario. Lenguajes involucrados en el desarrollo front-end: JavaScript Angular Js HTML, CSS.
Leer una descripción detallada

Desarrollo de back-end: como desarrollador de back-end, usted será responsable de manejar la base de datos del sitio web o el software. Los desarrolladores de back-end manejan la representación de datos y la lógica central detrás del software. Lenguajes involucrados en el desarrollo de back-end: JavaScript NodeJS ExpressJS, Cloud
Lee mas

Desarrollador Full / Mean-Stack: Una combinación de Front-end y Back-end se llama desarrollo full stack. Los desarrolladores de pila completa tienen mucha demanda en este momento debido a su conocimiento singular de ambos campos .
Descripción detallada de la carrera profesional.

¿Dónde puedo aprender estos cursos?

  • Hay varias plataformas en línea que ofrecen estos cursos. Coursera, Udemy, Edureka son pocas plataformas en línea que ofrecen cursos de certificación en estos idiomas.
  • La mejor manera de dominar cualquier idioma es ejecutar proyectos dentro del dominio que haya elegido. Esto le da una idea clara en términos de competencia en el campo y también en términos de trabajos, esto proporciona una mejor credencial para que el empleador filtre al candidato. En términos de portales en línea que ofrecen proyectos dentro de su módulo de capacitación, sería edWisor . Proporcionan un módulo de capacitación integral que incluye proyectos en vivo y también es autodidacta.

Esperemos que esto haya sido informativo para usted y lo ayude a adquirir conocimiento en el área de interés respectiva.

Interfaz:

  • HTML y CSS
  • Algunos JavaScript para usar jQuery o una biblioteca similar
  • Un lenguaje transpilado: vea The Super Surrogates of JavaScript

Back end:

  • Ir (con Beego) sería mi elección principal
  • Python (con web2py), Java, C #, Ruby o PHP serían mi opción secundaria
  • Base de datos SQLite (es la más simple de las bases de datos SQL y todo lo que realmente necesita)

No profundizaría con JavaScript.

Si adopta Firebase, es posible que nunca tenga que configurar y aprender un entorno de back-end. Con el lanzamiento de Cloud Functions para Firebase, el backend se maneja por usted y simplemente escribe las funciones de node.js que responden a los eventos en su proyecto de Firebase. Con eso, una gran mayoría del trabajo que harás está en el front-end. Para eso, Firebase tiene un gran soporte para Angular.js con AngularFire.

Creo firmemente que Python está regresando en el espacio web, particularmente junto con su nueva popularidad en el espacio de la ciencia de datos.

Quizás nodeJS gane más credibilidad en el mundo del backend para que los beneficios de JavaScript .

Todavía se realizarán muchas aplicaciones empresariales en JavaEE y dotNET. Aplicaciones integradas y de sistemas en C.

Teniendo en cuenta la tendencia actual, te sugiero que aprendas node.js básico con Mongo db (última tendencia en el mundo de la base de datos No-SQL).

  1. Interfaz
  • html
  • css
  • javascript
  1. Back end
  • php
  • Mysql