Comenzando con el desarrollo web Fullstack
En estos días, el desarrollo de pila completa moderna es muy popular tanto en pequeñas agencias como en grandes compañías con un equipo técnico dedicado. Los ingenieros web full stack trabajan en una pila web completa de tecnologías que incluyen frontend, backend y administración de servidores .
Muchas personas argumentan que la acumulación total solo conduce a ser un "jodido 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 su concepción hasta su lanzamiento, y comprender completamente cada paso del proceso .
Si está pensando en recorrer la ruta de pila completa, entonces este artículo es para usted. Explicaré los requisitos generales de un desarrollador de stack completo, qué implica el rol y cómo el conjunto de habilidades puede ser útil para autónomos / contratistas que quieran trabajar directamente para clientes o en sus propios proyectos.
Fundamentos de 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 se deben usar como pautas para considerar seguir. En términos generales, una "pila" representa las tecnologías que se ejecutan al unísono para hacer que un sitio web funcione . Esto significa código frontend, código de 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 conocimiento de diseño o trabajo de UI / UX, aunque eso puede mejorar enormemente su viabilidad y calidad de trabajo.
- Los fundamentos de frontend incluyen HTML / CSS y JavaScript, muy probablemente con un marco, como Angular o React.
- Para un lenguaje back-end, 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 CMS como WordPress. Además, la pila LAMP es innegablemente la pila web más popular en la actualidad.
- El conocimiento del servidor puede ser tan simple o tan detallado como desee. Lo básico absoluto sería 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 conocimientos sobre la instalación de servidores de correo o herramientas de rendimiento, como memcached o barniz.
Profundidad técnica del conocimiento
Una gran pregunta sobre el desarrollo de pila completa es qué tan profundo entrar en cada área . ¿Es un ingeniero de pila completo realmente dueño de todo? Algunos argumentan que es posible, pero puede que ese no sea el propósito de completar la pila .
La mayoría de las compañías desean contratar ingenieros de pila completa que tengan un poco de conocimiento en todas partes. Estos ingenieros pueden especializarse en un área, pero pueden cumplir cualquier función cuando sea necesario .
Los desarrolladores que están comenzando en este camino deben jugar en todas las áreas aprendiendo "lo suficiente" para resolver los problemas a medida que surgen . Esto le da una interpretación 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 crear sus propias aplicaciones sin necesidad de trabajar para nadie más.Si aprende cada etapa del proceso de desarrollo, puede hacer todo usted mismo. No necesita ser un maestro de PHP para construir una aplicación Laravel personalizada. Y no es necesario ser un gurú de JavaScript para crear una navegación desplegable flexible, especialmente ahora que tenemos tanto código abierto disponible en la web.
Entonces, ¿qué tan profundo debe entrar en cualquiera de estas áreas? Esto depende completamente de usted, y su respuesta probablemente cambiará con el tiempo.
Pero cuando comienzas por primera vez, solo profundiza lo suficiente como para implementar lo que has aprendido en un proyecto real . Cuando te topas con algo que no comprendes, ú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. Teniendo las necesidades fuera 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 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 en el aprendizaje de efectos especiales de JavaScript, como animaciones, pero son totalmente opcionales. Un desarrollador de pila completa debe saber lo suficiente como para hacer el trabajo y continuar desde allí.La elección del idioma de back-end tiene menos que ver con la ventaja técnica y más con 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 que PHP sea un lenguaje valioso para más compañías.
Escoja el idioma que se ajuste a sus necesidades u ofrezca las mejores perspectivas. También tenga en cuenta que no está atrapado con un solo lenguaje back-end para siempre . Si comienzas con Ruby pero cambias a Python, no pierdes nada en el proceso.Sin embargo, recomiendo que una vez que encuentre un lenguaje de back-end que le guste, ahonde más con ese lenguaje y elija 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
Elegir 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 es la opción más preferida. Los dos stacks web más grandes hoy en día son LAMP (Linux-Apache-MySQL-PHP) y MEAN (MongoDB-ExpressJS-AngularJS-Node.js).
La mayoría de las compañías de hosting ofrecen LAMP desde el principio sin necesidad de configuración. Pero las soluciones personalizadas como Digital Ocean te permiten ejecutar casi cualquier cosa con un poco de grasa. Puede encontrar más stacks web en esta lista, o buscando en línea.
Su base de datos de elección a menudo estará vinculada a su lenguaje back-end . Python viene con compatibilidad con SQLite por defecto, y los desarrolladores de RoR generalmente pueden funcionar con cualquier cosa. Y, sinceramente, cualquier idioma generalmente puede funcionar con cualquier base de datos.
Pero desea elegir algo que sea lo suficientemente común como para usarlo en la mayoría de los proyectos web. SQL es un lenguaje general, y utiliza principalmente 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 generalmente menores.
Más allá de las bases de datos, aquí hay algunos temas técnicos del lado del servidor que es posible que desee conocer.- CDN y alojamiento de contenido
- 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 base de datos y almacenamiento de 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 HTTPS con administración de dominio (servidores DNS, registros CNAME, etc.)
- Temas más detallados, como correo electrónico, microservicios y equilibrio de carga
Una de las mejores formas de aprender es retocar los servidores mientras construyes proyectos. Obtenga una cuenta VPS básica e intente configurar sus propios stacks. 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 una hoja de ruta obligatoria para todos los desarrolladores de pila completa.
El único conocimiento que realmente necesita 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í, cualquier otra cosa es solo conocimiento mejorado. Si alguna vez tiene preguntas o quiere aprender de profesionales, visite la comunidad de Reddit / r / SysAdmin.
El camino por delante
Si realmente desea aprender el desarrollo completo de la pila, haga una lista de todas las tecnologías que desea aprender . A partir de ahí, puede abordarlos uno a uno haciendo 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. Pruebe varios stacks e idiomas hasta que encuentre lo que le gusta. ¡Pero siempre esté dispuesto a profundizar y mejorar!
¿Vale la pena el esfuerzo de desarrollo de la pila completa? Eso es para que tú decidas. Pero aquí hay algunos mensajes relacionados que pueden ayudarte a descubrirlo.
- Sobre la legitimidad de "Full-Stack" (heapsortjobs.com)
- Entonces quieres convertirte en un desarrollador de pila completa (rubysteps.com)
- 7 consejos sobre cómo convertirse en un desarrollador de pila completa (usersnap.com)
Generar botón de conmutación Pure CSS3 con On / Off FlipSwitch Generator
Si estás cansado de usar botones para activar o desactivar algo, tal vez puedas encontrar un soplo de aire fresco en un interruptor. Con la muy buena mejora del desarrollo web en la actualidad, la creación del interruptor de encendido / apagado, como lo que se ve en un sistema operativo móvil es muy fácil. So
Cómo convertir las páginas de Wikipedia en Ebooks
Si usted es como yo, probablemente le guste leer compulsivamente Wikipedia, la enciclopedia web favorita de todos. Contiene una enorme base de datos de contenido sobre casi cualquier tema bajo el sol y en una variedad de idiomas. Si se está preparando para un viaje, probablemente guarde algunos de estos materiales de lectura para leer más tarde, sin conexión, pero ¿y si pudiera convertirlo en un libro electrónico?De h