โครงการนี้เป็นแผ่นหม้อต้มน้ำแบบดั้งเดิมที่สามารถใช้ในการเริ่มต้นแอปพลิเคชันมือถือ
Boilerplate ให้สถาปัตยกรรมที่ได้รับการปรับให้เหมาะสมสำหรับการสร้างแอพพลิเคชั่นมือถือข้ามแพลตฟอร์มที่เป็นของแข็งผ่านการแยกข้อกังวลระหว่าง UI และตรรกะทางธุรกิจมันได้รับการรายงานอย่างน่าอัศจรรย์เพื่อให้รหัสแต่ละชิ้นที่ลงจอดในแอปพลิเคชันของคุณสามารถเข้าใจและใช้ประโยชน์ได้
If you love this boilerplate, give us a star, you will be a ray of sunshine in our lives :)โครงการได้รับการกำหนดค่าด้วย Microsoft App Center สำหรับการวิเคราะห์ความผิดพลาด นอกจากนี้ยังจะช่วยแจกจ่ายแอปพลิเคชันของคุณกับทีม QA Futhermore, CI/CD สามารถนำไปใช้ได้อย่างง่ายดาย
คุณสามารถใช้ความลับจาก 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"
โครงการมีการแยกข้อกังวลเพื่อเพิ่มความยืดหยุ่นและการบำรุงรักษา ข้อกังวลแบ่งออกเป็นส่วนที่ระบุด้านล่างเป็น:
เลเยอร์การนำเสนอมีส่วนประกอบและไฟล์ทั้งหมดที่จัดวางตำแหน่งและองค์ประกอบซึ่งจะถูกมองเห็นสำหรับผู้ใช้และผู้ใช้ที่จะโต้ตอบกับระบบ
เลเยอร์การกระทำมีส่วนประกอบและไฟล์ทั้งหมดซึ่งจะใช้ในการดำเนินการบางอย่าง ตัวอย่างเช่นวิธีการเข้าสู่ระบบวิธีการลงทะเบียนผู้ตรวจสอบฟิลด์ ฯลฯ
เลเยอร์การกระทำมีส่วนประกอบและไฟล์ทั้งหมดซึ่งจะใช้ในการโทร API เลเยอร์นี้จะได้รับการจัดการโดย Axios Library
การแบ่งรหัสมีความจำเป็นอย่างยิ่งในการเพิ่มความสามารถในการนำกลับมาใช้ใหม่และเพิ่มความยืดหยุ่น โครงการนี้ได้รับการออกแบบในลักษณะนี้เพื่อต้อนรับการเปลี่ยนแปลงทั้งหมด บางแผนกได้รับด้านล่าง:
โฟลเดอร์ Utilis จะมีไฟล์ทั้งหมดเพื่อกำหนดป้ายกำกับ cosntants และข้อมูลอื่น ๆ ที่จะใช้ที่ Utilis ในโครงการ
โฟลเดอร์สินทรัพย์จะมีทรัพยากรทั้งหมดเช่นรูปภาพไฟล์เสียง ฯลฯ
โฟลเดอร์ config จะตั้งค่าการกำหนดค่าแอปพลิเคชันทั้งหมด
โฟลเดอร์ส่วนประกอบจะมีส่วนประกอบที่กำหนดเองทั้งหมดเช่นฟิลด์ข้อความที่กำหนดเองปุ่มส่วนหัว ฯลฯ
โฟลเดอร์ Stlyes จะมีไฟล์ CSS ทั้งหมดเพื่อให้การออกแบบระดับโครงการ โฟลเดอร์นี้ยังมีโฟลเดอร์สีเพื่อกำหนดสีชุดรูปแบบออกมา
ทุกคนต้องการเพิ่มประสิทธิภาพวิธีการแจกจ่ายแอพสำหรับการทดสอบอย่างรวดเร็ว บางครั้งเรามีเซิร์ฟเวอร์แยกต่างหากและฐานข้อมูลแบ็กเอนด์สำหรับ QA, dev, stagging และการผลิต โครงการนี้มี 4 ตัวแปรสร้างเช่น Debug, QA Release, stagging release, release คุณสามารถเปลี่ยนการกำหนดค่าตัวแปรจากไฟล์ต่อไปนี้ .env.dev สำหรับ DEBUG .env.qa สำหรับ QA Release .env.stagging สำหรับ stagging release .env.production สำหรับการเปิดตัว
การเปิดตัว QA, stagging release, release จะมี JS Bundle ดังนั้นมันจะถูกเรียกใช้งานโดยไม่ต้องใช้ Node JS Server ในขณะที่ Debug สำหรับทีม DEV ดังนั้นจะต้องใช้ Node JS (Metro Server Running)
คุณสามารถเปลี่ยนไฟล์สำหรับแต่ละตัวแปรจาก android/app/build.gradle
project.ext.envConfigFiles = [
debug: ".env.dev",
release: ".env.production",
qarelease: ".env.qa",
staggingrelease : ".env.stagging",
anothercustombuild: ".env.qa",
]
เพื่อสร้างโครงการใหม่โดยใช้แผ่นหม้อไอน้ำ:
สมมติว่าคุณมีข้อกำหนดทั้งหมดที่ติดตั้งคุณสามารถตั้งค่าและเรียกใช้โครงการได้โดยเรียกใช้:
cd android ./gradlew clean assembleQarelease เพื่อสร้าง qa release apk ./gradlew clean assembleStaggingrelease เพื่อสร้าง stagging release apk ./gradlew clean assembleRelease เพื่อสร้าง ask release
react-native run-android --variant=qarelease react-native run-android --variant=staggingrelease react-native run-android --variant=release
โดยค่าเริ่มต้นตัวแปรดีบั๊กจะถูกดำเนินการบนอุปกรณ์
ยินดีต้อนรับการมีส่วนร่วมปัญหาและคำขอคุณสมบัติ อย่าลังเลที่จะตรวจสอบหน้าปัญหาหากคุณต้องการมีส่วนร่วม
ชื่อของฉันคือ Abid Jamil จากปากีสถานฉันเป็นวิศวกรซอฟต์แวร์อาวุโสที่ Nextbridge Ltd ปากีสถาน ฉันมีความเชี่ยวชาญใน Android พื้นเมือง | React - Native | iOS | Android | Java | Kotlin | JavaScript | MVVM | MVP | rxjava | กริช | การออกแบบวัสดุ ข้อมูลสด | การเชื่อมโยงข้อมูล Futhermore ฉันเป็นผู้มีส่วนร่วมในโอเพ่นซอร์สและนักวิจัยวิทยาศาสตร์คอมพิวเตอร์ ฉันได้เผยแพร่เอกสารการวิจัย 17 ฉบับซึ่งสามารถใช้งานได้ในโปรไฟล์ Google Scholar ฉันได้ส่งการเจรจามากมายในมหาวิทยาลัยระดับชาติและนานาชาติที่แตกต่างกันทั่วโลก