該項目是一種反應本機樣板,可用於啟動移動應用程序。
該樣板通過分離UI和Business Logic之間的關注點提供了優化用於構建固體跨平台移動應用程序的體系結構。它的報告令人驚訝地報導,以便可以在您的應用程序中降落的每片代碼。
If you love this boilerplate, give us a star, you will be a ray of sunshine in our lives :)該項目配置為Microsoft App Center用於崩潰分析。它也將有助於向質量保證團隊分發您的應用程序。 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庫管理。
代碼的劃分對於提高可重複性和提高靈活性是非常必要的。該項目以這種方式設計為歡迎所有更改。下面給出了一些部門:
UTILIS文件夾將具有所有文件以定義,標籤,cosntants和其他信息將在項目中使用的Utilis使用。
資產文件夾將所有資源(例如圖像,音頻文件等)等資源。
配置文件夾將所有應用程序配置設置。
組件文件夾將具有所有自定義組件,例如自定義文本字段,按鈕,標頭等。
STLYES文件夾將擁有所有CSS文件以提供項目級別的設計。該文件夾還包含顏色文件夾,以串聯定義主題顏色。
每個人都想優化應用程序的分發方式進行快速測試。有時候,我們有單獨的服務器和QA,DEV,Stagging和Production的後端數據庫。該項目具有4個構建變體,即調試,質量保證,Stagging發行版,發行版。您可以從以下文件中更改變體配置。 .env.dev for Debug .env.qa for QA釋放.env.stagging stagging repartion .env.production生產釋放
QA發布,Stagging發行版,發行版將具有JS捆綁包,因此它將在沒有Node JS服務器的情況下執行,而Debug for Dev Team將需要Node JS(Metro Server運行)。
您可以從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釋放apk ./gradlew clean assembleStaggingrelease以創建stagging Release apk ./gradlew clean assembleRelease以創建釋放apk
react-native run-android --variant=qarelease react-native run-android --variant=staggingrelease react-native run-android --variant=release
默認情況下,將在設備上執行調試變體。
歡迎貢獻,問題和功能請求。如果您想貢獻,請隨時檢查問題頁面。
我叫巴基斯坦的Abid Jamil,我是Nextbridge Ltd Bakistan的高級軟件工程師。我對本地Android有專業知識|反應 - 天然| ios | Android | Java | Kotlin | JavaScript | mvvm | MVP | rxjava |匕首|材料設計|實時數據|數據綁定。 futhermore,我是開源貢獻和計算機科學研究人員。我發表了17篇研究論文,可在Google Scholar Profile上提供。我已經在全球不同的國家和國際大學進行了許多演講。