Quiero ser un desarrollador web full stack. Estoy considerando aprender una pila de tecnología. Se me ocurrió una lista. ¿Cuál debería aprender?

Primero, surge un problema.

Un “desarrollador web full stack” no es un problema. “Un sitio web para rastrear libros que estoy interesado en leer” es un problema. “Una herramienta de búsqueda de proveedores cruzados para encontrar piezas electrónicas en digikey, mouser y otros sitios” es un problema. “Un sitio de apuestas mutuas que cubre las Grandes Ligas de Béisbol (usando dinero falso y sin pagos para mantenerlo legal)” es un problema.

Piensa en el problema; ¿Qué quiere que haga? No importa que esté duplicando la funcionalidad de los servicios existentes, ese no es el punto. ¿Desea que su rastreador de libros le permita escanear números ISBN en libros usando su teléfono celular? ¿Desea que use la API de Amazon para obtener imágenes de portada de libros para mostrar? ¿Desea poner un enlace de “ordenar ahora” para poder ordenarlo directamente desde Amazon (o su librero favorito)? Toma todas estas ideas y escríbelas en una lista. La lista puede ser larga, no te preocupes por eso. Prioriza la lista. Puede ser agradable escanear números ISBN desde su teléfono, pero lo más importante es rastrear la prioridad de los libros y sus precios, por lo que puede hacer pedidos de lotes con un solo clic, por ejemplo.

Mantenga esta lista editable, como en un archivo de texto, con una línea por función. Siéntase libre de editar esta lista en cualquier momento, por cualquier motivo, asegurándose de mantener cada línea simple y en orden de prioridad. Es posible que, después de obtener un paquete de libros ordenados “por usted”, tal vez hacer que los usuarios inicien sesión sea un poco más importante de lo que pensaba. La lista es para capturar sus ideas, no para forzarlo a tener todas las ideas a la vez.

Luego, elija CUALQUIERA de las soluciones que ha sugerido (y no son mutuamente excluyentes; SASS es un preprocesador para CSS / CSS3; Bootstrap es un marco de UI CSS / CSS3 + Javascript que depende de JQuery, y viene en un SASS- sabor amigable; AngularJS se preocupa por la funcionalidad, no por la apariencia, y funciona bien con SASS, Bootstrap, JQuery, CSS / CSS3; HTML5 no es una “cosa” específica, sino que es un término general para las versiones más nuevas de HTML, JavaScript, y CSS), y trabaja en tu problema.

Hazlo lenta y cuidadosamente. Use Github para hacer el control de versiones. Implemente temprano y a menudo en algún lugar como Heroku o sitios similares. Comience en la parte superior de la lista (recuerde, puede editar la lista y reordenarla en cualquier momento), y vaya bajando.

Cuando obtenga algo que le guste, póngalo en su currículum, completo con enlaces a github y una lista de qué pila de tecnología utilizó.

Finalmente, surge otro problema …

Mi recomendación es revisar la configuración MEAN. Por supuesto, depende de lo que estés construyendo, pero MEAN es esto:

MongoDB (tipo de base de datos para almacenar todo su contenido)
ExpressJS (marco Javascript para Node.JS para construir la lógica y el enrutamiento de su servidor)
AngularJS (marco de Javascript que te permite construir un diseño front-end)
NodeJS (El framework javascript en el que construye su servidor. ExpressJS es solo un framework además de esto)

Echa un vistazo: MEAN.IO – MongoDB, Express, framework web fullstack con tecnología Angularjs Node.js – MEAN.IO – MongoDB, Express, framework web fullstack con tecnología Angularjs Node.js

Básicamente utilizará HTML, CSS y Javascript.

Por supuesto, puede expandirse con SCSS, Jade, JQuery, Redis, etc. Todos encajarán.

Pero recuerde siempre, use las herramientas adecuadas para el trabajo.

Depende del proyecto web. Si quieres un CMS, creo que algo como: WordPress en PHP7 y Nginx con Centos Server es una buena configuración. Esto tendrá una base de datos MySQL, tal vez una variante de mariaDB. Para el desarrollo, la mayoría de las personas usan texto sublime como editor, en Windows VS el código es una buena alternativa. Instala Mamp get Git. Git bash para Windows. Use node.js y grunt para el script java. Use sass y compass para compilar css. Y luego aproveche algunas de las cosas existentes como susy, bootstrap y diseño de materiales. Usa html 5.

