Comenzando con el desarrollo web de Fullstack
Estos días, modernos. desarrollo de pila completa es muy popular tanto en agencias pequeñas como en grandes empresas con un equipo técnico dedicado. Los ingenieros web de pila completa trabajan en toda una pila de tecnologías web incluyendo frontend, backend, y gestión del servidor.
Mucha gente argumenta que la pila completa solo conduce a ser un "jack de todos los oficios, maestro de ninguno". Desde cierto punto de vista, esto puede ser cierto, sin embargo, el conjunto de habilidades es tan importante como lo que se puede lograr con él. Muchos desarrolladores de pila completa ofrecen valor porque pueden tomar una idea. desde la concepción hasta el lanzamiento, y comprender plenamente cada paso del proceso.
Si estas pensando en pasando la ruta de la pila completa, entonces este articulo es para usted. Explicaré los requisitos generales de un desarrollador de pila completa, lo que conlleva la función y cómo las habilidades pueden ser útiles para los freelancers / contratistas que desean trabajar directamente para clientes o en sus propios proyectos..
Fundamentos de la pila completa
El desarrollo moderno de pila completa ha recorrido un largo camino, ya que la tecnología web ha cambiado mucho. Los requisitos de pila completa deben usarse como pautas para considerar lo siguiente. En general, una "pila" representa las tecnologías que se ejecutan al unísono hacer funcionar un sitio web. Esto significa código frontend, código backend, un sistema de base de datos y una plataforma de servidor web + SO para el servidor.
El principio básico del desarrollo de pila completa es comprender todos los aspectos de la construcción de un sitio web. Esto no significa conocer el diseño o el trabajo de UI / UX, aunque eso puede mejorar mucho su viabilidad y calidad de trabajo..
- Los fundamentos de frontend incluyen HTML / CSS y JavaScript, más probable con un marco de referencia, como Angular o React.
- Para un lenguaje de fondo, querrá elegir algo que pueda combinarse con un sistema de base de datos. PHP / MySQL es el más común y el más fácil de aprender porque impulsa muchos motores de CMS como WordPress. También el LÁMPARA La pila es sin duda la pila web más popular hoy en día..
- El conocimiento del servidor puede ser tan simple o tan detallado como desee. Los fundamentos absolutos serían el conocimiento de un programa de servidor como apache junto con una base de datos como MySQL o PostgreSQL.
- Puede ir incluso más allá para incluir el conocimiento de la instalación de servidores de correo o herramientas de rendimiento, como memcached o Varnish.
Un desarrollador de pila completa debe incursionar en las tres áreas con suficiente conocimiento para lanzar un sitio web de forma independiente, y sin mucha ayuda de nadie mas.
Profundidad técnica del conocimiento
Una gran pregunta sobre el desarrollo de pila completa es ¿Qué tan profundo es entrar en cada área?. ¿Un ingeniero de pila completa es realmente un maestro de algo? Algunos argumentan que es posible, pero Ese no puede ser el propósito de ir de pila completa.
La mayoría de las empresas quieren contratar ingenieros de pila completa que tengan un poco de conocimiento en todas partes. Estos ingenieros pueden especializarse en un área, pero son capaces de cumplir cualquier rol cuando sea necesario.
Los desarrolladores que recién están comenzando este camino deberían juega en todas las áreas aprendiendo "lo suficiente" para resolver problemas a medida que surjan. Esto le da una interpretación del mundo real a las tecnologías para ver cómo se aplican los diferentes problemas a los proyectos reales..
El mayor beneficio de la codificación de pila completa es la capacidad de construye tus propias aplicaciones sin trabajar para nadie mas.
Si aprendes cada etapa del proceso de desarrollo, puedes hacerlo todo tú mismo. No necesitas ser un maestro de PHP para crear una aplicación Laravel personalizada. Y no necesita ser un gurú de JavaScript para crear una navegación desplegable flexible, especialmente ahora que tenemos mucho código de código abierto disponible en la web..
Entonces, ¿qué tan profundo debe ir en cualquiera de estas áreas? Esto depende totalmente de usted, y su respuesta probablemente cambiará con el tiempo.
Pero cuando empiezas, solo profundiza lo suficiente como para implementar lo que has aprendido en un proyecto real. Cuando te topas con algo que no entiendes, Úsalo como una oportunidad para profundizar., y aprender más sobre ese tema en particular.
Elegir idiomas
Es un enigma para el nuevo desarrollador elegir qué tecnologías aprender. Sacando las necesidades del camino, HTML y CSS son absolutamente necesarios. JavaScript también es una necesidad, pero no necesitas considerarte un maestro de JS. Sin embargo, debería estar interesado en aprender más que simplemente JavaScript.
La mayoría de los desarrolladores también aprenden jQuery, pero los marcos como React, Ember, Angular, Vue o Backbone ofrecen un proceso más simple para crear aplicaciones web a gran escala..
Es posible bucear aún más profundo aprendizaje efectos de JavaScript de lujo, Como las animaciones, pero son totalmente opcionales. Un desarrollador de pila completa debe saber lo suficiente para hacer el trabajo y continuar desde allí.
La elección del lenguaje de fondo es menos una ventaja técnica, y más sobre la comodidad. La mayoría de los programadores se dan cuenta de que Python es un lenguaje más versátil que PHP, Sin embargo, la mayoría de los sitios web se ejecutan en servidores PHP. Esto hace PHP un lenguaje valioso a mas empresas.
Elija el idioma que se adapte a sus necesidades o le ofrezca las mejores perspectivas. También tenga en cuenta que no estás atascado con un lenguaje de fondo para siempre. Si comienzas con Ruby pero cambias a Python, no pierdes nada en el proceso.
Sin embargo, sí recomiendo que una vez que encuentre un lenguaje de fondo que le guste, profundice más en ese idioma, y recoger un marco relacionado. PHP tiene Laravel, Ruby tiene Rails y Python tiene Django, entre muchas otras opciones. Estos marcos agilizarán su proceso de desarrollo y lo ayudarán a estructurar adecuadamente sus aplicaciones..
Bases de datos y servidores
La elección de un motor de base de datos se reduce a los requisitos del proyecto y la pila del servidor. PHP a menudo funciona con MySQL, por lo que esa es la opción preferida. los dos pilas mas grandes hoy son LÁMPARA (Linux-Apache-MySQL-PHP) y MEDIA (MongoDB-ExpressJS-AngularJS-Node.js).
La mayoría de las empresas de hosting ofrecen LAMP desde el principio sin necesidad de configuración. Pero las soluciones personalizadas como Digital Ocean le permiten ejecutar casi cualquier cosa con un poco de codo. Puede encontrar más pilas web en esta lista, o buscando en línea.
Su base de datos de elección a menudo será atado a su lenguaje de fondo. Python viene con soporte SQLite por defecto, y RoR Los desarrolladores normalmente pueden trabajar con cualquier cosa. Y honestamente, cualquier idioma puede funcionar con cualquier base de datos..
Pero desea elegir algo que sea lo suficientemente común para usar en la mayoría de los proyectos web. SQL es un lenguaje general, y utiliza en su mayoría la misma sintaxis en todos los motores de base de datos. Encontrará diferencias en la configuración y administración de la tabla, pero estas son típicamente menores.
Más allá de las bases de datos, aquí hay algunos temas técnicos del servidor que quizás desee conocer..
- CDNs y alojamiento de contenidos.
- Instalación y actualizaciones del software del servidor
- Las mejores configuraciones de servidor para picos de tráfico y tiempos de carga
- Soluciones de almacenamiento en caché para consultas de bases de datos y almacenamiento del sistema de archivos
- Copias de seguridad automatizadas de bases de datos y archivos planos, o copias de seguridad de imágenes de disco
- Configuración de HTTPS con gestión de dominio (servidores DNS, registros CNAME, etc.)
- Temas más detallados, como correo electrónico, microservicios y balanceo de carga
Una de las mejores formas de aprender es juguetear con servidores mientras construyes proyectos. Tomar un básico VPS Cuenta, e intenta configurar tus propias pilas. Estos VPS son entornos completos de servidores virtuales en los que tiene control total para configurar (o destruir) todo. Además, la lista anterior no es un mapa de ruta necesario para todos los desarrolladores de pila completa.
El único conocimiento que realmente necesitas es lo que sea necesario para crear un entorno de servidor en blanco e instalar el software necesario para ejecutar un sitio web. A partir de ahí, todo lo demás es solo conocimiento mejorado. Si alguna vez tiene preguntas o desea aprender de los profesionales, visite la comunidad de Reddit / r / SysAdmin.
El camino por delante
Si realmente quieres aprender el desarrollo de pila completa., Haz una lista de todas las tecnologías que quieres aprender.. Desde allí, puede abordarlos uno por uno, creando sus propios proyectos de práctica para probar lo que aprende..
El desarrollo web es una industria en constante cambio, por lo que siempre debe estar dispuesto a aprender más. Prueba varias pilas e idiomas hasta que encuentres lo que te gusta. Pero siempre esté dispuesto a profundizar y mejorar.!
¿Vale la pena el desarrollo de pila completa? Eso es para que usted decida. Pero aquí hay algunas publicaciones relacionadas que podrían ayudarte a descubrirlo..
- Sobre la legitimidad de "Full-Stack" (heapsortjobs.com)
- Así que quieres convertirte en un desarrollador de pila completa (rubysteps.com)
- 7 consejos sobre cómo convertirse en un desarrollador de pila completa (usuariosnap.com)