Quickstarters
Feature Overview
How to Build a Backend for iOS?
40 min
introduction dans ce tutoriel, vous apprendrez comment construire un backend pour ios en utilisant back4app https //www back4app com nous allons passer en revue l'intégration des fonctionnalités essentielles de back4app—telles que la gestion de base de données, les fonctions cloud, les api rest et graphql, l'authentification des utilisateurs, le stockage de fichiers et les requêtes en temps réel (live queries)—pour créer un backend sécurisé, évolutif et robuste pour votre application ios les offres de backend en tant que service de back4app aident à réduire la complexité de la mise en place d'une infrastructure côté serveur tout en accélérant le développement vous pouvez stocker des données dans un format flexible de style base de données nosql, gérer des comptes utilisateurs, ajouter des notifications push , et appliquer des contrôles d'accès avancés en une fraction du temps qu'il faudrait pour construire une solution personnalisée cela signifie que vous pouvez vous concentrer sur l'amélioration de l' expérience utilisateur et sur la mise en œuvre des fonctionnalités principales, plutôt que de vous soucier de la maintenance du serveur ou de la provision à la fin de ce tutoriel, vous disposerez d'un backend prêt à l'emploi qui peut être adapté à des scénarios réels, évolué pour accueillir un trafic accru, et étendu avec une logique plus complexe ou des services tiers vous serez en mesure de fournir un backend fiable pour votre application ios, d'accélérer votre processus de développement , et d'améliorer votre interface utilisateur globale avec moins d'efforts conditions préalables pour compléter ce tutoriel, vous aurez besoin de un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app 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 ios de base vous pouvez développer avec xcode (version 13 0 ou supérieure) installer xcode https //developer apple com/xcode/ swift package manager ou cocoapods pour ajouter parse swift suivez les instructions github de parse swift https //github com/netreconlab/parse swift pour les détails d'installation familiarité avec swift et les concepts ios documentation swift d’apple https //docs swift org/swift book/ si vous êtes nouveau dans swift ou ios, consultez la documentation officielle ou un tutoriel ios de base avant de commencer avoir un environnement ios fonctionnel avec xcode, ainsi que votre compte back4app gratuit, vous aidera à suivre plus facilement étape 1 – création d'un nouveau projet sur back4app et connexion pourquoi créer un nouveau projet ? un nouveau projet back4app constitue la base de votre développement backend pour ios il fournit tous les outils dont vous avez besoin base de données, api, authentification, fonctions cloud – pour construire un backend rapidement et en toute sécurité guide étape par étape connectez vous à votre compte back4app créez une nouvelle application en cliquant sur “nouvelle application” sur votre tableau de bord back4app donnez un nom à votre application (par exemple, “ios backend demo”) une fois créé, votre nouveau projet apparaîtra dans votre tableau de bord back4app installation du sdk parse swift et configuration des clés back4app repose sur la plateforme parse en arrière plan pour ios, utilisez le sdk parse swift 1\ récupérez vos clés parse dans le tableau de bord back4app, allez dans « paramètres de l'application » ou « sécurité et clés » pour trouver id d'application clé client (ou clé swift si applicable) url du serveur (souvent https //parseapi back4app com ) 2\ ajoutez le sdk parse swift si vous utilisez swift package manager // in package swift or xcode's swift packages package( url "https //github com/netreconlab/parse swift git", from "5 0 0" ) si vous utilisez cocoapods , ajoutez dans votre podfile pod 'parseswiftog' ensuite, exécutez pod install 3\ initialiser parse à l'intérieur de votre appdelegate swift (ou fichier principal de l'application swiftui), appelez parseswift initialize( ) avec vos identifiants import swiftui import parseswift @main struct myapp app { init() { do { try await parseswift initialize( applicationid "your app id", clientkey "your client key", // optional serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\\\(error)") } } var body some scene { windowgroup { contentview() } } } félicitations ! votre application ios est maintenant connectée à back4app, et chaque demande ou transaction de données passera automatiquement par parse swift étape 2 – configuration de la base de données 1\ création d'un modèle de données back4app utilise une approche de schéma où chaque classe/table peut être gérée depuis le tableau de bord supposons que nous souhaitions créer une classe todo allez dans “base de données” dans votre console back4app cliquez sur “créer une nouvelle classe” , nommez la todo , et ajoutez des colonnes comme title (string) et iscompleted (boolean) 2\ création d'un modèle de données avec l'agent ia l'agent ia de back4app peut accélérer la conception de votre schéma ouvrez l'agent ia dans votre tableau de bord décrivez votre modèle de données en langage simple (par exemple, “créez une nouvelle classe todo avec des champs title et iscompleted”) laissez l'ia construire le schéma pour vous automatiquement 3\ lecture et écriture de données en utilisant le sdk swift avec parse swift , définissez votre structure de données dans le code par exemple import parseswift struct todo parseobject { // parseobject protocol var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom properties var title string? var iscompleted bool? } // saving func createtodoitem(title string, iscompleted bool) async { var todo = todo() todo title = title todo iscompleted = iscompleted do { let saved = try await todo save() print("saved objectid \\\\(saved objectid ?? "")") } catch { print("error saving \\\\(error)") } } // querying func fetchtodos() async { do { let todos = try await todo query() find() print("fetched \\\\(todos count) todos") } catch { print("error fetching \\\\(error)") } } 4\ lecture et écriture de données en utilisant l'api rest alternativement, vous pouvez utiliser des appels rest par exemple, pour créer une todo curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ lecture et écriture de données en utilisant l'api graphql back4app inclut également le support de graphql voici un exemple de mutation mutation { createtodo(input { fields { title "clean house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ travailler avec des requêtes en direct (optionnel) back4app prend en charge les mises à jour en temps réel via des requêtes en direct pour swift let subscription = try? todo query("iscompleted" == false) subscribe() subscription? handleevent({ event in switch event { case created(let newtodo) print("new todo created \\\\(newtodo)") case updated(let updatedtodo) print("todo updated \\\\(updatedtodo)") default break } }) étape 3 – application de la sécurité avec les acl et les clp 1\ vue d'ensemble listes de contrôle d'accès https //www back4app com/docs/security/parse security (acl) contrôlent les permissions par objet, tandis que les permissions de niveau de classe (clp) définissent des valeurs par défaut pour l'ensemble des classes 2\ étapes permissions de niveau de classe dans le tableau de bord back4app, ouvrez une classe (par exemple, todo ), puis cliquez sur l'onglet “sécurité” vous pouvez restreindre la lecture/écriture uniquement aux utilisateurs ou rôles authentifiés acl dans le code lorsque vous enregistrez un parseobject, vous pouvez assigner un acl ajustez ces paramètres pour vous assurer que vos données ne sont accessibles que par les bons utilisateurs étape 4 – écriture de fonctions cloud code 1\ pourquoi le cloud code ? le code cloud est votre meilleur ami pour ajouter de la logique côté serveur à votre application ios vous pouvez garder la logique ou les validations sensibles à l'écart du client, intégrer des api externes et exécuter des tâches en arrière plan sur le serveur 2\ exemple de fonction créez un main js fichier localement (ou dans l'éditeur en ligne) avec une fonction parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); 3\ déploiement utilisez le back4app cli https //www back4app com/docs/local development/parse cli ou l'éditeur cloud code > fonctions dans le tableau de bord installez le cli configurez votre clé de compte déployez 4\ appeler le cloud code depuis ios task { do { if let result = try await parsecloud callfunction("calculatetextlength", with \["text" "hello back4app"]) as? \[string int] { print("text length \\\\(result\["length"] ?? 0)") } } catch { print("cloud code error \\\\(error)") } } 5\ utilisation des modules npm dans votre package json (dans le cloud code), listez vos dépendances ensuite, dans main js const axios = require('axios'); parse cloud define("fetchposts", async () => { // use axios here }); étape 5 – configuration de l'authentification 1\ activer l'authentification des utilisateurs dans votre tableau de bord back4app, la user classe est déjà fournie vous pouvez définir la vérification par e mail, les réinitialisations de mot de passe, et plus encore 2\ exemples de code ios s'inscrire se connecter 3\ connexion sociale vous pouvez intégrer des connexions sociales (google, apple, facebook) avec parse swift consultez la documentation sur la connexion sociale https //www back4app com/docs/platform/sign in with apple pour des instructions détaillées étape 6 – gestion du stockage de fichiers 1\ configuration du stockage de fichiers téléchargez et récupérez des fichiers tels que des images ou des documents via parse pour swift struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var score int? var picture parsefile? } func uploadimagedata( data data) async { var file = parsefile(name "photo jpg", data data) do { file = try await file save() print("file url \\\\(file url ?? "")") } catch { print("error uploading file \\\\(error)") } } 2\ récupération de fichiers func fetchimage(file parsefile) async { do { let fetched = try await file fetch() print("fetched localurl \\\\(fetched localurl? absolutestring ?? "")") } catch { print("error fetching file \\\\(error)") } } 3\ considérations de sécurité vous pouvez configurer les autorisations de fichiers dans vos paramètres back4app ou dans le fichier parse config de votre application par exemple, restreindre qui peut télécharger ou supprimer des fichiers étape 7 – vérification par e mail et réinitialisation du mot de passe 1\ pourquoi la vérification? la vérification par e mail garantit qu'un utilisateur possède l'adresse e mail fournie les flux de réinitialisation de mot de passe permettent aux utilisateurs de récupérer leurs comptes en toute sécurité 2\ configurer dans back4app allez à paramètres de l'application > paramètres de l'email utilisateur activer la vérification par email configurer le email d'expédition , les modèles d'email et le domaine personnalisé optionnel 3\ mise en œuvre task { do { try await user requestpasswordreset(email "johnny\@example com") print("password reset email sent") } catch { print("error resetting password \\\\(error)") } } étape 8 – planification des tâches avec cloud jobs 1\ vue d'ensemble utilisez cloud jobs pour automatiser des tâches telles que la suppression d'anciens enregistrements ou l'envoi de notifications quotidiennes ils s'exécutent sur le côté serveur , et ne sont pas déclenchés directement par le client 2\ exemple parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); // older than 30 days const cutoff = new date(date now() 30 24 60 60 1000); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); planifiez ce travail dans le tableau de bord back4app sous paramètres du serveur > travaux en arrière plan pour qu'il s'exécute périodiquement étape 9 – intégration des webhooks 1\ définition les webhooks permettent à votre application d'envoyer des données à des services externes chaque fois que certains événements se produisent par exemple, notifier un canal slack lorsqu'un todo est créé 2\ configuration tableau de bord allez dans plus > webhooks et sélectionnez “ajouter un webhook ” définir le point de terminaison par exemple https //my server com/webhook endpoint déclencheur d'événement par exemple “nouvel enregistrement dans la classe todo ” 3\ exemple de code parse cloud aftersave("todo", async (request) => { const { object } = request; // make an http post to an external url // containing the new todo details }); étape 10 – explorer le panneau d'administration back4app 1\ où le trouver votre panneau d'administration est accessible via “plus” > “application admin” dans le tableau de bord back4app créez un utilisateur admin et choisissez un sous domaine pour un accès facile 2\ fonctionnalités navigation des données afficher et modifier des classes dans un format convivial journaux vérifiez les journaux du serveur et les journaux de cloud code analytique surveillez l'utilisation, les notifications push, etc conclusion dans ce tutoriel, vous avez appris comment construire un backend pour ios en utilisant back4app et le sdk parse swift vous avez intégré une base de données évolutive, mis en œuvre la sécurité avec des acl et des clp, écrit des fonctions cloud code, configuré l'authentification des utilisateurs, géré le stockage de fichiers, et même programmé des tâches en arrière plan avec ces fonctionnalités essentielles en place, vous pouvez offrir un backend fiable pour votre application mobile ios tout en vous concentrant sur l' expérience utilisateur et les fonctionnalités uniques prochaines étapes explorez des rôles avancés et des contrôles d'accès personnalisés pour une sécurité multi niveaux intégrez des fonctionnalités avancées comme des notifications push, des requêtes géographiques, ou des sources de données externes consultez la documentation officielle de back4app pour des conseils de performance, l'analyse des journaux, ou des analyses en temps réel essayez d'autres tutoriels sur les applications de chat, l'intégration iot, ou les expansions e commerce en tirant parti de back4app, vous obtenez une plateforme open source qui est une excellente option pour réduire la complexité, stocker des données facilement, et incorporer des fonctionnalités en temps réel dans votre application ios la mise en œuvre de ces étapes vous libère pour travailler sur le design, les flux utilisateurs, ou la logique métier, créant un backend robuste pour votre application ios en un rien de temps