- React
- Web
- Native
- Azure
- Functions
- Storage
- Cdn
- ReactXP (Web App and Native App)
- React Native
- React
- Resub (App Data Store)
- Azure Functions (Serverless Web Server)
- Node.js Express Http Function (Web Api)
- Node.js Express Static Http Function (Static Build Files)
- Proxy (Routing)
- Timer Functions (Data Processing, Data Generation, Server Side Rendering)
- Git Deploy
- Pure Pay Per Usage with 1 Million Free Executions Per Month Per Deployment
- Azure CDN w/ Custom Domain (Global CDN)
- Main Entry Point for Custom Domain
- Free Https
- Static Files CDN
- Blob File CDN
- Query String Pass Through for Web Api (Using Custom Domain)
- (Optional) Azure Traffic Manager (Global Web Api)
- Point CDN to Traffic Manager
- Point Traffic Manager to Multiple Azure Function Instances
- Support Global Web Api for Improved Latency Response
- Use Master & Slave Azure Function Projects
- Requires Custom Data Syncing Strategy
- Dual Master Syncing Can Offer Master Outage Redundancy
- Azure Mobile Center (Native App Build Server)
- Git Deploy
- Automated Build (iOS, Android, Windows Phone)
- Test User Distribution
- Analytics
- Azure Storage
- Blobs (Generated Content)
- Tables (No-SQL Primary Data)
- Queues (Data Transfer Messages/Triggers)
- ~Infinite Scalability (Auto Scaling with no Cap)
- Global Availability (CDN Content & Optional Global Web Api)
- Extreme Productivity (1 Second Build Time, Git Deploy, Browser Testing, Local Server Testing w/ VSCode)
- Minimal Costs (< $1 Million Users, Pure Pay Per Use)
- Outage Redundancy (Automatic Fail-over to Secondary Data Center)
- Small Web App Build Size (<250kb w/ Server-Side Rendering Support)
-
Rename Files, Folders, and Contents
- Rename
ProjNamePascalto project name in PascalCase - Rename
projNameCamelto project name in camelCase - Rename
projnamelowerto project name in lowercase - Rename
proj-name-kabobto project name in kabob-case - Known Files:
_deploy/proxies.jsonsrc-client/postinstall.jssrc-server/package.jssrc-client/package.js
- Rename
-
Other Items
- Newsfeed Facebook Page Ids
- Feedback Url (Google Forms)
-
Setup App Settings
- Settings
AZURE_STORAGE_CONNECTION_STRINGFacebookAppIdFacebookAppSecret
- Testing
- Copy
.vscode/launch-template.jsonto.vscode/launch.json - Set setting values for localhost:3100
- Copy
- Server
- Add App settings in Application Settings Tab in Azure Portal
- Settings
-
Upload FacebookSDK .zip for Azure Mobile Center
- Default Path in
src-client/postinstall.jsishttps://NAME_LOWER.blob.core.windows.net/build-files/FacebookSDKs-iOS-4.22.1.zip
- Default Path in
- Server
cd src-serverwebpack -w
- Client
cd src-clientwebpack -w
-
Server
- Open File
- Example:
_endpoints/api/_test.ts
- Example:
- Hit F5 (in VsCode)
- Open File
-
Client
- Just Build and a browser window will open
-
Setup (One Time)
- Copy
_deploy-templateto_deploy - Modify Paths in
_deploy/proxies.jsonto point to actual function (Replace FUNCTION with correct sub domain) - Setup the _deploy folder as a seperate git repo with online service (Github, Bitbucket, etc.)
- Create an Azure Functions Instance and setup git deploy to point to online _deploy repo
- Copy
-
Server & Client
- Build
cd _deploygit push
- Server
- Call Web Api at https://FUNCTION.azurewebsites.net/api/PATH
- Client
- Open Web App at https://FUNCTION.azurewebsites.net
-
Setup (One Time)
- Create App at http://mobile.azure.com
- Add Native App Settings in App for Analytics, Crash, etc.
- Setup Git Deploy
- Setup Automated Build
-
Deploy
- Build to _deploy-app Folder
git push_deploy-app Folder- Distribute in Mobile Center (can be done automatically after build)
- Receive Distribution Email
- Follow Instructions to Install App
Add Android and iOS Folders