Repositorios interesantes de la semana #1

Repositorios interesantes de la semana #1

Publicado originalmente en matiasverdier.com

Semana 4 enero 2021

Hola! Hoy les traigo una lista de 5 repositorios interesantes que descubr铆 la semana pasada (algunos ya los sabia de antes 馃槄). Sin m谩s vueltas paso a comentarles un poco de cada uno, espero que les sea de utilidad.

Snapdrop

Sitio web Snapdrop

Snapdrop es una version open source de la aplicaci贸n AirDrop en MacOS. Esta aplicaci贸n sirve para compartir archivos estando en la misma red WIFI de forma f谩cil y r谩pida.

Es una aplicaci贸n simple programada b谩sicamente con HTML, CSS y JS sin ning煤n framework. Para poder compartir los archivos utiliza la tecnolog铆a WebRTC que nos permite establecer conexiones P2P entre dispositivos.

Tambi茅n cuenta con un backend en Nodejs que se usa solamente para manejar la interacci贸n inicial necesaria para establecer la conexi贸n mediante WebRTC, esto quiere decir que los archivos nunca pasan por el servidor, si no solo entre los dispositivos conectados.

Otro detalle interesante es que se puede agregar a la homescreen de tu celular como una app mas, esto gracias a ser implementada como una Progressive Web App.

Repositorio: RobinLinus / snapdrop

Mozilla Hubs

Sitio web Mozilla Hubs

Hubs es una aplicaci贸n que nos permite crear entornos virtuales 3D online para reunirnos con otras personas y charlar en un ambiente un poco mas ameno que una simple video llamada, algo que sin duda ayuda en estos tiempos de pandemia que corren.

Si bien puedes usar dispositivos de realidad virtual (VR) estos no son necesarios.

Puedes elegir tu avatar de una larga lista de opciones e incluso puedes crear tus propios avatars y subirlos a la plataforma, asi que si tienes un poco de conocimiento de Blender u otras herramientas de modelado 3D es una buena oportunidad.

Ademas de esto puedes compartir tu pantalla e interactuar con el entorno, por ejemplo dibujando en un pizarr贸n.

Tambi茅n tienes la posibilidad de agregar diversos objetos a tu entorno o crearlos de la misma manera que con los avatars. El entorno completo o escena tambi茅n puede ser cambiado o creado completamente desde cero.

Por ultimo y no menos importantes quiero destacar la gran documentaci贸n de alta calidad que tiene, ya sea para usuarios, creadores, o desarrolladores.

Repositorio: mozilla / hubs

Patch Package

Ahora vamos con algo diferente, en este caso es un paquete de npm que nos permite arreglar errores en librer铆as de terceros sin la necesidad de hacer fork del repositorio original o esperar que los desarrolladores lo arreglen, esto se vuelve necesario muchas veces cuando nuestro sistema depende de que ese arreglo sea incluido.

Esto no es una soluci贸n a largo plazo por supuesto, pero es una alternativa simple y muchas veces mas f谩cil de mantener que crear un fork de la librer铆a en cuesti贸n ya que puedes modificar los archivos originales directamente en la carpeta node_modules y la librer铆a se encarga de mantener estos cambios en subsiguientes installs y ademas crea archivos patch con los cambios realizados para que los puedas versionar con git.

Repositorio: ds-300 / patch-package

Twind

Sitio web Twind

Twind es una librer铆a de CSS-in-JS que usa Tailwindcss por debajo manteniendo sus ventajas pero ademas agregando otras funcionalidades interesantes como la agrupaci贸n de clases por prefijo, combinaci贸n condicional de clases y mas.

Agrupaci贸n de clases Esto hace que los nombres de las clases sean m谩s cortos evitando la repetici贸n de ciertos prefijos que comparten.

// Before directive grouping
tw`border-2 border-black border-opacity-50 border-dashed`

// After directive grouping
tw`border(2 black opacity-50 dashed)`

// With variants
tw`sm:(border(2 black opacity-50 hover:dashed))`
// => sm:border-2 sm:border-black sm:border-opacity-50 sm:hover:border-dashed

tw`w(1/2 sm:1/3 lg:1/6) p-2`
// => w-1/2 sm:w-1/3 lg:w-1/6 p-2

Para mas detalles sobre esta y otras funcionalidades puedes visitar el repositorio: tw-in-js / twind

Microsite

Microsite es un generador de sitios est谩ticos (SSG) construido sobre Snowpack y que utiliza Preact como framework.

La principal caracter铆stica es que su output presenta una cantidad minima de c贸digo JS del lado del cliente, esto es posible gracias a las utilizaci贸n de Automatic Partial Hydration (Hidrataci贸n Parcial Autom谩tica), esta t茅cnica permite generar solo el JS necesario para las partes de la pagina que son realmente din谩micas y no tener que enviar todo el 谩rbol de componentes al browser.

Puedes agregar rutas a tu sitio creando archivos (.js, .jsx, .tsx) en la carpeta pages de la misma forma que lo hace Nextjs.

Mas info en el repositorio: natemoo-re / microsite

Pensamientos finales

Espero que esto les haya servido de algo, voy a intentar crear un post como este todas las semanas con cosas interesantes que voy encontrando.

Si alguna de estas herramientas les pareci贸 interesante y quieren saber mas me lo pueden hacer saber en los comentarios o en mi cuenta de twitter y puede que escriba un articulo especifico con mas detalles de su funcionamiento, ejemplos, etc.

Gracias y hasta el pr贸ximo!