Comment construire un backend pour NativeScript ?
Dans ce tutoriel, vous apprendrez comment construire un backend pour NativeScript en utilisant Back4app, une plateforme open source qui simplifie le développement backend pour les applications mobiles.
Nous allons passer en revue l'intégration des fonctionnalités essentielles de Back4app—comme la gestion de base de données, les fonctions Cloud Code, les points de terminaison API REST et GraphQL, l'authentification des utilisateurs et les requêtes en temps réel (Live Queries)—pour créer un backend sécurisé et évolutif pour vos applications NativeScript.
Vous découvrirez également comment Back4app réduit considérablement le temps de configuration par rapport aux configurations manuelles de serveur et de base de données.
Nous explorerons des mécanismes de sécurité avancés, la planification de tâches avec Cloud Jobs, et l'utilisation de webhooks pour se connecter à des services tiers.
À la fin de ce guide, vous disposerez d'un backend flexible qui tire parti de NativeScript Core, qui alimente les solutions mobiles multiplateformes de NativeScript.
Avec cette base, vous serez prêt à intégrer votre propre logique personnalisée ou des API externes selon vos besoins. Cela sera une étape majeure vers le développement d'applications NativeScript prêtes pour la production.
- Un compte Back4app et un nouveau projet Back4app Commencer avec Back4app. Si vous n'avez pas de compte, vous pouvez en créer un gratuitement. Suivez le guide ci-dessus pour préparer votre projet.
- Environnement de développement NativeScript de base Vous pouvez le configurer en utilisant le CLI NativeScript ou un autre flux de travail préféré. Guide de démarrage de NativeScript.
- Node.js (version 14 ou supérieure) installé Vous aurez besoin de Node.js pour installer des paquets npm et exécuter le CLI NativeScript. Installer Node.js
- Familiarité avec JavaScript et NativeScript Core Documentation officielle de NativeScript. Si vous êtes nouveau dans NativeScript, consultez la documentation officielle ou un tutoriel pour débutants avant de commencer.
Assurez-vous d'avoir tous ces prérequis en place avant de commencer. Avoir votre projet Back4app configuré et votre environnement local NativeScript prêt vous aidera à suivre plus facilement.
La première étape pour construire votre backend NativeScript sur Back4app consiste à créer un nouveau projet. Si ce n'est pas déjà fait, suivez ces étapes :
- Connectez-vous à votre compte Back4app.
- Cliquez sur le bouton “Nouvelle application” dans votre tableau de bord Back4app.
- Donnez un nom à votre application (par exemple, “NativeScript-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Après avoir créé le projet, vous le verrez listé dans votre tableau de bord Back4app. Ce projet servira de base pour toutes les configurations backend couvertes dans ce tutoriel.
Back4app utilise la plateforme Parse pour gérer vos données, la fonctionnalité en temps réel, l'authentification des utilisateurs, et plus encore. Pour connecter votre application NativeScript à Back4app, installez le package npm parse et initialisez-le avec les identifiants que vous obtenez de votre tableau de bord Back4app.
Récupérez vos clés Parse: Dans votre tableau de bord Back4app, allez dans la section “Paramètres de l'application” ou “Sécurité & Clés” de votre application. Recherchez votre ID d'application, Clé JavaScript, et URL du serveur Parse (au format https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Installer le SDK Parse:
Ensuite, initialisez Parse dans un fichier de configuration ou votre fichier d'entrée principal (par exemple, app.js). Par exemple, vous pourriez créer un fichier nommé parseConfig.js dans un projet basé sur NativeScript :
Chaque fois que vous avez besoin d'accéder à Parse dans votre application NativeScript, importez simplement ce fichier. En complétant cette étape, vous avez établi une connexion sécurisée entre votre frontend NativeScript et le backend Back4app, simplifiant les opérations de données.
Avec votre projet Back4app prêt et le SDK Parse intégré, vous pouvez sauvegarder et interroger des données depuis votre application NativeScript. Voici un exemple utilisant la classe Parse.Object pour sauvegarder et récupérer une liste d'éléments :
Vous pouvez également utiliser l'API REST de Back4app si vous préférez des appels HTTP directs :
Ou utilisez GraphQL :
Cette flexibilité rend pratique la création de fonctionnalités backend pour vos applications NativeScript via le SDK Parse, les points de terminaison REST ou GraphQL.
Par défaut, Parse peut automatiquement créer un schéma à la volée, ou vous pouvez définir vos classes et types de données dans le tableau de bord Back4app :
- Allez à la section “Base de données” dans votre tableau de bord Back4app.
- Créez une nouvelle classe (par exemple, “Tâche”) et ajoutez des colonnes comme titre (String) et isCompleted (Boolean).
![Créer une nouvelle classe Créer une nouvelle classe](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4app prend en charge des types de données comme String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, et Polygon. Vous pouvez soit laisser Parse créer ces colonnes lorsque vous enregistrez un objet pour la première fois, soit les définir pour plus de contrôle.
![Créer une colonne Créer une colonne](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
Utiliser l'agent AI de Back4app peut également vous aider à générer automatiquement des schémas :
- Ouvrez l'agent AI dans votre tableau de bord d'application.
- Décrivez votre modèle de données souhaité (par exemple, “Veuillez créer une nouvelle classe Task pour les applications mobiles avec les champs isCompleted et dueDate.”).
- Laissez l'agent créer le schéma automatiquement.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Si vous voulez des données relationnelles—comme un objet Catégorie qui pointe vers plusieurs éléments Task—utilisez des Pointeurs ou des Relations dans Parse :
Cette approche vous aide à récupérer des données complètes pour une Tâche et sa Catégorie associée en une seule requête.
Pour des mises à jour en temps réel, activez les Requêtes en direct dans les Paramètres du serveur dans le tableau de bord de Back4app. Les développeurs NativeScript peuvent s'abonner aux changements dans une classe spécifique. Mettez à jour votre configuration Parse pour inclure une URL de serveur de requête en direct :
Et ensuite abonnez-vous aux événements en temps réel :
Cette souscription met automatiquement à jour votre interface utilisateur chaque fois qu'une Tâche est ajoutée, modifiée ou supprimée—parfait pour des applications NativeScript collaboratives en direct.
Back4app incorpore des Listes de Contrôle d'Accès (ACL) et des Permissions au Niveau de la Classe (CLP) pour protéger vos données. Ces modèles de sécurité vous permettent de contrôler l'accès en lecture/écriture à la fois au niveau de la classe et de l'objet.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Une ACL définit les permissions pour chaque objet. Par exemple, pour donner uniquement au propriétaire un accès en lecture et en écriture :
Cela garantit que seul l'utilisateur spécifié peut modifier ou lire l'objet.
![Modifier l'ACL Modifier l'ACL](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/3YNfxEcv7CKdLC6ca8my6_image.png?format=webp)
Les CLPs définissent les permissions par défaut pour toute une classe :
- Ouvrir la Base de Données dans Back4app et sélectionner la classe pertinente.
- Accéder aux Permissions au Niveau de la Classe onglet.
- Ajuster les permissions pour le public, les utilisateurs authentifiés ou des rôles spécifiques selon les besoins.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
La combinaison des ACL et des CLPs offre un modèle de sécurité solide pour les applications NativeScript. Pour plus d'infos, voir Directives de Sécurité de l'Application.
Le Code Cloud vous permet d'exécuter du code JavaScript personnalisé côté serveur, vous n'avez donc pas besoin de maintenir l'infrastructure vous-même. C'est idéal pour ajouter une logique avancée ou des intégrations réservées au serveur dans votre backend NativeScript.
Vous placez généralement votre code Cloud (fonctions JavaScript, déclencheurs et tous les modules NPM requis) dans un main.js fichier. Ensuite, vous le déployez sur Back4app, et il s'exécute dans l'environnement du serveur Parse sans configuration supplémentaire du serveur.
Exemple de structure main.js:
Vous pouvez installer et utiliser des packages NPM comme axios pour les requêtes HTTP. Cette approche permet une large gamme d'intégrations, des passerelles de paiement aux API externes, le tout derrière la sécurité de votre application Back4app.
- Logique métier: Calculs automatiques, transformations de données ou mises à jour de statut.
- Validations de données: Assurez-vous que les champs requis sont présents avant de sauvegarder.
- Déclencheurs: Exécutez du code lorsque des données sont créées, mises à jour ou supprimées.
- Intégrations: Connectez-vous à des services externes pour les paiements, l'analyse ou la messagerie.
- Application de la sécurité: Validez les données entrantes ou les rôles des utilisateurs avant de continuer.
Voici une fonction simple qui calcule la longueur du texte :
Déploiement via Back4app CLI:
- Installer le CLI:
Pour Windows, téléchargez le b4a.exe fichier depuis la page des versions.
- Configurer votre clé de compte:
- Déployez votre code cloud:
Déploiement via le tableau de bord:
- Allez à Cloud Code > Functions dans votre tableau de bord.
- Collez votre code de fonction dans main.js.
- Cliquez sur Déployer.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/pGxBQFBhk4prMc8Ub-uho_image.png?format=webp)
Depuis votre application NativeScript utilisant le SDK Parse :
Vous pouvez également l'appeler en utilisant REST ou GraphQL :
Cela vous donne un moyen flexible d'intégrer la logique côté serveur dans vos applications mobiles basées sur NativeScript.
Back4app utilise la classe Parse User pour gérer l'authentification, ce qui inclut le hachage des mots de passe, les jetons de session, et plus encore. Cela élimine une grande partie de la complexité associée à la gestion des comptes utilisateurs.
Dans votre application NativeScript, vous pouvez créer un nouvel utilisateur :
Un exemple REST pourrait ressembler à :
Après s'être connecté, Parse attribue un jeton de session à l'utilisateur. Pour vérifier l'utilisateur actuellement connecté :
Se déconnecter est simple :
Parse s'intègre également avec des fournisseurs OAuth comme Google ou Facebook. La configuration varie selon le fournisseur, donc consultez Se connecter avec Apple et d'autres pour plus de détails. Par exemple, avec Facebook :
Activez ces fonctionnalités dans votre tableau de bord Back4app :
- Accédez aux paramètres de l'email dans votre application Back4app.
- Activez la vérification par email et la réinitialisation du mot de passe.
- Configurez vos modèles d'email et l'adresse « De ».
Back4app prend en charge la gestion des fichiers via la Parse.File classe. Dans NativeScript, vous pouvez télécharger des images ou des documents de manière similaire :
Vous pouvez récupérer l'URL du fichier à partir de l'objet enregistré :
Parse Server vous permet de configurer la sécurité du téléchargement de fichiers :
Cela vous permet de limiter ou d'autoriser les téléchargements de fichiers en fonction de vos préférences de sécurité.
Emplois Cloud vous aident à automatiser des tâches routinières, comme la suppression d'enregistrements obsolètes ou l'envoi de notifications. Par exemple :
- Déployez ce travail via CLI ou le tableau de bord.
- Dans le Tableau de bord Back4app > Paramètres du serveur > Emplois en arrière-plan, planifiez-le pour qu'il s'exécute quotidiennement ou à un intervalle de votre choix.
![Planification d'un emploi Cloud Planification d'un emploi Cloud](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Les Webhooks vous permettent d'envoyer des requêtes HTTP à des services externes lorsque certains événements se produisent dans votre application, comme de nouveaux enregistrements ou des inscriptions d'utilisateurs. Cela peut être utilisé pour s'intégrer à Slack, des passerelles de paiement ou des plateformes d'analyse.
- Allez à la configuration des Webhooks dans votre tableau de bord Back4app et sélectionnez Ajouter un Webhook.
- Ajoutez votre point de terminaison URL (par exemple, https://your-service.com/webhook).
- Configurez les déclencheurs pour des classes ou des événements spécifiques.
![Ajout d'un Webhook Ajout d'un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Vous pouvez également définir des webhooks dans le code Cloud ou appeler des API externes directement dans des déclencheurs comme beforeSave ou afterSave.
![Avant de sauvegarder le WebHook Avant de sauvegarder le WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
L' Application d'administration Back4app est une interface centrée sur le modèle, conviviale pour la gestion des données. Elle aide les équipes ou les utilisateurs non techniques à effectuer des opérations CRUD, à créer des tableaux de bord personnalisés et à gérer des tâches de niveau entreprise sans écrire de code.
- Dans votre Tableau de bord de l'application, cliquez sur Plus > Application d'administration.
- Activer l'application d'administration.
![Activer l'application d'administration Activer l'application d'administration](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Créez un premier utilisateur administrateur (nom d'utilisateur/mot de passe). Cette configuration ajoute le rôle B4aAdminUser et les classes associées (B4aSetting, B4aMenuItem, etc.) à votre schéma.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
Choisissez un sous-domaine, puis connectez-vous avec vos nouvelles informations d'identification administratives :
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/_2b71RLDTlQW468017saY_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Ce portail permet une manipulation rapide des données sans quitter une interface graphique—une excellente solution pour collaborer avec des membres de l'équipe qui pourraient ne pas être familiers avec le codage.
En suivant ce guide, vous avez appris comment construire un backend pour NativeScript en utilisant Back4app et:
- Créé un backend sécurisé pour vos applications NativeScript.
- Configuré une base de données avec des classes, des schémas et des relations.
- Implémenté des requêtes en temps réel pour des mises à jour en direct.
- Sécurisé vos données avec des ACL et des CLP.
- Étendu la fonctionnalité avec Cloud Code.
- Mis en place l'authentification pour l'inscription des utilisateurs, la connexion et les jetons de session.
- Géré les téléchargements de fichiers et la récupération via Parse File.
- Planifié des Cloud Jobs pour des tâches automatisées et périodiques.
- Créé des Webhooks pour des intégrations tierces.
- Utilisé le panneau d'administration Back4app pour une gestion des données sans code.
Ces étapes forment une base solide pour construire des applications mobiles open source et multiplateformes avec NativeScript Core. Continuez à explorer des fonctionnalités avancées, incorporez plus de points de terminaison API ou intégrez votre propre logique personnalisée pour adapter le backend aux besoins exacts de votre application.
- Évoluez vos applications NativeScript en optimisant les performances, le caching et les règles de sécurité.
- Explorez la gestion avancée des utilisateurs comme les permissions basées sur les rôles.
- Consultez la documentation officielle de Back4app pour des guides approfondis sur la sécurité, les journaux et les performances.
- Expérimentez avec des intégrations du monde réel telles que les paiements ou les outils d'analyse.
Bon codage, et profitez du flux de développement simplifié que Back4app fournit!
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)