vendredi 6 mars 2015

Créez des applications mobiles avec JavaScript et l'écosystème Node.js

Au cours des dernières années, Node.js a grandi pour devenir très populaire pour développer des applications Web. La principale raison à cela est qu'il permet aux développeurs front-end d'écrire du code côté serveur en utilisant JavaScript. Certains des avantages potentiels de ce sont des équipes de développement plus petits et les cycles de développement plus rapides, en partie parce qu'il ne est plus nécessaire de maintenir des équipes distinctes de back-end et les développeurs front-end.
Cependant, tout aussi important de la montée de Node.js a été l'écosystème qui se est développé autour d'elle et de son gestionnaire de paquets, la NGP. Actuellement il ya plus de 110 000 et de modules de comptage libres dans le respository NGP. Cela signifie que, dans de nombreux cas, les équipes de développement peuvent tirer parti de bibliothèques pré-construits pour les aider à développer leurs applications plus rapidement.

Créez des applications mobiles avec JavaScript et l'écosystème Node.js

Dans cet article, nous allons discuter de l'état actuel de mettre à Node.js mobiles, les avantages que Node.js apporterait sur mobile et une nouvelle solution, le potentiel de permettre le développement Node.js pour les applications mobiles.

What About Mobile Apps?

Que faire si vous voulez créer une version mobile de votre application web? Bien sûr, Node.js fonctionnera tout aussi bien pour la construction d'une application web réactif, mais, dans de nombreux cas, vous voudrez une application iOS, Android installables et potentiellement Windows qui peut tirer parti des marchés d'applications.

Aujourd'hui, vous pouvez y parvenir en gardant toute la logique métier de l'application sur le serveur. Dans ce cas, l'application mobile serait simplement l'interface utilisateur, écrite dans la langue maternelle ou en utilisant une solution hybride comme Cordova (aka PhoneGap). Cette interface utilisateur obtiendrait des données et effectuer la logique métier via des appels à une API côté serveur. Si application mobile nécessite des parties de la logique métier, il avait besoin d'être réécrite en Objective-C pour iOS et Java pour Android. Alors que Cordova offre une solution pour certains la réutilisation du code, il ne peut pas tirer parti de nœud ou de son écosystème directement.

Ce qui a gardé nœud de se exécuter sur mobile

Techniquement, vous pouvez exécuter nœud sur Android, mais pas iOS. Ce est parce que Node utilise JavaScript V8 le moteur de Google. Le moteur V8 compile JavaScript à un code natif avant de l'exécuter, un processus connu sous le nom Just-In-Time (JIT) la compilation. iOS ne permet pas JIT compilation moins que l'appareil est jailbreaké qui pourquoi applications de nœuds ne peuvent pas être déployés native sur iOS.

Bien évidemment, toute stratégie mobile qui ignore iOS est vouée à l'échec.
Pourquoi dois-je noeud sur Mobile?

Certains développeurs mobiles peuvent se demander pourquoi ils auraient besoin nœud dans le développement des applications mobiles. Ils pourraient dire qu'ils ont tout ce dont ils ont besoin dans des plates-formes comme le titane ou PhoneGap. Voici quelques raisons:

  • Node possède l'écosystème croissance la plus rapide avec bien plus de 110 000 modules libres JavaScript. Puiser dans cette ressource peut vous aider à développer des applications plus rapidement et plus efficacement.
  • Utilisez la même plate-forme pour développer votre serveur et les applications mobiles. Plusieurs fois votre application mobile auront une application correspondante basée sur un navigateur pour l'accès de bureau. Ayant une plate-forme et une base de code à la fois pour le navigateur et les applications mobiles peut rendre le processus de développement beaucoup plus efficace.

Le projet JXCore

Récemment, un projet nommé JXCore a annoncé qu'il sera désormais open source sous la licence MIT libérale. Une des caractéristiques clés de la récente libération était la capacité d'exécuter des applications Node.js sur mobile, à la fois Android et iOS, tout en tirant parti de l'écosystème et Node.js sur NGP.

Une des façons le projet atteigne ce est en soutenant une architecture multimoteur qui permet aux développeurs de choisir quel moteur JavaScript à utiliser, SpiderMonkey ou V8, en fonction de la plate-forme. Le principal avantage du moteur SpiderMonkey, dans ce cas, ce est qu'il peut être exécuté en mode interprète, qui est accepté sur les deux plates-formes iOS et Windows. Le résultat net est qu'il permet aux développeurs Node.js pour construire une application de nœud pour le serveur en utilisant le moteur V8 en mode JIT tout en déplaçant tout ou partie de leur logique métier de l'application mobile en utilisant SpiderMonkey.

Alors que le créateur du projet, Nubisa, dit que la version actuelle est toujours «en développement», il est actuellement disponible sur GitHub.

Quelle est la prochaine étape?

La capacité d'exécuter des applications de nœuds sur les appareils mobiles offre beaucoup de potentiel pour JavaScript et développeurs d'applications mobiles, ouvrant tout l'écosystème de nœud et de ses modules.

La capacité d'échanger moteurs JavaScript dans le noeud pourrait offrir d'autres possibilités fascinantes, comme ce qui rend possible d'ajouter d'autres moteurs. Cela pourrait permettre au potentiel de l'intégration d'un moteur JavaScript léger, comme Duktape par exemple, qui pourrait permettre le développement d'applications adaptées à l'internet des objets (IdO) en utilisant Node.

Ces possibilités font définitivement JXCore un projet intéressant à regarder pour voir comment il se développe.

Aucun commentaire:

Enregistrer un commentaire