Desarrollo web moderno
El mercado egipcio de desarrollo de software adolece de una escasez de talento experto en comparación con el mercado internacional. En este curso cubriremos las últimas prácticas de desarrollo de software estable, arquitectura de proyectos, patrones de diseño y tecnología en el campo del desarrollo web.
Este curso está dirigido a aquellos que pretenden seguir una carrera en desarrollo de software o quieren crear un MVP de bajo costo para una startup. Después de este curso, debería estar familiarizado con el estado actual del arte y ser capaz de tomar decisiones informadas sobre su pila de desarrollo.
La estructura de este curso está motivada en gran medida por la noción de que los desarrolladores novatos comienzan a adoptar marcos y utilizar bibliotecas sin pensar críticamente si esta herramienta es la adecuada para el trabajo.
Flujo del curso
- Este curso estará compuesto por 13 sesiones.
- Cada sesión tendrá 2 partes, ejercicio y discusión.
- Durante el ejercicio estarás resolviendo la tarea del curso.
- Durante la discusión discutiremos la próxima tarea.
- Todos los conceptos discutidos están documentados en las tareas.
- Estaré explicando conceptos que no están claros.
- Después de cada sesión estaré actualizando el material del curso en función de nuestro progreso.
- Las tareas tienen un 10% cada una porque tengo que calificarte en algo.
- Las calificaciones se otorgan al finalizar (lo considero completo).
- Las tareas se califican durante las sesiones.
- Las calificaciones pueden ser parciales dependiendo del nivel de finalización.
- Se consideran las 10 mejores tareas.
- Preferiblemente leer o comenzar a resolver la tarea antes de la sesión.
- Si no puede completar la tarea, se le puede otorgar permiso para completarla antes del siguiente ejercicio.
- La primera sesión es sólo de discusión.
- La última sesión es una sesión de solo tareas.
- Todos deberíamos comer pizza al final del curso.
necesitarás
- Una computadora portátil con un shell bash (sistema operativo basado en Unix o Windows 10 con terminal ubuntu)
- Un navegador moderno, por ejemplo, el último Google Chrome.
- Internet
- NodoJS
- git
- Editor de texto como Atom
Sesiones del curso
En este curso presentaremos
1. Historial de aplicaciones web
En esta sesión hablaremos sobre el panorama existente de cosas que un desarrollador puede aprender y lo que cubriremos durante este curso.
- Establecer expectativas para el curso.
- Los problemas que estaremos resolviendo.
- Historial de aplicaciones web.
- Configurando un proyecto ES6 con babel y node
- paquete web
Tarea para la próxima vez
- Cree una aplicación web sencilla sin bibliotecas
- Los problemas básicos que enfrentamos
- Dividir el código en archivos separados
- OOCSS y BEM
2. Vida de una aplicación moderna: vista de representación de datos
En esta sesión comenzaremos con un resumen de las características básicas de Javascript y analizaremos los conceptos de programación funcional.
- Caja flexible
- cadenas de plantilla de características es6
- componentes que representan datos a html
Tarea para la próxima vez
- Código de renderizado completo a HTML
3. Vida de una aplicación moderna: las acciones actualizan los datos
- Eventos DOM
- Alcance de nuestro código
- Programación basada en eventos con el patrón Observer
Tarea para la próxima vez
- Arquitectura de flujo (datos hacia abajo y acción hacia arriba)
4. Vida de una aplicación moderna: pruebas
- Representación HTML de prueba unitaria
- Funciones puras
- Tienda estatal
- Simulacros y talones
- Inyección de dependencia
Tarea para la próxima vez
- Probando nuestras funciones de renderizado
- Probando nuestros despachadores de acción
- Probando nuestras acciones mutando la tienda
5. Vida de una aplicación moderna: las vistas desencadenan eventos
- NodeJS: módulos
- herramientas de construcción: trago
- renderizando un dom virtual
- ejecutando nuestra tarea de prueba
- navegar
Tarea para la próxima vez
- Desarrollar un nuevo tipo de tarea pendiente llamado contador
- Las tareas pendientes ahora se pueden editar
6. Vida de una aplicación moderna: código asincrónico
- El bucle de eventos de Javascript
- Promesas con búsqueda
- Creando un servidor REST simple con express
- Enchufes
- Asincrónico
- Programación reactiva
7. Integración e implementación continuas
- Front end con páginas de Git * Resistiendo a Git * Implementando tu código en github con un CI * SSH con Nginx y encriptemos
- Backend con Capistrano (vuelo de nodo) * Implementando en un servidor con ssh * Automatizando con el CI nuestra aceptación de solicitud de extracción de git * Usando plan de vuelo para la implementación
8. Todo lo que necesitas para un MVP
- Base de fuego * *
- Pruebas con Firebase * *
8. Arquitectura para aplicaciones masivas: Problemas
- Reaccionar * *
- Aplicaciones web progresivas * *
9. Arquitectura para aplicaciones masivas: Frameworks
- Reaccionar * *
- GráficoQL * *
10. Reaccionar escritura nativa
- Configuración * *
- Notificación push *
11. Extra por el tiempo perdido
- electrón * *
12. Extra por el tiempo perdido
Notas
- Utilice la hoja de preguntas frecuentes
#Curso