7
votes

Comment Node.Js participe-t-il à Mobile?

maintenant jours, je vis de commencer à apprendre à développer avec node.js.

J'espère que ma question est clairement - quand vous parlez de nœud.js et de mobile, que voulez-vous dire? Pour une application Web développée par Node.js et les utilisateurs viennent via le navigateur Web simple ou une application mobile pure (par exemple pour Android avec Java) et le nœud.js participe à ce processus (comment?).

Je l'ai posé parce que j'ai vu que LinkedIn a développé une application mobile basée sur Node.js, mais je n'ai pas compris où ils ont intégré le nœud.js - à l'application Web? application Android? application iOS? Pas clairement pour moi (mon hypothèse est l'application Web, mais je suis vraiment confus).

Merci.


0 commentaires

4 Réponses :


8
votes

NODEJS est un composant Back-end de serveur qui répond aux demandes de réseau de différentes sortes, mais les demandes HTTP les plus couramment. Dans le cas d'une application mobile, il peut être utilisé pour interface avec une base de données et interpréter des appels HTTP JSON, récupérer et / ou insérer des données et renvoyer les données JSON au client mobile.

Dans la plupart des cas, les clients Web iOS, Android et mobiles se connecteront à Nodejs sur http pour envoyer obtenir et Publier Demandes via une API de certaines variétés.

Il est également possible pour NODEJS d'interfacer avec les différents systèmes de notification push disponibles sur chaque plate-forme ou d'utiliser quelque chose comme socketio pour fournir réel- Time Communications entre client et serveur.


9 commentaires

Mais vous pouvez envoyer obtenir / POST Demandes avec un autre composant de back-end (par exemple PHP) et renvoyer les données JSON, alors quelles sont les différences? L'avantage des sockets est vraiment sympa, mais vous pouvez utiliser simplement les fonctions des sockets intégrées d'API Android, de nouveau - pourquoi utiliser node.js (et comment ça marche?)? Merci pour la réponse.


@Luis the "pourquoi" est quelque chose que vous devriez vraiment demander à l'équipe de LinkedIn, mais node.js présente des avantages en matière de connexions simultanées en raison de sa nature asynchrone, c'est-à-dire que, chaque thread de travailleur peut gérer plus de trafic que dans de nombreux cadres de blocage. Je pense que Tadman couvrait le bien sûr.


Un seul processus NodeJS peut généralement faire beaucoup plus d'un seul processus HTTPD HTTPD en raison des modèles de conception asynchrone utilisés en interne.


@tadman pourrais-je utiliser Nodejs avec Socketio comme Backend pour construire une application Android de chat?


@Zookey aucune raison pour laquelle vous ne pouvez pas. La grande chose à propos de Socketio et de WebSockets en général est le cadre utilisé à l'une des deux extrémités peu importe tant qu'ils parlent tous les deux le même protocole. Quelque chose de simple comme JSON ou JSON-RPC pour quand vous avez besoin de plus de contrôle fonctionne généralement mieux.


@tadman, je ne suis pas aussi familier avec node.js et socketo. Mais je suppose que j'enverrais une demande de téléphonie mobile à l'application Node.js Server, puis node.js communiquera avec Socketio et retourne des informations sur l'application?


Vous facilitez tout sur Socketio de l'initiation à la réponse. Socketio est plus résilient que les sites Web et peut revenir à d'autres méthodes si nécessaire, c'est donc idéal pour les applications mobiles.


Y a-t-il un exemple, tutoriel pour connecter l'application mobile à Socketio?


@Zookey the socket.io site a de nombreux exemples et je suis sûr que vous pouvez trouver des bibliothèques pour Android et iOS sans avoir à ressembler trop fort.



1
votes

Ils se réfèrent à nœud.js sur le serveur arrière-dernier.

Les exemples seraient:

  • une application de gestion de tâches avec un nœud.js Server Back-end pour stocker des tâches et des rendez-vous et poussez les Allerts.
  • Une application de chat avec un nœud.js Server Back-Fin à la route et fournissez des messages

0 commentaires

5
votes

Un article sur la manière dont LinkedIn utilise la technologie Node.js peut être trouvée ici:

http://ventureBeat.com/2011/08/16/linkedin-node/

La plus grande raison de l'utilisation de la technologie à LinkedIn était en raison de la vitesse et de l'utilisation de moins de ressources.

L'application est deux à 10 fois plus rapide sur le côté du client que son prédécesseur et du côté serveur, il utilise une fraction des ressources, grâce à un passage de Ruby sur Rails à Node.js


La nouvelle application mobile utilise probablement un peu de bit de sandboxer et de code d'application native.

"Il y a cette bataille entre les applications Web HTML5 et les applications natives. Mais nous avons interspéra HTML5 dans l'application native, où le contenu Web excelle. Les choses qui sont difficiles à faire dans HTML5 sont une liste infinie défilante, nous sommes donc originaires de cela. "

et

La manière dont notre application Web mobile fonctionne est que tout est rendu sur le côté du navigateur.

Quelques raisons de plus pour lesquelles LinkedIn choisissent le nœud:

La raison de BlockQuoteOne était une échelle. La seconde est, si vous regardez le nœud, la chose à faire est de parler à d'autres services.


J'espère que certains de cela aide à répondre à vos questions.


0 commentaires

5
votes

nœud.js (nœud) est un environnement d'E / S évolutif et entraîné par des événements construits sur le dessus de Google Chrome's JavaScript Runtime - essentiellement, une implémentation côté serveur de JavaScript. Google V8 compile réellement JavaScript dans le code de machine natif avant l'exécution, ce qui entraîne une performance d'exécution extrêmement rapide, ce qui n'est pas typiquement associé à JavaScript. En tant que tel, le nœud vous permet de créer rapidement des applications réseau rapides et hautement simultanées.

Qu'est-ce que cela signifie vraiment est que nœud.js n'est pas une nouvelle plate-forme Silver-Bullet qui dominera le monde du développement Web. à la place, c'est une plate-forme qui remplit un besoin particulier. et comprendre cela est absolument essentiel. Vous ne voulez certainement pas utiliser de nœud.js pour des opérations intensives de la CPU; En fait, l'utilisation de celui-ci pour un calcul lourd annulera presque tous ses avantages. Lorsque le nœud brille vraiment consiste à créer des applications réseau rapides et évolutives, car il est capable de gérer un grand nombre de connexions simultanées avec un débit élevé, ce qui équivaut à une évolutivité élevée.

Comment ça marche sous-the-hotropring est assez intéressant. comparé aux techniques de servir web traditionnelles où chaque connexion (demande) apparaît un nouveau fil, prenant le système RAM et éventuellement maxing-sortir à La quantité de RAM disponible, Node.js fonctionne sur un seul thread, à l'aide d'appels d'E / S non bloquants, ce qui lui permet de supporter des dizaines de support de milliers de connexions simultanées

Calcul rapide: En supposant que chaque thread ait potentiellement une optimisme de 2 Mo de mémoire avec elle, fonctionnant sur un système avec 8 Go de RAM nous met à un maximum théorique de 4000 connexions simultanentes, ainsi que le coût du changement de contexte entre fils. C'est le scénario que vous traitez généralement dans des techniques de serveurs Web traditionnelles. En évitant tout cela, nœud.js atteint des niveaux d'évolutivité de plus de 1 million de connexions simultanées

Continuer la lecture .. http: // www.toptal.com/nodejs/why-the-hell-would-i-utilisation-node-js

Les entreprises de qualité supérieure ont été invoquées sur Node.js pour leurs solutions mobiles.

LinkedIn est un utilisateur important. Leur pile mobile entière est construite sur node.js. Ils sont passés de 15 serveurs avec 15 instances sur chaque machine physique, à seulement 4 instances - qui peuvent gérer le double du trafic!

eBay lancé ql.io, une requête Web Langue pour API HTTP, qui utilise Node.js comme pile d'exécution. Ils ont pu accorder une station de travail Ubuntu régulière de qualité supérieure pour traiter plus de 120 000 connexions actives par nœud.js, chaque connexion consommant environ 2 Ko!

Walmart ré-congénitale Application mobile pour utiliser node.js et poussé son traitement JavaScript sur le serveur.

En savoir plus à: http : //www.pixelatingbits.com/a-clexer-look-at-mobile-app-Development-with-node-js/


3 commentaires

Le lien à la fin semble mort?


Je vois des déclarations similaires à votre Vous ne voulez certainement pas utiliser nœud.js pour les opérations intensives de la CPU . Comment les gens classent les opérations intensives de CPU ? Est-ce quand un script prend plus de temps que Big-o n ^ 2? Ou est-ce vraiment simplement analyser le temps d'exécution de chaque script et identifier le goulot d'étranglement?


De manière générale, tout ce qui n'est pas I / O, c'est la CPU. Et les E / S sont asynchrones dans Node.js, donc pas un problème. Par conséquent, nous sommes laissés avec tout sauf pour les E / S être coûteux.