Así que esto no es definitivo, no es necesariamente cómo se verá, pero esta es más o menos la dirección que quiero seguir, donde tienes un gestor de espacios, así que el espacio en este caso es la cosa alrededor de la cual te reúnes, la sala para la app de chat, el documento para la app de documentos. Y puedes añadir comandos y puedes añadir colecciones y todo eso. Así que para una app de chat, por ejemplo, definimos un esquema para cómo se ven las cosas, es un chat, tiene colecciones, una de ellas son mensajes, tienen sensaciones como cualquier cosa que hayas visto antes, y también hay comandos. Así que se parece un poco a una cosa de Redux, tenemos acciones y se resuelven al mismo estado. También podrías, así que esto es clave para la app de chat, pero también podrías imaginar, en este caso lo llamaré bunk docs, este es un competidor de Google docs, donde también tenemos roles, así que un propietario puede hacer cualquier cosa, un editor puede hacer estas cosas. He jugado con un Yjs, ¿conoces Yjs? Es como una cosa de biblioteca multijugador, así que puedes usar tip tap, pero tener múltiples editores en la misma cosa, así que he escrito una capa de adaptador que pone Yjs en esto, y por supuesto un documento tiene metadatos, podemos añadir eso, y tenemos comandos de nuevo. Y esta es una demo de una app de prueba de bunk docs ejecutándose en el simulador y electron aquí. Captas la idea. Pero solo para decir, cualquier cosa es posible, es solo cuestión de estructurarlo de esta manera especial. ¿Lo vemos hasta el final, supongo? Bien, eso es suficiente. Tenemos un poco de acción de atún. Y los emojis no funcionan.
Bueno, esto es imaginar Dropbox, las buenas partes, supongo. Cómo solía ser, simplemente compartes una carpeta y cualquier cosa que pongas en esa carpeta puedes tener en todas tus máquinas y puedes invitar a personas a ella. Es el mismo tipo de cosa. El espacio aquí es la carpeta individual, luego usar es una palabra clave para, una especie de capa de middleware donde puedes usar todos los bloques de construcción que hemos creado para nuestra app también. Así que tenemos soporte para almacenamiento de blobs, y en este caso, drive, que es hyper-drive, uno de nuestros módulos, donde puedes obtener un drive y se comparte automáticamente entre los participantes. Así que tenemos archivos, tenemos comandos, y así sucesivamente. Aquí hay una demo de nuevo de Dropbunk ejecutándose en mi máquina y VPS. Así que editamos en la carpeta, recibimos una invitación, presionamos el trackpad demasiado fuerte, y entonces probablemente puedas imaginar lo que sucede. Casi suena divertido cuando no lo haces, cuando lo muestras.
OK, sí, nos unimos, vamos a la cosa, hacemos clic al azar. ¿Qué está pasando? ¿Llaves? Bien, sí, lo que sucede a continuación es que creo archivos y se sincronizan, puedes imaginar. Conoces archivos. Sí. Así que estoy llamando a esto peer SDK, no sabemos realmente cómo llamarlo todavía, porque realmente no es una cosa todavía, pero es un esfuerzo que queremos hacer. Peer en este caso es lo que escuchaste a Dave tal vez hablar ayer, que es una especie de capa de distribución y el tiempo de ejecución para gran parte de esto. Incluso hasta desplegar tu app, sucede en peer-to-peer, lo que significa que no está restringido por firewalls y todo eso. Tenemos algo de tecnología de perforación de agujeros, se llama, que encuentra una manera a través de todos los routers comunes y todo. Así que eso es realmente donde peer-to-peer brilla, cuando hay un caso de si Internet se cae, pero las personas todavía están juntas, encienden Bluetooth, todavía pueden compartir los mensajes en Bluetooth, porque esta es la capa de transporte, toda la matemática detrás de esto todavía funciona.
Comments