Blog

¿Cómo crear una aplicación de mensajería como Slack?

Contenidos

Con una capitalización de mercado de 1.200 millones de dólares, 8 millones de usuarios activos y 3 millones de usuarios premium, Slack pasó de ser una fallida startup de juegos a uno de los famosos unicornios de la industria tecnológica. Parece demasiado bueno para ser verdad.

Entonces, ¿qué hay detrás de estos resultados tan sorprendentes? Este artículo asume una comprensión básica de cómo crear aplicaciones como Slack. Prepárate para sumergirte y crear una aplicación de Slack.

¿Qué es Slack y por qué los usuarios lo adoran?

Probablemente hayas oído hablar de la historia de éxito de Slack. Y puede que hayas leído cómo la empresa Tiny Speck creó un juego que fracasó y luego se convirtió en Slack, que ya es utilizado por más de 30.000 equipos y está valorado en más de mil millones de dólares.

Pero, ¿qué es realmente Slack? Slack es un centro de colaboración que puede sustituir al correo electrónico y a las aplicaciones de mensajería para ayudar a un equipo a trabajar juntos sin problemas. Está diseñado para apoyar la forma en que las personas trabajan juntas de forma natural, por lo que puede colaborar con la gente en línea de manera tan eficiente como lo hace cara a cara.

¿Cuáles son las mejores prácticas para utilizar Slack con los clientes?

Según una encuesta de Gallup, casi la mitad de la mano de obra estadounidense ha pasado horas a distancia. Los canales de Slack están ayudando a los equipos distribuidos y remotos a mantenerse al día. A continuación encontrarás cómo Slack conecta una red dispersa de revendedores de Lego para intercambiar información en tiempo real.

Wickstrom Dairies confía en Slack como base de su operación estrechamente sincronizada, desde el cultivo de 1.000 acres hasta el ordeño de 24.000 vacas diarias.

Una nueva encuesta realizada a 17.000 trabajadores del conocimiento de todo el mundo concluye que el correo electrónico tiene carencias cuando se trata de una comunicación eficaz en el lugar de trabajo.

Características esenciales de la aplicación de mensajería instantánea Slack

Aquí destacaremos algunas características esenciales de Slack que hacen que el trabajo en equipo sea más eficiente y ayudan a los miembros del equipo a mantenerse alineados y centrados en sus objetivos.

Mensajes directos

Los mensajes directos y los mensajes directos de grupo son los más adecuados para las conversaciones rápidas. Esta forma rápida y sencilla de hacer preguntas puede utilizarse cuando un usuario necesita enviar un mensaje a una persona en particular en lugar de al grupo en ese momento.

Canales

Su espacio de trabajo consiste en canales que pueden estar basados en cualquier cosa – equipos, proyectos, o incluso ubicaciones de oficinas. La opción de canales compartidos permite conectar dos organizaciones distintas sin tener que salir de Slack.

Notificaciones

Las notificaciones de Slack se pueden personalizar por canal, para que puedas priorizar a dónde va tu atención. Además, puedes elegir la forma en que quieres recibir las notificaciones: en tu escritorio, en un dispositivo móvil o por correo electrónico.

Herramientas integradas

Slack permite que herramientas y servicios como Zendesk, Salesforce o Jira trabajen en el mismo lugar que tu equipo. La información sale de las bandejas de entrada aisladas y fluye hacia los canales compartidos del equipo.

  • Conecta tus herramientas con Slack.Dado que el directorio de aplicaciones de Slack implica que más de 1.500 aplicaciones pueden integrarse en Slack, puedes perder menos tiempo cambiando de pestaña y centrarte en el trabajo significativo.
  • Construye tu propia aplicación con las APIs de Slack.Puedes configurar Slack para los requerimientos únicos de tu equipo y su tecnología usando la API de Slack.

Constructor de flujos de trabajo

