هذا المشروع عبارة عن لوحة مصنوعة من React Native Boilerplate يمكن استخدامها لبدء تطبيق الهاتف المحمول.
يمنح BoilerPlate بنية محسّنة لبناء تطبيقات متنقلة عبر المنصات المتداخلة من خلال فصل المخاوف بين واجهة المستخدم ومنطق العمل. تم الإبلاغ بشكل مثير للدهشة بحيث يمكن فهم كل قطعة من الكود التي تهبط في طلبك واستخدامها.
If you love this boilerplate, give us a star, you will be a ray of sunshine in our lives :)تم تكوين المشروع مع مركز تطبيقات Microsoft لتحليلات Crash. سوف يساعد أيضًا في توزيع طلبك مع فريق QA. Futhermore ، CI/CD يمكن تنفيذها بسهولة.
يمكنك تطبيق Secret من androidappsrcmainassetsappcenter-config.json .
"@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"
يمتلك المشروع فصل المخاوف لزيادة المرونة والمحافظة. تنقسم المخاوف إلى أجزاء ويرد فيما يلي:
تحتوي الطبقة التقديمية على جميع المكونات والملفات التي يتم عرض المواضع والعناصر عليها والتي ستكون Visble للمستخدم ومن خلالها يتفاعل المستخدم مع النظام.
تحتوي طبقة الإجراء على جميع المكونات والملفات التي سيتم استخدامها لإجراء إجراءات معينة. على سبيل المثال ، طريقة تسجيل الدخول ، طريقة الاشتراك ، مصلحة الحقل وما إلى ذلك.
تحتوي طبقة الإجراء على جميع المكونات والملفات التي سيتم استخدامها لأداء مكالمات API. سيتم إدارة هذه الطبقة بواسطة مكتبة Axios.
تقسيم الكود ضروري للغاية لزيادة قابلية إعادة الاستخدام وزيادة المرونة. تم تصميم هذا المشروع بهذه الطريقة وهو يرحب بجميع التغييرات. فيما يلي بعض الانقسامات:
سيحتوي مجلد Utilis على جميع الملفات التي يجب تحديدها والعلامات والمعلومات وغيرها من المعلومات التي سيتم استخدامها في Utilis في المشروع.
سيقوم مجلد الأصول بجميع الموارد مثل الصور وملفات الصوت وما إلى ذلك.
سيقوم مجلد التكوين بجميع إعدادات تكوين التطبيق.
سيحتوي المجلد المكون على جميع المكونات المخصصة مثل حقول النص المخصصة والأزرار والرأس وما إلى ذلك.
سيكون لدى مجلد Stlyes جميع ملفات CSS لتوفير تصميم مستوى المشروع. يحتوي هذا المجلد أيضًا على مجلد الألوان لتحديد ألوان السمة بشكل قبر.
كل واحد يريد تحسين طريقة توزيع التطبيق لاختبار Quicky. في بعض الأحيان يكون لدينا خوادم منفصلة وقواعد بيانات الواجهة الخلفية لـ QA و Dev و Wagging and Forder. يحتوي هذا المشروع على 4 متغيرات بناء IE Debug ، إصدار QA ، الإصدار الضيق ، الإصدار. يمكنك تغيير التكوينات المتغيرة من الملفات التالية. .env.dev .env.production .env.qa .env.stagging
سيحتوي الإصدار QA ، الإصدار الضيق ، على حزمة JS ، بحيث يتم تنفيذها بدون خادم Node JS ، في حين أن DEBUG مخصص لفريق DEV ، لذلك سيحتاج إلى عقدة JS (خادم المترو).
يمكنك تغيير الملفات لكل متغير من android/app/build.gradle
project.ext.envConfigFiles = [
debug: ".env.dev",
release: ".env.production",
qarelease: ".env.qa",
staggingrelease : ".env.stagging",
anothercustombuild: ".env.qa",
]
لإنشاء مشروع جديد باستخدام Boilerplate:
على افتراض أن لديك جميع المتطلبات المثبتة ، يمكنك إعداد وتشغيل المشروع عن طريق التشغيل:
cd android ./gradlew clean assembleQarelease ./gradlew clean assembleRelease إصدار QA APK ./gradlew clean assembleStaggingrelease
react-native run-android --variant=qarelease react-native run-android --variant=staggingrelease react-native run-android --variant=release
افتراضيًا ، سيتم تنفيذ متغير التصحيح على الجهاز.
المساهمات والقضايا وطلبات الميزات موضع ترحيب. لا تتردد في التحقق من صفحة المشكلات إذا كنت ترغب في المساهمة.
اسمي عابد جاميل من باكستان ، أنا مهندس برمجيات كبير في NextBridge Ltd Pakistan. لدي خبرة في Android الأصلي | رد فعل - الأصلي | iOS | Android | جافا | كوتلين | JavaScript | MVVM | MVP | Rxjava | خنجر | تصميم المواد | البيانات الحية | ربط البيانات. Futhermore ، أنا باحث مفتوح المصدر وباحث علوم الكمبيوتر. لقد نشرت 17 ورقة بحثية واضحة على ملف تعريف الباحث العلمي من Google. لقد ألقت العديد من المحادثات في مختلف الجامعات الوطنية والدولية في جميع أنحاء العالم.