Dans cet article, nous allons jeter un coup d'œil à NativeScript, un framework open source pour la création d'applications mobiles avec JavaScript. À la fin de l'article, vous devriez avoir une assez bonne idée de ce qu'est NativeScript, de son fonctionnement et des technologies qu'il utilise. En plus de cela, nous allons également répondre aux questions courantes que vous pourriez avoir lors de l'exploration d'une nouvelle technologie, telle que la différence de solutions alternatives telles que Cordova et React Native, et la manière dont Telerik est impliqué dans le projet..
NativeScript est un cadre permettant de créer des applications mobiles natives multiplates-formes. Il permet aux développeurs d'utiliser XML, CSS et JavaScript pour créer des applications pour Android, iOS et même la plate-forme universelle Windows. Contrairement à Cordova, qui utilise WebView pour restituer l'interface utilisateur de l'application, NativeScript utilise le moteur de rendu de la plate-forme native, ce qui signifie qu'il offre une expérience utilisateur réellement native..
NativeScript est composé d'une machine virtuelle JavaScript, d'un runtime et d'un module de pont. La machine virtuelle JavaScript interprète et exécute le code JavaScript. Ensuite, le module de pont convertit les appels en appels d’API spécifiques à la plate-forme et renvoie le résultat à l’appelant. Pour le dire simplement, NativeScript offre aux développeurs un moyen de commander la plate-forme native via JavaScript au lieu d'Objective-C sur iOS ou de Java sur Android.
Bien sûr, il se passe beaucoup plus dans les coulisses, mais les développeurs de Telerik l'expliquent mieux que moi. Si vous souhaitez en savoir plus sur le fonctionnement interne de NativeScript, vous pouvez lire l'article de Georgi Atanasov sur NativeScript - une présentation technique ou un article de TJ VanToll sur le fonctionnement de NativeScript.
Avec NativeScript, vous utilisez XML pour décrire l'interface utilisateur de l'application, CSS pour le style et JavaScript pour ajouter des fonctionnalités..
Vous pouvez utiliser TypeScript avec Angular 2 si vous préférez utiliser un cadre pour la création de votre code JavaScript..
Pour le style, NativeScript utilise uniquement un sous-ensemble de CSS. Cela signifie que toutes les fonctionnalités CSS disponibles dans un environnement de navigateur ne peuvent pas être utilisées. Par exemple, vous ne pouvez pas utiliser d'attributs float ou de position. Voici la liste complète des propriétés CSS prises en charge. Tout comme dans le navigateur, vous pouvez ajouter des styles qui s'appliquent à l'ensemble de l'application, à des pages spécifiques ou à un composant de l'interface utilisateur uniquement. Si vous préférez utiliser Sass, vous pouvez installer le plug-in NativeScript Dev Sass.
Pour décrire la structure de l'interface utilisateur, vous utilisez XML. Chaque page de l'application doit être dans son propre fichier XML. NativeScript est livré avec des widgets ou des composants d'interface utilisateur prédéfinis que vous pouvez utiliser pour créer l'interface utilisateur de l'application. Certains de ces composants sont similaires aux différents éléments HTML que vous utilisez dans le navigateur..
Par exemple, il y a un Image
composant, qui est l'équivalent de la img
élément, ou le Champ de texte
composant, qui est équivalent à la contribution
élément avec un type de texte. Les gestionnaires d'événements, tels que le fait d'appuyer sur un bouton, sont ajoutés au composant lui-même. Voici un exemple:
exports.doQuelque chose = function () // faire quelque chose
Une autre chose à noter est que les composants servent également de modèles. Si vous connaissez les bibliothèques de modèles telles que Handlebars ou Moustache, vous devriez être à l'aise avec la syntaxe suivante:
L'exemple ci-dessus utilise le ListView
composant. Comme son nom l'indique, ce composant vous permet de créer des listes. animaux
est un tableau défini dans le fichier JavaScript et est lié à la animaux
variable au chargement de la page. Cela rend le animaux
variable disponible pour utilisation dans le fichier XML.
var animaux = ['panda', 'tigre', 'singe', 'serpent', 'mante']; fonction pageLoaded (args) var page = args.object; page.bindingContext = animaux: animaux
Ceci produit chaque élément du tableau à l'intérieur du ListView
.
Enfin, il existe des plug-ins qui vous permettent d'accéder au matériel du périphérique et aux fonctionnalités spécifiques à la plate-forme. NativeScript est livré avec un plugin de caméra pré-installé. Cela vous permet d'accéder à la caméra de l'appareil et de prendre des photos. Vous pouvez ensuite enregistrer le chemin d'accès local à la photo dans votre application pour une utilisation ultérieure. Des fonctionnalités spécifiques à la plate-forme telles que le partage social peuvent également être utilisées en installant des plugins tels que le plug-in NativeScript Social Share.
En raison de la nature native de NativeScript, vous pouvez créer presque tout type d'application avec ce dernier. Voici quelques exemples d'applications que vous pouvez créer avec NativeScript:
En ce qui concerne les types d'applications que vous pouvez créer avec NativeScript, les seuls facteurs limitants sont les performances et la disponibilité du plugin. L'écriture d'applications mobiles natives en JavaScript a un prix: vous ne pouvez pas vous attendre à créer des applications qui exigent des performances élevées. Les exemples incluent des jeux avec des graphismes et des animations complexes, des applications avec beaucoup de pièces mobiles et des processus en arrière-plan.
Une autre limitation est la disponibilité du plugin. La plupart des développeurs utilisent NativeScript à partir d'un environnement de développement Web. Cela signifie que la plupart d'entre eux ne connaissent pas ou ont une connaissance limitée des API de la plate-forme native qui pourraient être utilisées pour créer des plug-ins permettant d'accéder au matériel du périphérique ou à des fonctionnalités spécifiques à la plate-forme, telles que les contacts ou la messagerie.
Si vous souhaitez en savoir plus sur les types d'applications que vous pouvez créer avec NativeScript, vous pouvez consulter la page Vitrines d'applications. La plupart des applications qui y sont répertoriées sont publiées à la fois sur le Google Play Store et sur l'Apple Store. Cela signifie que vous pouvez l'installer et l'exécuter sur votre appareil pour avoir une idée de ce à quoi ressemblent les applications créées avec NativeScript et de leurs performances..
Si vous n'êtes pas nouveau dans le développement d'applications mobiles hybrides, vous avez peut-être rencontré des infrastructures telles que Cordova et React Native. NativeScript est lié à ces deux frameworks en ce qu'ils visent tous les deux à résoudre le problème "Ecrire une fois, courir partout" dans le domaine du développement d'applications mobiles. Examinons maintenant chaque framework côte à côte:
Cordoue | Réagir Natif | NativeScript | |
---|---|---|---|
Créateur | Nitobi; Plus tard acheté par Adobe Systems | Telerik | |
UI | HTML | Les composants de l'interface utilisateur sont traduits en leurs homologues natifs | Les composants de l'interface utilisateur sont traduits en leurs homologues natifs |
Peut tester sur | Navigateur, émulateur, périphérique | Emulateur, appareil | Emulateur, appareil |
Code avec | HTML, CSS, JavaScript | Composants d'interface utilisateur, JavaScript, sous-ensemble de CSS | Composants d'interface utilisateur, sous-ensemble de CSS, JavaScript |
Accès aux fonctionnalités natives | À travers des plugins | Modules natifs | Accès aux API natives via JavaScript |
Se déploie pour | Android, iOS, Ubuntu, Windows, OS X, Blackberry 10 | Android et iOS. Windows Universal et Samsung Tizen bientôt | Android et iOS. Windows Universal bientôt disponible |
Bibliothèques et framework JavaScript | Toute bibliothèque ou infrastructure frontale (par exemple, Angular, Ember) | Toute bibliothèque qui ne dépend pas du navigateur | Toute bibliothèque qui ne dépend pas du navigateur |
Modèle de codage | Tout framework frontal peut être utilisé pour structurer le code | Le balisage de l'interface utilisateur, JavaScript et CSS sont tous regroupés dans un seul fichier par défaut | Modèle MVVM / MVC |
Comment le code JavaScript est exécuté | WebView | JavaScriptCore Engine pour exécuter du code d'application sur Android et iOS | Moteur Webkit JavaScriptCore pour exécuter le code d'application sur iOS et le moteur JavaScript V8 de Google sur Android |
Pour résumer, Cordova est l'ancienne génération de frameworks d'applications hybrides. Il utilise WebView pour rendre l'interface utilisateur de l'application et accède aux fonctionnalités de l'appareil natif au moyen de plug-ins. React Native et NativeScript constituent la nouvelle génération, car ils traduisent votre code JavaScript afin qu'il puisse être exécuté par la plate-forme native..
Quelqu'un pourrait proposer un meilleur nom pour des frameworks tels que React Native et NativeScript à l'avenir. Mais pour le moment, classons-les en tant que "Frameworks hybrides natifs", car ils utilisent tous deux JavaScript pour créer des applications et offrent tous deux une expérience et des performances similaires à celles des logiciels natifs..
Telerik est la société qui a créé NativeScript. Et, comme toute autre entreprise, elles ont besoin de gagner de l'argent pour survivre. Donc, vous pourriez vous demander, si NativeScript est gratuit et open source, comment Telerik gagne-t-il de l'argent? Eh bien, la réponse se fait par la plate-forme Telerik et l'interface utilisateur Telerik pour NativeScript.
La plate-forme Telerik fournit aux développeurs les outils nécessaires pour concevoir, créer, tester, déployer, gérer et mesurer facilement les performances des applications NativeScript. Voici quelques exemples des outils qu’ils offrent:
UI Telerik pour NativeScript est un ensemble de composants permettant de construire l’UI de l’application. NativeScript est déjà livré avec des composants d'interface utilisateur gratuits, mais il existe également des composants d'interface utilisateur payants, tels que le graphique et le calendrier, que vous ne pouvez utiliser que lorsque vous les achetez à Telerik..
Si vous souhaitez en savoir plus sur NativeScript, je vous recommande de consulter les ressources suivantes:
Dans cet article, vous avez appris les bases de NativeScript. Comme vous l'avez vu, NativeScript est une bonne option pour créer des applications mobiles en utilisant les compétences que vous avez déjà en tant que développeur Web. J'espère que cet article vous a fourni les connaissances nécessaires pour vous aider à décider si NativeScript vous convient.