ProHoster > Blog > noticias de internet > Dojo front-end: proyectos para capacitar habilidades de desarrollador (5 nuevos + 43 antiguos)
Dojo front-end: proyectos para capacitar habilidades de desarrollador (5 nuevos + 43 antiguos)
1. Клон Notion
Приложение Notion полюбилось многим, оно позволяет оптимизировать рабочий процесс, работать с документами, планировать задачи, синхронизировать данные между устройствами.
Repl.it -это инструмент для совместного редактирования кода в реальном времени. Можно выбрать несколько языков: JavaScript, Python, Go и выполнять код прямо в браузере. Очень полезно для быстрых демонстраций и код-интервью.
Как запускать и выполнять код (server-side) в браузере (client-side).
Считывать входные данные (исходный код) и выводить на экран результат выполнения.
Как создавать файлы и папки в вебе и сохранять результаты.
Как подсвечивать синтаксис кода.
3. Клон Google Photos
Google Photos это сервис для хранения и обмена фоток.
Любое современное приложение по работе с фотографиями умеет выполнять базовые функции: загружать, обрезать и пр. Люди хотят создавать свои аватарки и делиться фотками котиков, поэтому надо уметь работать с изображениями.
Как создавать адаптивные изображения на телефонах, планшетах, ноутбуках и даже на гигантских экранах телевизоров.
Как обрабатывать загрузку изображений, особенно больших изображений (>1МБ) и массовых загрузок.
Обработка файлов изображений, обрезка и изменение размера фотографий для миниатюр или при открытии галереи.
bono: как хранить изображения в облаке или локальной базе данных.
4. Клон Gifsky
Gifs конвертирует видео в GIF используя функцииpngcuanto для эффективных палитр кросс-кадров и временного сглаживания. В результате получается гифка с тысячами цветов на кадр.
Layer es una comunidad donde todos pueden dibujar un píxel en un "tablero" compartido. La idea original nació en Reddit. La comunidad r/Layer es una metáfora de la creatividad compartida, de que todos pueden ser creadores y contribuir a una causa común.
Lo que aprenderás al crear tu propio proyecto Layer:
Cómo funciona el lienzo de JavaScript Saber cómo operar un lienzo es una habilidad fundamental en muchas aplicaciones.
Cómo coordinar los permisos de los usuarios. Cada usuario puede dibujar un píxel cada 15 minutos sin necesidad de iniciar sesión.
Squoosh es una aplicación de compresión de imágenes con muchas opciones avanzadas.
GIF 20MB
Al crear tu propia versión de Squoosh aprenderás:
Cómo trabajar con tamaños de imagen
Aprenda los conceptos básicos de la API Drag'n'Drop
Comprender cómo funcionan la API y los detectores de eventos
Cómo cargar y exportar archivos
Nota: El compresor de imágenes es local. No es necesario enviar datos adicionales al servidor. Puedes tener el compresor en casa, o puedes usarlo en un servidor, tú eliges.
Calculadora
¿Vamos? ¿En serio? ¿Calculadora? Sí, exactamente, una calculadora. Comprender los conceptos básicos de las operaciones matemáticas y cómo funcionan juntas es una habilidad fundamental para simplificar sus aplicaciones. Tarde o temprano tendrás que lidiar con números y cuanto antes mejor.
Todo el mundo ha utilizado un motor de búsqueda, así que ¿por qué no crear uno propio? Se necesitan rastreadores para buscar información. Todo el mundo los utiliza todos los días y la demanda de esta tecnología y de especialistas no hará más que crecer con el tiempo.
motor de búsqueda de google
Lo que aprenderás creando tu propio motor de búsqueda:
Cómo funcionan los rastreadores
Cómo indexar sitios y cómo clasificarlos por calificación y reputación
Cómo almacenar sitios indexados en una base de datos y cómo trabajar con la base de datos
Reproductor de música (Spotify, Apple Music)
Todo el mundo escucha música; es simplemente una parte integral de nuestras vidas. Creemos un reproductor de música para comprender mejor cómo funcionan los mecanismos básicos de una plataforma de transmisión de música moderna.
Spotify
Lo que aprenderás creando tu propia plataforma de streaming de música:
Cómo trabajar con la API. use API de Spotify o Apple Music
Cómo reproducir, pausar o rebobinar a la pista siguiente/anterior
Cómo cambiar el volumen
Cómo administrar el enrutamiento de usuarios y el historial del navegador
Aplicación de búsqueda de películas con React (con ganchos)
Lo primero con lo que podría comenzar es crear una aplicación de búsqueda de películas con React. A continuación se muestra una imagen de cómo se verá la aplicación final:
Que aprenderás
Al crear esta aplicación, mejorará sus habilidades de React utilizando la relativamente nueva API de Hooks. El proyecto de muestra usa componentes React, muchos ganchos, una API externa y, por supuesto, algunos estilos CSS.
Pila tecnológica y características
Reaccionar con ganchos
crear-reaccionar-aplicación
Jsx
CO
Sin usar ninguna clase, estos proyectos le brindan el punto de entrada perfecto para React funcional y definitivamente lo ayudarán en 2020. puedes encontrar proyecto de muestra aquí. Siga las instrucciones o hágalo usted mismo.
Aplicación de chat con Vue
Otro gran proyecto para usted es crear una aplicación de chat usando mi biblioteca de JavaScript favorita: VueJS. La aplicación se verá algo como esto:
Que aprenderás
En este tutorial, aprenderá a crear una aplicación Vue desde cero: cree componentes, maneje estados, cree rutas, conéctese a servicios de terceros e incluso maneje la autenticación.
Pila tecnológica y características
Vista
Vuex
Enrutador Vue
Vista CLI
Pusher
CO
Este es un gran proyecto para comenzar con Vue o mejorar sus habilidades existentes para comenzar el desarrollo en 2020. puedes encontrar tutoría aquí.
Hermosa aplicación meteorológica con Angular 8
Este ejemplo lo ayudará a crear una hermosa aplicación meteorológica con Angular 8:
Que aprenderás
Este proyecto le enseñará habilidades valiosas en la creación de aplicaciones desde cero, desde el diseño hasta el desarrollo, hasta llegar a una aplicación lista para implementar.
Pila tecnológica y características
Angular 8
Base de fuego
Representación del lado del servidor
CSS con Grid y Flexbox
Compatible con dispositivos móviles y adaptabilidad
Modo oscuro
Hermosa interfaz
Lo que realmente me gusta de este proyecto integral es que no estudias las cosas de forma aislada. En su lugar, aprende todo el proceso de desarrollo, desde el diseño hasta la implementación final.
Aplicación de tareas pendientes con Svelte
Svelte es como el chico nuevo en el enfoque de componentes, al menos similar a React, Vue y Angular. Y este es uno de los mejores productos nuevos para 2020.
Las aplicaciones de tareas pendientes no son necesariamente el tema más candente, pero realmente te ayudarán a perfeccionar tus habilidades Svelte. Se verá así:
Que aprenderás
Este tutorial le mostrará cómo crear una aplicación utilizando Svelte 3, de principio a fin. Utilizará componentes, estilos y controladores de eventos.
Next.js es el marco más popular para crear aplicaciones React que admitan la representación del lado del servidor de manera inmediata.
Este proyecto le mostrará cómo crear una aplicación de comercio electrónico que se vea así:
Que aprenderás
En este proyecto, aprenderá cómo desarrollar con Next.js: crear nuevas páginas y componentes, recuperar datos y diseñar e implementar una aplicación Next.
Pila tecnológica y características
Next.js
Componentes y páginas
Muestreo de datos
Estilo
Implementación del proyecto
RSS y SPA
Siempre es bueno tener un ejemplo de la vida real como una aplicación de comercio electrónico para aprender algo nuevo. Puede encontrar tutorial aquí.
Blog multilingüe completo con Nuxt.js
Nuxt.js es para Vue, como Next.js es para React: un excelente marco para combinar la representación del lado del servidor y las aplicaciones de una sola página
La última aplicación que puede crear se verá así:
Que aprenderás
En este proyecto de muestra, aprenderá a crear un sitio web completo con Nuxt.js, desde la configuración inicial hasta la implementación final.
Aprovecha muchas de las características geniales que Nuxt tiene para ofrecer, como páginas y componentes, y estilo con SCSS.
Pila tecnológica y características
Nuxt.js
Componentes y páginas
módulo de bloque de historia
mezclas
Vuex para la gestión estatal
SCSS para peinar
Middleware de Nuxt
Este es un proyecto realmente genial., que incluye muchas de las excelentes características de Nuxt.js. Personalmente, me encanta trabajar con Nuxt, así que deberías intentarlo, ya que también te convertirá en un gran desarrollador de Vue.
Blog con Gatsby
Gatsby es un excelente generador de sitios estáticos que utiliza React y GraphQL. Este es el resultado del proyecto:
Que aprenderás
En este tutorial, aprenderá a usar Gatsby para crear un blog que usará para escribir sus propios artículos usando React y GraphQL.
Pila tecnológica y características
Gatsby
Reaccionar
GraphQL
Complementos y temas
MDX/rebaja
CSS de arranque
Plantillas
Si alguna vez quisiste iniciar un blog, Este es un gran ejemplo cómo hacerlo usando React y GraphQL.
No digo que WordPress sea una mala elección, pero con Gatsby puedes crear sitios web de alto rendimiento usando React, que es una combinación increíble.
Blog con Gridsome
Gridsome para Vue... Vale, ya lo teníamos con Next/Nuxt.
Pero lo mismo es cierto para Gridsome y Gatsby. Ambos usan GraphQL como su capa de datos, pero Gridsome usa VueJS. También es un increíble generador de sitios estáticos para ayudarte a crear excelentes blogs:
Que aprenderás
Este proyecto le enseñará cómo crear un blog simple para comenzar con Gridsome, GraphQL y Markdown. También explica cómo implementar una aplicación a través de Netlify.
Reproductor de audio similar a SoundCloud usando Quasar
Quasar es otro marco de Vue que se puede usar para crear aplicaciones móviles. En este proyecto, creará una aplicación de reproductor de audio como:
Que aprenderás
Mientras que otros proyectos se centran principalmente en aplicaciones web, este le mostrará cómo crear una aplicación móvil utilizando Vue y el marco Quasar.
Ya debería tener un Cordova en funcionamiento con Android Studio/Xcode configurado. Si no, el manual tiene un enlace al sitio web de Quasar donde le muestran cómo configurar todo.
Pila tecnológica y características
Quásar
Vista
Córdoba
surfista de olas
Componentes de la interfaz de usuario
pequeño proyecto, demostrando las capacidades de Quasar para crear aplicaciones móviles.
Форма кредитной карты
Una forma genial de tarjeta de crédito con microinteracciones fluidas y agradables. Incluye formato de números, verificación y detección automática del tipo de tarjeta. Está construido sobre Vue.js y también es totalmente responsivo. (Puedes ver aquí.)
Manejar eventos (por ejemplo, cuando los campos cambian)
Comprender cómo mostrar y colocar elementos en la página, especialmente la información de la tarjeta de crédito que aparece en la parte superior del formulario.
Histograma
Un histograma es un cuadro o gráfico que representa datos categóricos con barras rectangulares con alturas o longitudes proporcionales a los valores que representan.
Se pueden aplicar vertical u horizontalmente. Un gráfico de barras verticales a veces se denomina gráfico de líneas.
Lo que aprenderás:
Mostrar datos de forma estructurada y comprensible.
Además: aprenda a utilizar el elemento. canvas y cómo dibujar elementos con él
es Puedes encontrar datos de población mundial. Están ordenados por año.
Анимация сердечка Twitter
En 2016, Twitter introdujo esta increíble animación para sus tweets. A partir de 2019, todavía se ve bien, así que ¿por qué no crear uno usted mismo?
Lo que aprenderás:
Trabajar con atributo CSS keyframes
Manipular y animar elementos HTML.
Combina JavaScript, HTML y CSS
Репозитории GitHub с функцией поиска
No hay nada sofisticado aquí: los repositorios de GitHub son solo una lista glorificada.
El objetivo es mostrar los repositorios y permitir al usuario filtrarlos. Usar API oficial de GitHub para obtener repositorios para cada usuario.
Los chats son una forma popular de comunicación debido a su simplicidad y facilidad de uso. Pero, ¿qué es lo que realmente impulsa las salas de chat modernas? WebSockets!
Lo que aprenderás:
Utilice WebSockets, comunicación en tiempo real y actualizaciones de datos
Trabajar con niveles de acceso de usuarios (por ejemplo, el propietario de un canal de chat tiene el rol admin, y otros en la sala - user)
Procese y valide formularios: recuerde, la ventana de chat para enviar un mensaje es input
Crea y únete a diferentes chats
Trabajar con mensajes personales. Los usuarios pueden chatear con otros usuarios de forma privada. Básicamente, establecerá una conexión WebSocket entre dos usuarios.
Навигация в стиле Stripe
Lo que hace que esta navegación sea única es que el contenedor emergente se transforma para adaptarse al contenido. Hay una elegancia en esta transición en comparación con el comportamiento tradicional de abrir y cerrar un nuevo popover.
Lo que aprenderás:
Combina animaciones CSS con transiciones
Atenuar el contenido y aplicar la clase activa al elemento flotante
Pacman
Crea tu propia versión de Pacman. Esta es una excelente manera de tener una idea de cómo se desarrollan los juegos y comprender los conceptos básicos. Utilice un marco de JavaScript, React o Vue.
Usted aprenderá:
Cómo se mueven los elementos
Cómo determinar qué teclas presionar
Cómo determinar el momento de la colisión.
Puedes ir más allá y agregar controles de movimiento de fantasmas.
Crear una aplicación tipo CRUD para administración de usuarios le enseñará los conceptos básicos del desarrollo. Esto es especialmente útil para nuevos desarrolladores.
Usted aprenderá:
¿Qué es el enrutamiento?
Cómo manejar formularios de entrada de datos y comprobar lo que ha introducido el usuario
Cómo trabajar con la base de datos: crear, leer, actualizar y eliminar acciones
Si desea crear aplicaciones, comience con una aplicación meteorológica. Este proyecto se puede completar usando Swift.
Además de adquirir experiencia en la creación de una aplicación, aprenderá:
Cómo trabajar con la API
Cómo utilizar la geolocalización
Haga su aplicación más dinámica agregando entrada de texto. En él, los usuarios podrán ingresar su ubicación para consultar el clima en una ubicación específica.
Necesitará una API. Para obtener datos meteorológicos, utilice la API OpenWeather. Más información sobre la API OpenWeather aquí.
Окно чата
Mi ventana de chat en acción, abierta en dos pestañas del navegador
Crear una ventana de chat es la manera perfecta de comenzar con los sockets. La elección de la pila tecnológica es enorme. Node.js, por ejemplo, es perfecto.
Aprenderá cómo funcionan los sockets y cómo implementarlos. Esta es la principal ventaja de este proyecto.
Si eres un desarrollador de Laravel y quieres trabajar con sockets, lee mi Artículo
Si eres nuevo en la integración continua (CI), prueba con GitLab CI. Configure algunos entornos e intente ejecutar un par de pruebas. No es un proyecto muy difícil, pero estoy seguro de que aprenderás mucho de él. Muchos equipos de desarrollo ahora utilizan CI. Saber utilizarlo es útil.
Usted aprenderá:
¿Qué es GitLab CI?
Cómo configurar .gitlab-ci.ymlque le dice al usuario de GitLab qué hacer
Cómo implementar en otros entornos
Анализатор сайтов
Cree un raspador que analice la semántica de los sitios web y cree su calificación. Por ejemplo, puede comprobar si faltan etiquetas alt en las imágenes. O compruebe si la página tiene metaetiquetas SEO. Se puede crear un raspador sin una interfaz de usuario.
Usted aprenderá:
¿Cómo funciona el raspador?
Cómo crear selectores DOM
Cómo escribir un algoritmo
Si no quiere detenerse ahí, cree una interfaz de usuario. También puede crear un informe en cada sitio web que consulte.
Desde el lado del cliente: cómo utilizar el almacenamiento local, cómo guardar datos en el almacenamiento local, cómo leer datos del almacenamiento local.
Desde el lado del servidor: cómo usar bases de datos, cómo guardar datos en la base de datos, cómo leer datos de la base de datos.
Técnicamente esto no es una aplicación, pero es una tarea muy útil para entender cómo funciona webpack desde dentro. Ahora no será una “caja negra”, sino una herramienta comprensible.
requisitos:
Compile es7 a es5 (conceptos básicos).
Compile jsx a js - o - .vue a .js (tendrás que aprender a usar cargadores)
Configure el servidor de desarrollo webpack y la recarga de módulos en caliente. (vue-cli y create-react-app usan ambos)
Utilice Heroku, now.sh o Github y aprenda a implementar proyectos de paquetes web.
Configure su preprocesador favorito para compilar css - scss, less, stylus.
¿En serio? ¿Tudushka? Hay miles de ellos. Pero créanme, hay una razón para esta popularidad.
La aplicación Tudu es una excelente manera de asegurarse de comprender los conceptos básicos. Intente escribir una aplicación en Javascript básico y otra en su marco favorito.
Aprender:
Crea nuevas tareas.
Compruebe que los campos estén completos.
Filtrar tareas (completas, activas, todas). Usar filter и reduce.
Comprenderás cómo funcionan tanto las aplicaciones web como las aplicaciones nativas, lo que te diferenciará de la masa gris.
Qué estudiaremos:
Sockets web (mensajes instantáneos)
Cómo funcionan las aplicaciones nativas.
Cómo funcionan las plantillas en aplicaciones nativas.
Organización de rutas de procesamiento de solicitudes en aplicaciones nativas.
Editor de texto
El propósito de un editor de texto es reducir el esfuerzo de los usuarios que intentan convertir su formato en un formato HTML válido. Un buen editor de texto permite a los usuarios formatear el texto de diferentes maneras.
Todo el mundo alguna vez ha utilizado un editor de texto. Entonces por qué no créalo tú mismo?
Клон Reddit
Reddit es un sitio de discusión, clasificación de contenido web y agregación de noticias sociales.
Reddit ocupa la mayor parte de mi tiempo, pero sigo visitándolo. Crear un clon de Reddit es una forma eficaz de aprender a programar (mientras navega por Reddit al mismo tiempo).
Reddit te ofrece una muy rica API. No omita ninguna característica ni haga las cosas al azar. En el mundo real, con clientes y clientes, no se puede trabajar al azar o perderá rápidamente su trabajo.
Los clientes inteligentes se darán cuenta inmediatamente de que el trabajo se está haciendo mal y buscarán a otra persona.
Si escribe código Javascript, es probable que utilice un administrador de paquetes. Un administrador de paquetes le permite reutilizar código existente que otras personas han escrito y publicado.
Comprender el ciclo completo de desarrollo de un paquete proporcionará una muy buena experiencia. Hay muchas cosas que necesitas saber al publicar código. Debe pensar en la seguridad, el control de versiones semántico, la escalabilidad, las convenciones de nomenclatura y el mantenimiento.
El paquete puede ser cualquier cosa. Si no tienes una idea, crea tu propio Lodash y publícalo.
freeCodeCamp es una organización sin fines de lucro. Consiste en una plataforma de aprendizaje interactiva basada en la web, un foro comunitario en línea, salas de chat, publicaciones Medium y organizaciones locales que pretenden hacer que el aprendizaje del desarrollo web sea accesible para todos.
Estarás más que calificado para tu primer trabajo si logras completar todo el curso.
Создайте HTTP-сервер с нуля
El protocolo HTTP es uno de los principales protocolos por los que viajan los contenidos en Internet. Los servidores HTTP se utilizan para ofrecer contenido estático como HTML, CSS y JS.
Ser capaz de implementar el protocolo HTTP desde cero ampliará su conocimiento sobre cómo interactúan las cosas.
Por ejemplo, si usa NodeJs, entonces sabrá que Express proporciona un servidor HTTP.
Como referencia, vea si puede:
Configurar un servidor sin utilizar ninguna biblioteca
El servidor debe servir contenido HTML, CSS y JS.
Implementando un enrutador desde cero
Monitorear cambios y actualizar el servidor.
Si no sabes por qué, usa ir a la lengua e intente crear un servidor HTTP Caddie desde cero.
Десктопное приложение для заметок
Todos tomamos notas, ¿no?
Creemos una aplicación de notas. La aplicación necesita guardar notas y sincronizarlas con la base de datos. Cree una aplicación nativa usando Electron, Swift o lo que quiera y funcione para su sistema.
Siéntete libre de combinar esto con el primer desafío (editor de texto).
Como beneficio adicional, intente sincronizar su versión de escritorio con la versión web.
Подкасты (клон Overcast)
¿Quién no escucha podcasts?
Cree una aplicación web con la siguiente funcionalidad:
Crea una cuenta
Buscar podcasts
Califica y suscríbete a podcasts
Para y reproduce, cambia de velocidad, funciones de avance y retroceso durante 30 segundos.
Intente utilizar la API de iTunes como punto de partida. Si conoce algún otro recurso, publíquelo en los comentarios.