Presentación utilizada en el NetRaf 2017, comentando la realización de una aplicación de chat mutiplataforma con reconocimiento de voz.
Se utilizaron las siguientes tecnologías / plataformas:
- SignalR
- Cognitive Services
- Xamarin
- ASP.NET WebApi
- Android
- iOS
- Azure
2. Ejemplo:
Realizar un chat multiplataforma
Web
App nativa Android
App nativa iOS
Que el chat tenga la opción de enviar mensajes de texto
El usuario puede escribirlos o dictarlos, pero la aplicación siempre enviará a
los otros participantes el contenido como texto
5. Una de las soluciones: SignalR
SignalR es una librería para los desarrolladores que simplifica el proceso de
agregar funcionalidad basada en interacción web en tiempo real
Cuando hablamos de interacción web en tiempo real hacemos referencia a la
capacidad de poder enviar contenido desde el servidor a determinadas
aplicaciones clientes que lo tendrán disponible de forma inmediata, en vez de
que el servidor tenga que esperar que el cliente le solicite nueva información
Esto permite lograr un esquema de conexión bidireccional completo
7. SignalR: ventajas
Elección automática de la mejor alternativa de comunicación con cada
cliente
Como consecuencia del punto anterior, compatibilidad en (casi) todos los
clientes
Unicidad en el desarrollo, ya que independientemente de que técnica sea la
elegida, de nuestro lado no debemos hacer nada adicional
Alto grado de abstracción
Utilización de una solución probada
9. Cognitive Services: ¿qué son?
Microsoft Cognitive Services (inicialmente llamado Project Oxford) es un
conjunto de APIs, SDKs y servicios disponibles para que los desarrolladores
podamos hacer nuestras aplicaciones más inteligentes, atractivas e
interesantes
Nos permiten agregar funcionalidades a nuestras aplicaciones de forma muy
sencilla, lo cual en otros casos sería algo mucho más complicado
Esta es la otra parte clave que usamos en nuestra aplicación.
Nos permite dar un paso hacia adelante en ciertos conceptos de nuestras aplicaciones, con una interacción más humana
Nos da funcionalidades asociadas a distintos aspectos cognitivos
Tenemos dos formas de usarlo generalmente: por API REST o paquetes Nuget que nos dan resueltos ciertos aspectos intermedios
La funcionalidad real para casos productivas pasas por Azure, aunque podemos usarlo free como nosotros
Estas son las áreas generales en las que se dividen los servicios
Ir a la web y mostrarlas en general.
También mostrar logueado que tenemos el app key con el detalle de cuanto consumimos