Ce projet est un chauffeur natif React qui peut être utilisé pour lancer une application mobile.
Le chauffeur donne une architecture optimisée pour construire des applications mobiles multiplateformes solides par séparation des préoccupations entre l'interface utilisateur et la logique métier.
If you love this boilerplate, give us a star, you will be a ray of sunshine in our lives :)Le projet est configuré avec Microsoft App Center for Crash Analytics. Cela aidera également à distribuer votre demande avec l'équipe d'AQ. De plus, CI / CD peut être implémenté facilement.
Vous pouvez appliquer le secret à partir d' androidappsrcmainassetsappcenter-config.json Fichier.
"@react-native-community/async-storage": "^1.9.0",
"@react-native-community/masked-view": "^0.1.9",
"@react-navigation/native": "^5.1.5",
"@react-navigation/stack": "^5.2.10",
"axios": "^0.19.2",
"react": "16.11.0",
"react-native": "0.62.2",
"react-native-config": "^1.0.0",
"react-native-elements": "^1.2.7",
"react-native-floating-action-button": "^0.2.2",
"react-native-gesture-handler": "^1.6.1",
"react-native-paper": "^3.8.0",
"react-native-reanimated": "^1.8.0",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.4.0",
"react-native-vector-icons": "^6.6.0"
Le projet a une séparation des préoccupations visant à augmenter la flexibilité et la maintenance. Les préoccupations sont divisées en parties ci-dessous en tant que:
La couche de présentation contient tous les composants et fichiers sur lesquels les stages et les éléments sont affichés qui seront visibles pour l'utilisateur et par lesquels l'utilisateur interagira avec le système.
La couche d'action a tous les composants et fichiers qui seront utilisés pour effectuer certaines actions. Par exemple, méthode de connexion, méthode d'inscription, validateur de champ, etc.
La couche d'action a tous les composants et fichiers qui seront utilisés pour effectuer des appels API. Cette couche sera gérée par la bibliothèque Axios.
La division de code est très nécessaire pour augmenter la réutilisabilité et augmenter la flexibilité. Ce projet est conçu de cette manière qu'il accueille tous les changements. Certaines divisions sont données ci-dessous:
Le dossier Utilis aura tous les fichiers à définir, des étiquettes, des cosntants et d'autres informations qui seront utilisées chez Utilis dans le projet.
Le dossier Assets sera toutes les ressources comme les images, les fichiers audio, etc.
Le dossier de configuration sera tous les paramètres de configuration de l'application.
Le dossier des composants aura tous les composants personnalisés comme les champs de texte personnalisés, les boutons, l'en-tête, etc.
Le dossier Stlyes aura tous les fichiers CSS pour fournir une conception au niveau du projet. Ce dossier contient également un dossier de couleur pour définir séparément les couleurs du thème.
Tout le monde veut optimiser la manière de distribution de l'application pour les tests rapides. Parfois, nous avons des serveurs séparés et des bases de données backend pour la QA, le DEV, la fuite et la production. Ce projet dispose de 4 variantes de construction, c'est-à-dire de débogage, de version QA, de sortie de staging, de version. Vous pouvez modifier les configurations de variantes à partir des fichiers suivants. .env.dev pour le débogage .env.qa pour la libération de QA .env.stagging for Staging Release .env.production pour la sortie
Libération d'AQ, version en passant, la version aura un bundle JS, il sera donc exécuté sans Node JS Server, tandis que Debug est pour l'équipe Dev, il aura donc besoin de Node JS (Metro Server en cours d'exécution).
Vous pouvez modifier des fichiers pour chaque variante à partir d' android/app/build.gradle
project.ext.envConfigFiles = [
debug: ".env.dev",
release: ".env.production",
qarelease: ".env.qa",
staggingrelease : ".env.stagging",
anothercustombuild: ".env.qa",
]
Pour créer un nouveau projet à l'aide de la baillée:
En supposant que vous avez toutes les exigences installé, vous pouvez configurer et exécuter le projet en exécutant:
cd android ./gradlew clean assembleQarelease pour créer une version QA APK ./gradlew clean assembleStaggingrelease ./gradlew clean assembleRelease pour créer une sortie en vigue
react-native run-android --variant=qarelease react-native run-android --variant=staggingrelease react-native run-android --variant=release
Par défaut, la variante Debug sera exécutée sur l'appareil.
Les contributions, les problèmes et les demandes de fonctionnalités sont les bienvenus. N'hésitez pas à vérifier la page des problèmes si vous souhaitez contribuer.
Je m'appelle Abid Jamil du Pakistan, je suis ingénieur logiciel principal chez Nextbridge Ltd Pakistan. J'ai une expertise dans Android natif | React - natif | IOS | Android | Java | Kotlin | Javascript | MVVM | MVP | Rxjava | Poignard | Conception de matériaux | Données en direct | Liaison des données. De plus, je suis chercheur à contribution et à l'informatique open source. J'ai publié 17 documents de recherche qui sont avaiables sur le profil Google Scholar. J'ai envoyé de nombreuses discussions dans différentes universités nationales et internationales du monde entier.