Workflow Builder es una herramienta visual que permite a cualquier usuario de Slack automatizar funciones rutinarias creando flujos de trabajo personalizados. Usted puede tener una manera perfecta de:

  • Estandarizar cómo se recogen las solicitudes
  • Poner al día a los nuevos miembros del equipo con mensajes de bienvenida

Menciones

Las menciones son una forma fácil de notificar a los miembros del equipo y de prestar atención a la información importante. Debes añadir una @mención en tus mensajes para notificar a las personas adecuadas.

Búsqueda

La función de búsqueda te permite encontrar rápidamente los datos esenciales. Busca en el historial de conversaciones de tu equipo en Slack para encontrar los mensajes, archivos, canales y personas relevantes que necesitas para realizar el trabajo. Además, puedes utilizar el número de modificadores para acotar los resultados.

Videoconferencia y pantalla compartida

Las videoconferencias ayudan a que los compañeros remotos participen en las conversaciones y decisiones que se toman y compartan la información de forma más eficiente. Así, el trabajo se hace más rápido. Si necesitas mostrar tu trabajo, puedes compartir tu pantalla.

Intercambio de archivos integrado

Puedes arrastrar y soltar archivos directamente en Slack para recibir rápidamente comentarios sobre tu trabajo.

Chatbot de Slack

Slackbot puede ayudarte a encontrar respuestas a tus preguntas sobre Slack, añadir respuestas automáticas personalizadas o acceder a recordatorios y tareas personales.

¿Cuál es el stack tecnológico detrás de Slack?

No vamos a cubrir todos los pasos que puedes hacer para construir una aplicación de mensajería como Slack aquí porque eso sería mucho material para cubrir. En su lugar, vamos a describir qué herramientas y tecnologías se pueden utilizar para crear un clon de la aplicación Slack.

Cómo construir un clon de la aplicación Slack

El sistema de Slack consiste en:

  • La app web ha sido escrita en una mezcla de JavaScript y ES6, con React. Para enviarla como una app de escritorio, se ha utilizado Electron.
  • La app para Android se ha construido como una combinación de Java y Kotlin.
  • La aplicación para iOS se ha escrito en una mezcla de Objective-C y Swift.

En el lado del servidor, los desarrolladores han utilizado la aplicación central que alimenta slack.com y la API de Slack, que está escrita en PHP/Hacklang y se ejecuta en HHVM. Todos los datos se han almacenado en MySQL utilizando el sistema de agrupación de bases de datos Vitess.

Slack utiliza Memcached y MCRouter como componentes principales de la infraestructura de caché. Su servicio de búsqueda se basa en SolrCloud, con varios servicios Java para la clasificación.

Un sistema de mensajería en tiempo real se compone de varios servicios escritos en Java y Go. Originalmente Slack utilizaba WebSockets para transferir todos los mensajes de los usuarios.

Slack adopta la integración nativa de HAProxy para configurar automáticamente el equilibrador de carga con los datos de descubrimiento de servicios de Consul. La mayoría de los servicios se comunican entre sí a través de gRPC, aunque Slack también tiene algunos Thrift y JSON-over-HTTP.

El servicio de llamadas de voz y vídeo de Slack está construido en Elixir. Algunos servicios diferentes también están escritos en Node. Un sistema de cola de tareas asíncronas está construido sobre Kafka y Redis.

Un almacén de datos está construido sobre Presto, Spark, Airflow, Hadoop y Kafka.

Para la configuración y gestión de servidores, Slack utiliza Terraform, Chef y Kubernetes. Utiliza Prometheus para las métricas de series temporales y ELK para el registro. Slack está alojado en gran medida en AWS, en muchas regiones del mundo.

Seguridad en Slack

  • Cumplimiento de diversas normas de seguridad.
  • Controles de seguridad móviles nativos.
  • Inicio de sesión único mediante protocolos de autenticación estándar del sector.
  • Autenticación de dos factores.
  • Cifrado de datos en tránsito y en reposo.
  • Integración con socios de DLP, EMM, eDiscovery y archivo.

Artículos destacados

From offline to online.

Comparte tus ideas con nosotros