¿Dónde debo comenzar mi proyecto si quiero crear una nueva aplicación de conversación de chat?

Depende de dónde empieces .

Para empezar, supondré que seleccionó una plataforma (Web, Android, iOS) y sabrá qué lenguaje de programación funciona mejor en esa plataforma. Si no, comienza aprendiendo esos.

Luego, debe aprender los conceptos básicos del diseño de la interfaz de usuario para su plataforma elegida.

Finalmente, elija un protocolo o conjunto de protocolos y una biblioteca para su idioma que lo admita. En ese punto las cosas divergen bruscamente. Para cualquier plataforma que no sea la web, puede usar una biblioteca multiplataforma como libpurple que admite múltiples protocolos: los usuarios simplemente ingresan la información de su cuenta para cualquier protocolo que quieran usar. (En ese momento, por supuesto, básicamente estás compitiendo con Pidgin / Adium, por lo que querrás echarles un buen vistazo. Son de código abierto).

Si desea una aplicación basada en la web, la escribirá en JavaScript y tendrá que configurar un servidor web para admitirla. Esa es una lata completamente diferente de gusanos.

A2A

Me haré eco de lo que dijo Avi Glozman: debes comenzar con quién, qué y por qué (y tal vez ‘a quién le importa’ y ‘por qué molestarse’. El mundo está lleno de aplicaciones de chat: ¿qué hace que la tuya sea diferente? eso primero.

Una vez que lo hayas descubierto, te sugiero que elijas un entorno que sea fácil de implementar multiplataforma. En la mayoría de los casos, una aplicación de chat tiene que ejecutarse en todas partes, o será inútil. Eso argumenta a favor de HTML5 + JavaScript en la parte frontal, ya sea que se ejecute en un navegador o envuelto con Cordova (nee PhoneGap). El backend se puede escribir en cualquier cosa o en una pila de protocolo sin formato (por ejemplo, XMPP).

Ahora, si su propósito es la autoeducación, escriba en el idioma o idiomas que desee.

La forma más fácil es buscar una aplicación de chat de código abierto, copiar el código fuente y modificarse, asumiendo que no es demasiado vago para aprender y no es demasiado estúpido para entender el código.

Planeando todo. Exponga todas sus ideas en papel y configure algún tipo de marco y / o calendario.

  • Averigua qué hace la aplicación,
  • ¿Por qué la gente lo descarga en lugar de otras aplicaciones de chat más populares?
  • ¿Para quién es tu aplicación?
  • A quién necesita en su equipo para crear este proyecto, etc.
  • Una lista de características que puede desear tener

La lista continúa, pero la planificación inicial y la concepción son importantes. Da una idea de la escala del proyecto y cuánto trabajo se necesita.