¿Qué tecnologías necesito saber para poder crear una aplicación de mensajería como WhatsApp?

En el extremo de Android:

  1. Familiaridad con Android SDK: Android proporciona un kit de desarrollo de software para que los desarrolladores puedan crear aplicaciones sobre él. Necesita saber más o menos el ciclo de vida de las pantallas y los eventos que se activan cuando.
  2. SQL lite: SQL lite es la base de datos nativa utilizada por Android. Puede omitir esto si no desea guardar los chats localmente; pero se recomienda porque no puede enviar una llamada al servidor cada vez que tiene que recuperar los chats.
  3. JAVA: El idioma en el que tendrás que codificar. Alternativamente, puede usar C # y Android ndk (kit de desarrollo nativo) para compilar su código.
  4. XML para los diseños. : Todas las pantallas creadas para una aplicación de Android están codificadas en .xml (lenguaje de marcado extendido). Puede hacer las pantallas usando JAVA también, pero no se recomienda. * Casi no necesita codificar en xml, solo arrastre y suelte (use Eclispce / Android Studio como IDE)
  5. GCM (mensajería en la nube de Google) * (puede reemplazarse por un pub-sub en el extremo del servidor, consulte el punto 3 a continuación): se utiliza para recibir notificaciones automáticas en el teléfono. Se puede reemplazar por enchufes. Pero fácil de implementar, sin costo y recomendado.

