Mobile Development
Build native iOS and Android apps with Appivo
Mobile Development Guide
Build native mobile applications for iOS and Android from your Appivo web application.
What You Get
When you build for mobile, Appivo provides:
| Feature | Description |
|---|---|
| Native Apps | Real iOS and Android applications |
| App Store Ready | Builds ready for submission |
| Push Notifications | Native push support |
| Offline Capability | Work without internet |
| Device Features | Camera, GPS, contacts access |
| Automatic Updates | Content updates without republishing |
Mobile UI
Creating a Mobile Interface
- Navigate to User Interfaces
- Click Add Interface
- Select Mobile as the type
- Design your mobile views
Mobile vs Desktop
| Aspect | Desktop | Mobile |
|---|---|---|
| Layout | Multi-column | Single column |
| Navigation | Top/side menu | Bottom tab bar |
| Interaction | Click | Touch/swipe |
| Widgets | Standard widgets | M-prefixed widgets |
Mobile Widgets
Appivo provides 28 mobile-optimized widgets:
Touch Input
| Widget | Purpose |
|---|---|
| MButton | Touch-optimized button |
| MTextField | Mobile text input |
| MTextArea | Multi-line mobile input |
| MDateField | Native date picker |
| MTimeField | Native time picker |
| MSelect | Mobile dropdown |
| MSwitch | Toggle switch |
| MSlider | Range slider |
| MCheckbox | Touch checkbox |
Mobile Layout
| Widget | Purpose |
|---|---|
| MCard | Mobile card container |
| MList | Scrollable list |
| MPanel | Mobile panel |
| MHeader | Screen header |
| MFooter | Screen footer |
Mobile Navigation
| Widget | Purpose |
|---|---|
| MTabBar | Bottom tab navigation |
| MNavBar | Top navigation bar |
| MDrawer | Slide-out menu |
| MBackButton | Navigation back |
Mobile Features
| Widget | Purpose |
|---|---|
| MCamera | Camera access |
| MLocation | GPS location |
| MScanner | Barcode/QR scanner |
| MSignature | Signature capture |
Device Capabilities
Camera Access
Access device camera:
MCamera widget
- Take photo
- Select from gallery
- Video recording
- Photo editing
GPS Location
Get user location:
MLocation widget
- Current position
- Location tracking
- Map integration
Push Notifications
Send push notifications:
- Configure push settings
- Create SENDPUSH action
- Target users or devices
- Customize notification content
Offline Storage
Work without internet:
Offline Configuration:
- Cache models: Customer, Product
- Sync on connect: Automatic
- Conflict resolution: Server wins
Platform Configuration
iOS Settings
| Setting | Description |
|---|---|
| Minimum iOS | 13.0 |
| Orientation | Portrait, Landscape, or Both |
| Status Bar | Light or dark style |
| App Icon | Multiple sizes required |
| Splash Screen | Launch image |
| Permissions | Camera, location, etc. |
Android Settings
| Setting | Description |
|---|---|
| Minimum SDK | 24 (Android 7.0) |
| Target SDK | Latest recommended |
| Adaptive Icons | Foreground and background |
| Permissions | Required permissions |
| Deep Links | URL handling |
Building Your App
Step 1: Design Mobile UI
Create mobile-specific views:
- Keep layouts simple and single-column
- Use large touch targets (44px minimum)
- Design for thumb-reachable navigation
- Consider portrait and landscape
Step 2: Configure Settings
Set up your mobile app:
- App name and bundle ID
- Icons for all required sizes
- Splash screen
- Orientation preferences
- Required permissions
Step 3: Test on Devices
Test thoroughly:
- Use preview mode on devices
- Test on real iOS and Android devices
- Check different screen sizes
- Verify touch interactions
- Test offline functionality
Step 4: Generate Build
Create app packages:
| Platform | Output | Distribution |
|---|---|---|
| iOS | .ipa file | App Store, TestFlight |
| Android | .apk/.aab | Play Store, direct install |
Step 5: Submit to Stores
Follow store guidelines:
App Store (iOS)
- Apple Developer account required
- App Store Connect submission
- Review process (1-7 days)
Play Store (Android)
- Google Play Developer account
- Play Console submission
- Review process (hours to days)
Navigation Patterns
Tab Bar Navigation
Bottom tab bar for main sections:
MTabBar
├── Tab: Home (icon: home)
├── Tab: Search (icon: search)
├── Tab: Orders (icon: list)
├── Tab: Profile (icon: user)
Stack Navigation
Push/pop navigation:
Home Screen
→ Customer List (push)
→ Customer Detail (push)
→ Edit Customer (push)
← Back (pop)
Drawer Navigation
Side menu for additional options:
MDrawer
├── Settings
├── Help
├── About
└── Logout
Mobile Forms
Touch-Friendly Forms
Design forms for mobile:
- Stack fields vertically
- Use full-width inputs
- Add spacing between fields
- Use native pickers (date, time)
- Large submit buttons
Keyboard Handling
Consider keyboard behavior:
- Move content above keyboard
- Use appropriate keyboard types
- Next/Done button navigation
- Auto-focus management
Offline Support
Configuring Offline Mode
Select which data to cache:
Offline Models:
- Customer (full sync)
- Product (read-only cache)
- Order (create offline, sync later)
Sync Strategy
Handle data synchronization:
| Strategy | Behavior |
|---|---|
| On Connect | Sync when internet returns |
| Background | Periodic background sync |
| Manual | User-triggered sync |
Conflict Resolution
Handle edit conflicts:
| Resolution | Behavior |
|---|---|
| Server Wins | Server version kept |
| Client Wins | Local version kept |
| Manual | User resolves |
Best Practices
Performance
- Minimize data fetched
- Use pagination for lists
- Lazy load images
- Cache appropriately
- Optimize for network latency
User Experience
- Provide visual feedback
- Handle loading states
- Show offline indicators
- Use native patterns
- Support gestures
Design
- Follow platform guidelines
- Use platform-appropriate navigation
- Design for touch
- Consider accessibility
- Test on real devices
Security
- Secure local storage
- Handle session expiry
- Protect sensitive data
- Use biometric authentication
- Implement SSL pinning
Troubleshooting
Common Issues
App crashes on launch
- Check minimum OS version
- Verify permissions configured
- Review crash logs
Push notifications not working
- Verify push certificates
- Check device token registration
- Test with debug tools
Offline sync fails
- Check conflict resolution
- Verify data size limits
- Review sync logs
Next Steps
- User Interfaces - UI design patterns
- Rules and Actions - Push notification setup
- Localization - Multi-language mobile apps