Interfaz:
Backbone: principalmente porque la mayoría de los otros enfoques (Angular, Ember, etc.) le enseñarán a seguir un conjunto de decisiones que se han tomado por adelantado para usted, trabajar en backbone básicamente lo obligará a tomar esas decisiones usted mismo y, como resultado, usted ‘ Comprenderé los puntos dolorosos que intentan abordarse.

Back-end:
Node.js: le permite consolidar su tiempo de aprendizaje entre el front-end y el back-end ya que es javascript, tiene una tonelada de módulos / frameworks / boilerplate / herramientas disponibles, hay muchos tutoriales para ello y está en bastante Alta demanda profesional.

Bases de datos:
SQL / DBs relacionales es una buena base para tener. La mayoría de las personas dejan de usar MongoDB después de aprender mejor 🙂 Redis es bueno para cosas como el almacenamiento de sesiones.
Checkout couchDB en algún momento, es divertido.

Cuando se trata de DB, el único consejo real que puedo dar es experimentar, usar muchos de ellos y aprender cuáles son sus fortalezas y debilidades.
Su elección de DB para cualquier aplicación tendrá un efecto significativo en cómo se ve su código y la experiencia que tiene al escribirlo.

Es un buen comienzo y probablemente pueda construir la mayoría de las cosas con esos lenguajes y marcos.

Una sugerencia es buscar en node.js en el backend. Programar tanto el servidor como el cliente en el mismo idioma puede resultar bastante eficiente. Personalmente uso node.js y Python para cualquier backend funcionalmente que necesite construir.

Java ya no se usa con tanta frecuencia por las empresas emergentes y, como tal, el crecimiento del uso del lenguaje se acerca al estancamiento a medida que avanza el tiempo. Me mantendría alejado de Scala / Java (a menos, por supuesto, que esté buscando una empresa específica que use Java para su infraestructura de back-end), pero también podría tener algunos sesgos personales aquí.

Recomiendo que te enseñes Python con más rigor. Es un lenguaje extremadamente poderoso y puede hacer mucho en términos de programación de back-end. No lo descarte como un lenguaje “solo para scripting de shell”.

NodeJS también es una excelente opción, aunque no la he usado mucho.

Depende de tu nivel ya. Me gustaría ir con Mongo, JS / React, Node.js y CSS Bootstrap.

Realmente debería aprender la pila MEAN y luego agregar nuevas bibliotecas js a aquellas como REACT, D3, etc., dependiendo de la dirección que tome.

Node.js

Es bueno tener photoshop. Dado que la pila completa puede manejar todas las capas, no debería tener que depender de un diseñador para completar un proyecto

No ☺

La popularidad es fugaz. Construir sobre una base estable.

More Interesting

¿Qué sitio web puedo usar para encontrar una empresa especializada en el desarrollo de juegos? Tengo una idea para un juego que me gustaría crear.

¿Cómo crear un sitio web como nanopool.org? ¿De dónde puedo obtener los datos para ejecutar dicho sitio web?

Cómo usar 'esta' palabra clave en JavaScript

Mi novio dice que Ruby on Rails no es una programación real. Eso es lo que hago como desarrollador. ¿Debería dejarlo?

Me gustaría centrar verticalmente un elemento pequeño de altura fija en CSS lado a lado con un elemento de altura dinámica más grande de una manera que admita navegadores más antiguos. ¿Cómo hago esto?

Cómo convertirse en un desarrollador web pago en un año

Estoy aprendiendo C pero quiero ser desarrollador web. ¿Qué debo aprender?

Si dijera que MVC era contra-intuitivo, ¿cómo me convencerías de lo contrario?

Cómo construir un sitio web desde el principio

Descargué un nuevo tema para cambiar el sitio web de mi blog actual a un sitio web de negocios. Sin embargo, cuando trato de cambiarlo al nuevo tema, no se parece en nada a lo que vi en la DEMO. ¿Qué cambios debo hacer para que el sitio web funcione como un sitio web comercial?

Mi sitio web está a punto de ser lanzado. Está construido en HTML, PHP y Javascript. ¿Cuáles son algunas medidas de seguridad que puedo tomar?

Tenía mi sitio web desarrollado en el extranjero. ¿Qué debe probarse durante una auditoría para determinar si fue desarrollada por buenos estándares y directrices de codificación?

Quiero externalizar un desarrollador web, ¿qué fuentes de buena reputación me recomiendan?

Cómo migrar mi sitio web de Joomla a WordPress y mantener la misma URL

Sé JS y ReactJS. ¿Cuál debería ser mi próximo paso?