En el servidor final

  1. Cualquier lenguaje de secuencias de comandos del lado del servidor (php / jsp / c #, etc.): deberá escribir el código de fondo en algún servidor que se conecte a su base de datos principal (consulte el siguiente punto) y enviar, recibir mensajes y almacenarlos en un lugar común.
  2. Bases de datos relacionales (MySQL / SQL …) o no relacionales (MongoDB / Redis …) (recomendado): donde almacena todos los usuarios, mensajes, usuarios bloqueados, etc. Puede guardar todo en la base de datos local de Android.
  3. Un servidor pub-sub como Faye. (en lugar de GCM) *: no se recomienda el mismo trabajo que Android point 3.
  4. Servicios web relajantes. : Cuando tenga que conectarse a su servidor para recuperar o enviar mensajes a través de Internet, deberá hacer uso de algunos servicios web que están escritos en el lenguaje de secuencias de comandos que seleccione (como en el punto 1). Esto devuelve algunos datos (mensajes nuevos) o envía algunos datos al servidor. Puede usar .xml o .json como formato de retorno. Elija json, se sentirá más cómodo lidiando con eso.

* necesita saber el punto 5 de Android y el punto 3 del servidor. GCM en sí mismo funciona como un pub-sub, y se recomienda.

IDE: no elija ningún otro IDE, excepto Eclipse o Android Studio. Son los mejores y son recomendados por el propio Google.

PD: Actualizaré si creo que me he perdido algo.

¡Aclamaciones!

La alternativa de Whatsapp es cada vez más grande.

Las aplicaciones de mensajería desempeñan un papel vital en la tecnología del mercado. Sin ella, no hay una comunicación y compromiso adecuados. Uno debería conocer las tecnologías detrás de Whatsapp que lo ayudarían a crear aplicaciones de mensajería más fácilmente.

La tecnología utilizada para crear una aplicación de chat como Whatsapp:

Servidor Ejabberd : se utiliza para alojar una gran red de comunicación.

Erlang : el lenguaje de programación más robusto

XMPP : protocolo de comunicación más adecuado para el servidor Ejabberd

FreeBSD : SO altamente estable con funciones avanzadas de red, seguridad y almacenamiento.

Mnesia y MySQL : el sistema de gestión de bases de datos más confiable.

Además, conozca las tecnologías detrás de las aplicaciones de mensajería como Wechat, Viber, etc.

Hay una cosa que Karan Kumar olvidó mencionar y es que para reducir el costo de Internet y la rápida transferencia de datos, hay un protocolo llamado XMPP.

Es utilizado por casi todas las aplicaciones de mensajería instantánea y también por GCM.

Debe implementar tanto en el cliente como en el servidor (si va a hacer el suyo).

Si no desea usar XMPP, puede usar REST o SOAP, pero ambos consumen mucho uso y transferencia de datos en comparación con XMPP y no es tan rápido y tiene muchos gastos generales. REST o SOAP solo se usa si desea transferir objetos muy pesados ​​como un archivo o un libro electrónico, etc.

Antes de pasar al desarrollo de una aplicación de mensajería como WhatsApp, uno puede tener una imagen simple de su arquitectura y eso hace que el proceso posterior sea mucho más fácil.

Las tecnologías que se utilizaron para desarrollar una aplicación como WhatsApp se muestran a continuación. Las tecnologías de aplicaciones de chat en tiempo real lo ayudan a obtener una aplicación de chat segura como WhatsApp.

  • Servidor Ejabberd
  • Lenguaje erlang
  • Protocolo XMPP
  • Mnesia y Mysql para la gestión de bases de datos
  • Servidor de almacenamiento YAWS para almacenar archivos multimedia
  • FreeBSD como sistema operativo

Como una aplicación de mensajería en tiempo real, el servidor Ejabberd es el más recomendado. Ya que transfiere los mensajes instantáneamente entre los dos o muchos usuarios en segundos. ERLANG como el lenguaje de programación que acomoda un gran sistema de comunicación con alta sostenibilidad.

El protocolo XMPP, que se denomina Protocolo de presencia y mensajería extensible, se utiliza para garantizar la transferencia de mensajes entre dos o más entidades de red. Para la gestión de bases de datos, se prefiere Mnesia DB y FreeBSD como sistema operativo. Para el almacenamiento de archivos multimedia ilimitados YAWS se utiliza el servidor web exclusivo.

También una de las formas más fáciles de crear una aplicación como WhatsApp, una solución de mensajería instantánea que viene con características puramente personalizables basadas en los requisitos del individuo también sería una gran opción.

Java, XML, Android Studio, PHP, APACHE o cualquier otra interfaz similar …

Personalmente, me gustaría recomendarle ValueCoders – Desarrolladores de aplicaciones móviles interactivas. para su aplicación móvil de WhatsApp como Messaging.

More Interesting

¿Por qué tenemos aplicaciones para dramas coreanos (Viki y Dramafever) disponibles en los Estados Unidos y ninguna para dramas japoneses?

Algoritmos: ¿Voy por el camino correcto si no estoy interesado en participar en competiciones de codificación, sino en pasar el mismo tiempo haciendo solicitudes?

¿Cuál es el propósito de un software de respaldo?

¿Qué software me puede ayudar a corregir mi novela?

¿Cuándo serán capaces de superarse los programas de computadora?

¿Existe una aplicación disponible para bloquear Quora desde mi navegador por un período de tiempo determinado?

¿Cuáles son los componentes de software de una plataforma de publicidad contextual?

¿Existe algún software que me permita diseñar calendarios con diferentes alineaciones para los días en lugar del tradicional diseño de gráfico de cuadrícula 7 × 5?

¿Existe algún buen software que ayude a escribir (gramática, ortografía, etc.)?

¿Qué es la pila de tecnología de Udacity?

¿Cómo se puede hacer un software de aprendizaje de idiomas? ¿Qué precio esperaría un programador del trabajo y cuánto tiempo tomaría crearlo?

¿Existe alguna herramienta o software que pueda convertir artículos de texto en video + audio? Si incluye personajes humanos en el video, sería bueno.

¿Qué aplicación es buena para editar fotos?

¿Qué aplicación se puede usar para mejorar la gramática?

Si instalo un software en una unidad USB, ¿puedo conectar la unidad a otra computadora y usar el software?