Comme un projet, je veux créer une application de messagerie mobile, semblable au Kik ou WhatsApp. J’ai très peu d’expérience codage, alors où devrais-je commencer?

La mesure de mon expérience : je suis 40 % fait avec cours de Python de Codecademy. Je sais aussi que certains HTML de base.

Si pertinent, j’ai 32 ans et ont un emploi à temps plein (et famille) - pour la plupart de mon codage se fait pendant la nuit et sur les pauses-repas.

Réponse

Une application de messagerie « vrai » mobile nécessite beaucoup plus que les seuls de langage de programmation. La plupart sont sur la configuration des serveurs (avec un « s », plus que probablement vous allez exécuter plus de 1 serveur), latence, upwork, ports, douilles, client-serveur de stockage, cache, gestionnaires d’interruptions de service.

L’application de messagerie simple elle-même peut être faite avec simples cadres JS comme MeteorJS ou NodeJS.

Voici quelques réflexions au sujet de WhatsApp lui-même :

  1. WhatsApp n’a pas conserver l’historique des chats de l’utilisateur, sur leur propre serveur. Cette façon WhatsApp peut réduire le coût du serveur.
  2. WhatsApp ne doit pas s’embêter sur la synchronisation de l’histoire de chat. Parce qu’il ne peut un seul client de WhatsApp par utilisateur et un à la fois qui stockent (supposément) leur propre histoire de chat. Pas besoin de synchronisation entre les périphériques.
  3. Pour leur backend : dès le début, il est bien connu qu’ils utilisent FreeBSD et Erlang. Ne sais pas si c’est vrai maintenant.
  4. Ils ont aussi (soi-disant, à partir de leur client web) :
    1. Réagir.js : un utilisateur JAVASCRIPT LIBRARY pour construire des INTERFACES de Facebook.
    2. Underscore.js : trait de soulignement est une bibliothèque JavaScript qui fournit un gâchis des assistants de programmation fonctionnelles utiles sans s’étendre à tous les objets intégrés. C’est la réponse à la question: "Si je s’asseoir en face d’une page HTML vide et veulent commencer immédiatement à être productif, que me faut-il?"... et la cravate pour aller avec tux de jQuery et des bretelles de la colonne vertébrale.
    3. Velocity.js : la vitesse est un moteur d’animation avec la même API que $.animate() de jQuery. Il fonctionne avec ou sans jQuery. Il est incroyablement rapide, et il dispose d’animation couleur, transformations, boucles, détentes, support SVG et défilement. C’est le meilleur de jQuery et transitions CSS combinées.

Ce sont les pièces principales. Ils ont utilisé les websockets sécurisées pour la communication avec votre téléphone par là serveur. Je me demande pourquoi ils n’utilisent pas dataChannel de webrtc il?  Hmmm comme j’ai poser que cette question réponse est devenu claire, parce que seul android qui aurait appuyé.

Ils utilisent l’API de système de fichiers de Chrome qui rend leur application Chrome spécifique. Dans ce cas même les canaux de données pourraient ont été utilisés, car il réfute l’argument précédent. Je pense que la raison de ne pas utiliser le canal de données WebRtc basé est d’éviter la difficulté d’établir la connexion initiale, les websockets résolvent en mettant un serveur entre les deux.

Ils semblent utiliser des principes de conception de matériel de Google.

Ils ont une forme modifiée de XMPP présent dans il chat protocole et ils sont la transmission strophes quel téléphone il reçoit pour le service webclient. Donc, pour le téléphone de webclient devrait être mis sur l’utilisation et travail. Et toutes les communications qui se passe sur webclient irait en fait via votre téléphone. Ainsi, webclient est juste un proxy d’interface utilisateur pour votre téléphone.

En quoi ce moyen?

  • Transfert de données plus au téléphone. Vérifier l’utilisation de vos données.
  • Consommation de la batterie plus en raison du transfert de données.

Si le client web de whatsapp facilite notre vie, il arrive à un coût.


Tags: Apprendre à programme, Programmation informatique, Applications mobiles, Codecademy, Kik Messenger, Instant Messaging (IM), WhatsApp