Mobile Strategy
Mobile architecture on the Salesforce platform involves choosing from a spectrum of options — from zero-code native mobile app configuration to fully custom SDK-built applications. The right choice depends on user personas, offline requirements, branding needs, and the complexity of mobile workflows.
Mobile Solution Spectrum
flowchart LR
A[Less Custom<br/>Lower Cost] --> B[Salesforce<br/>Mobile App]
B --> C[Mobile<br/>Publisher]
C --> D[PWA on<br/>Experience Cloud]
D --> E[Mobile SDK<br/>Hybrid]
E --> F[Mobile SDK<br/>Native]
F --> G[More Custom<br/>Higher Cost]
style A fill:#2d6a4f,color:#fff
style G fill:#9d0208,color:#fff
Mobile Architecture Comparison
The following diagram shows how each mobile option relates to the Salesforce platform and what architectural layers are involved.
flowchart TD
subgraph SF["Salesforce Platform"]
API["REST / SOAP APIs"]
DATA["Salesforce Data"]
AUTH["OAuth 2.0"]
end
subgraph SMA["Salesforce Mobile App"]
SMA1["Pre-built UI"]
SMA2["Briefcase<br/>(Offline)"]
end
subgraph PUB["Mobile Publisher"]
PUB1["Custom Branding<br/>(Icon, Splash, Colors)"]
PUB2["Same functionality<br/>as SF Mobile"]
end
subgraph PWA2["PWA (Experience Cloud)"]
PWA1["Browser-based"]
PWA2A["Service Worker<br/>(Caching)"]
end
subgraph SDK["Mobile SDK"]
SDK1["Custom Native UI<br/>(Swift / Kotlin)"]
SDK2["SmartStore<br/>(Encrypted SQLite)"]
SDK3["MobileSync<br/>(Bidirectional Sync)"]
end
SMA1 --> AUTH
SMA2 --> DATA
PUB1 --> SMA1
PWA1 --> API
SDK1 --> AUTH
SDK2 --> SDK3
SDK3 --> API
style SF fill:#264653,color:#fff
style SMA fill:#2d6a4f,color:#fff
style PUB fill:#457b9d,color:#fff
style PWA2 fill:#457b9d,color:#fff
style SDK fill:#9d0208,color:#fff
Salesforce Mobile App
The standard Salesforce mobile app (available on iOS and Android) provides access to most Salesforce functionality with zero custom development.
Capabilities
| Feature | Support Level |
|---|---|
| Standard objects (Accounts, Cases, etc.) | Full |
| Custom objects | Full |
| Lightning pages | Full (mobile-optimized) |
| Global Actions | Full |
| In-app notifications | Full |
| Approval workflows | Full |
| Reports & Dashboards | Limited (basic support) |
| Flows (screen flows) | Full |
| Einstein features | Limited |
| Offline access | Limited (Briefcase) |
| Chatter | Full |
Limitations
- Cannot customize the app icon, splash screen, or branding
- Limited offline capabilities (Briefcase is relatively new and has constraints)
- No custom native device integration (camera beyond standard, Bluetooth, NFC)
- App store presence is Salesforce’s, not the customer’s
- Tab bar and navigation are configurable but within constraints
When the standard app is enough
For internal users who primarily create/view records, run approvals, and collaborate via Chatter, the standard Salesforce Mobile App is almost always sufficient. Do not over-engineer a mobile strategy when the free option meets requirements.
Mobile Publisher
Mobile Publisher allows organizations to create a branded version of the Salesforce Mobile App or Experience Cloud site, published under the organization’s name in app stores.
What Mobile Publisher Provides
| Feature | Salesforce Mobile Publisher | Experience Cloud Publisher |
|---|---|---|
| Custom branding | App icon, splash screen, colors | Full site branding |
| App store presence | Organization’s own listing | Organization’s own listing |
| Push notifications | Yes | Yes |
| Biometric login | Yes | Yes |
| Deep linking | Yes | Yes |
| Offline | Same as Salesforce Mobile | PWA caching only |
| Custom native code | No | No |
When to Choose Mobile Publisher
- The organization requires its own branded presence in app stores
- Standard Salesforce Mobile functionality is sufficient
- No need for custom native device integration
- Want to avoid the cost and maintenance of a custom mobile app
Mobile Publisher misconception
Mobile Publisher does not add functionality to the Salesforce Mobile App. It wraps the same experience with custom branding. If the standard app cannot do something, Mobile Publisher cannot either. It is a branding solution, not a functionality solution.
Progressive Web App (PWA)
Experience Cloud sites can function as PWAs, providing app-like experiences through the browser with some offline capability.
PWA Characteristics
| Aspect | PWA Capability |
|---|---|
| Installation | Add to home screen (no app store) |
| Offline | Service worker caching (limited) |
| Push notifications | Yes (browser-based) |
| Device APIs | Limited (camera, geolocation via browser) |
| Update mechanism | Automatic (no app store review) |
| Cost | Included with Experience Cloud license |
| Performance | Depends on browser and network |
When PWA Makes Sense
- External users who should not install a native app
- Rapid deployment needs (no app store review cycle)
- Content-heavy portals where offline is nice-to-have but not critical
- Budget constraints that prevent custom mobile development
When PWA Falls Short
- Complex offline workflows with data sync
- Heavy native device integration (Bluetooth, NFC, ARKit)
- Performance-critical applications (complex animations, real-time data)
- iOS limitations (Apple restricts some PWA capabilities)
Mobile SDK
The Salesforce Mobile SDK provides native iOS (Swift/Objective-C) and Android (Kotlin/Java) frameworks, plus hybrid (React Native, Cordova) options for building fully custom mobile apps that connect to Salesforce.
SDK Options
| SDK Type | Language | Use Case |
|---|---|---|
| iOS Native | Swift / Objective-C | Full native iOS experience |
| Android Native | Kotlin / Java | Full native Android experience |
| React Native | JavaScript / TypeScript | Cross-platform with native feel |
| Hybrid (Cordova) | HTML / JavaScript | Web skills, deployed as native |
What Mobile SDK Enables
- Complete UI/UX control (no Salesforce chrome)
- Full native device integration (camera, GPS, Bluetooth, NFC, sensors)
- Complex offline with SmartStore (encrypted local SQLite database)
- MobileSync (formerly SmartSync) for bidirectional data synchronization
- Custom authentication flows
- Background processing and services
Mobile SDK Architecture
flowchart TD
A[Custom Mobile App] --> B[Mobile SDK Layer]
B --> C[OAuth 2.0<br/>Authentication]
B --> D[SmartStore<br/>Local Storage]
B --> E[MobileSync<br/>Data Sync]
B --> F[REST/SOAP<br/>API Layer]
C --> G[Salesforce Platform]
E --> G
F --> G
D -->|"Offline queue"| E
subgraph Device
A
B
C
D
E
F
end
subgraph Cloud
G
end
SDK cost and complexity
Mobile SDK means you are building and maintaining a custom mobile application. This requires mobile developers, QA testing on multiple devices and OS versions, app store submissions, ongoing maintenance for OS updates, and a separate release cycle. Budget 2-4x the initial development cost for ongoing maintenance over 3 years.
Mobile Decision Flowchart
flowchart TD
A[Mobile Requirement] --> B{Who are<br/>the users?}
B -->|Internal employees| C{Need custom<br/>branding?}
B -->|External customers/partners| D{Need native<br/>app capabilities?}
C -->|No| E{Standard SF<br/>mobile sufficient?}
C -->|Yes| F[Mobile Publisher<br/>for Salesforce]
E -->|Yes| G[Salesforce Mobile App]
E -->|No| H{What is missing?}
H -->|Offline with sync| I[Mobile SDK]
H -->|Custom device integration| I
H -->|Complete UI control| I
D -->|No| J{Need app<br/>store presence?}
D -->|Yes| K{Complex offline<br/>or device access?}
J -->|No| L[PWA on<br/>Experience Cloud]
J -->|Yes| M[Mobile Publisher<br/>for Experience Cloud]
K -->|Yes| I
K -->|No, just branding| M
style G fill:#2d6a4f,color:#fff
style F fill:#457b9d,color:#fff
style L fill:#457b9d,color:#fff
style M fill:#457b9d,color:#fff
style I fill:#9d0208,color:#fff
Offline Capabilities
Offline access is often the deciding factor in mobile strategy selection. Salesforce offers different levels of offline support across its mobile options.
Briefcase Configuration (Salesforce Mobile App)
Briefcase is a declarative offline feature for the Salesforce Mobile App that allows admins to define which records are available offline.
| Aspect | Detail |
|---|---|
| Configuration | Declarative (Setup > Briefcase Builder) |
| Record selection | Filter-based rules per object |
| Record limit | Up to 2,000 records per object rule; 50,000 records total per org across all briefcases |
| Supported actions | View, create, edit records offline |
| Sync behavior | Automatic sync when connectivity resumes |
| Conflict resolution | Last-write-wins (server wins) |
| Relationships | Primes related records based on rules |
Briefcase maturity
Briefcase is still evolving. As of recent releases, it supports basic CRUD offline but may not support complex workflows, approvals, or cross-object automation offline. Always validate current capabilities against the specific offline requirements.
SmartStore (Mobile SDK)
SmartStore is an encrypted SQLite-based local database available through the Mobile SDK.
| Aspect | Detail |
|---|---|
| Storage | Encrypted SQLite on device |
| Capacity | Device storage limited |
| Querying | SmartSQL (SQL-like syntax) |
| Data model | Flexible “soups” (like collections) |
| Encryption | AES-256 by default |
| Sync | MobileSync framework for bidirectional sync |
| Conflict resolution | Configurable (last-write-wins, merge, or custom) |
Offline Architecture — Briefcase vs SmartStore
flowchart TD
subgraph BC["Briefcase (Salesforce Mobile App)"]
direction TB
BC1["Admin defines<br/>Briefcase rules<br/>(declarative)"]
BC2["Record filter<br/>criteria<br/>(up to 50K records)"]
BC3["Platform-managed<br/>offline cache"]
BC4["Auto-sync on<br/>reconnect<br/>(server wins)"]
BC1 --> BC2 --> BC3 --> BC4
end
subgraph SS["SmartStore + MobileSync (Mobile SDK)"]
direction TB
SS1["Developer defines<br/>soups (tables)<br/>(code-based)"]
SS2["Custom queries<br/>via SmartSQL<br/>(device storage limit)"]
SS3["AES-256 encrypted<br/>SQLite database"]
SS4["Configurable sync<br/>+ conflict resolution<br/>(custom merge logic)"]
SS1 --> SS2 --> SS3 --> SS4
end
BC4 --> SFP["Salesforce Platform"]
SS4 --> SFP
style BC fill:#2d6a4f,color:#fff
style SS fill:#9d0208,color:#fff
style SFP fill:#264653,color:#fff
Offline Comparison
| Capability | Briefcase | SmartStore + MobileSync |
|---|---|---|
| Setup complexity | Low (declarative) | High (custom development) |
| Conflict resolution | Basic (server wins) | Configurable (last-write-wins, merge, or custom) |
| Custom logic offline | No | Yes (native code runs on device) |
| Record limits | 50K per briefcase | Limited by device storage |
| Encryption | Platform encryption | AES-256 (SqlCipher) |
| Data model | Salesforce objects and fields | Custom soups (flexible schema) |
| Query capability | Limited (what Briefcase primes) | Full SmartSQL (SQL-like syntax) |
| Maintenance | Low (admin-managed) | High (requires mobile dev team) |
MDM Integration
Mobile Device Management (MDM) is relevant when devices are corporate-managed.
Key MDM Considerations
- App distribution: Enterprise app distribution bypasses public app stores (relevant for Mobile SDK and Mobile Publisher apps)
- VPN and network: MDM can enforce VPN for Salesforce API calls, adding latency
- App configuration: MDM-managed configurations can pre-populate login URLs and settings
- Data loss prevention: MDM policies may restrict copy/paste, screenshots, or data sharing between apps
- Compliance: MDM ensures device encryption, passcode policies, and remote wipe capability
CTA exam relevance
On the CTA exam, MDM is typically mentioned in scenarios involving regulated industries (healthcare, financial services) or government. When you see “corporate-managed devices” or “BYOD policy,” include MDM considerations in your mobile architecture.
Field Service Mobile
Salesforce Field Service has its own mobile app with unique capabilities designed for technicians and field workers.
Field Service Mobile Features
| Feature | Detail |
|---|---|
| Offline work orders | Full offline CRUD for work orders and service appointments |
| Knowledge offline | Access knowledge articles without connectivity |
| Inventory management | Track parts and van stock |
| Signature capture | Collect customer signatures on device |
| Geolocation | GPS tracking and route optimization |
| Push notifications | Dispatch alerts and schedule changes |
| Custom flows | Screen flows embedded in mobile experience |
| Barcode scanning | Asset and inventory scanning |
Field Service vs standard mobile
Field Service Mobile is a separate app from the Salesforce Mobile App. It is purpose-built for field technicians and has significantly better offline capabilities than Briefcase. If the scenario involves field workers, always consider Field Service Mobile rather than trying to build offline into the standard mobile app.
Push Notifications
| Method | Supported On | Configuration |
|---|---|---|
| In-app notifications | Salesforce Mobile App | Custom notifications (Flow, Apex) |
| Push (FCM/APNs) | Mobile Publisher, Mobile SDK | Connected App + notification service |
| SMS | Any device | Salesforce SMS via Messaging |
| Email-to-mobile | Any device | Standard email with mobile-optimized templates |
Mobile UX Considerations
Design Principles
- Mobile-first pages: Use Dynamic Forms and mobile-optimized page layouts
- Compact layouts: Configure compact layouts for record highlights on mobile
- Global actions: Use global quick actions for common mobile tasks (log a call, create a task)
- Object-specific actions: Surface the most common actions prominently
- Navigation: Limit the mobile navigation menu to essential items (unlike desktop, mobile users have less patience for browsing)
- Search: Optimize global search configuration for mobile use cases
Performance Considerations
- Lightning page load: Complex Lightning pages with many components load slowly on mobile
- API calls: Mobile apps on cellular networks have higher latency — minimize API round-trips
- Image optimization: Compress images displayed on mobile (Salesforce Files can serve different sizes)
- Data volume: Avoid list views or related lists with thousands of records on mobile
Related Topics
- Decision Guides — Mobile strategy decision flowcharts
- Trade-Offs — Native vs hybrid vs PWA trade-off analysis
- Licensing — Mobile solutions may require additional licenses
- Platform Capabilities — Governor limits affecting mobile API usage
- Security — Mobile security, authentication, and MDM integration
Sources
- Salesforce Help: Salesforce Mobile App
- Salesforce Help: Mobile Publisher
- Salesforce Help: Briefcase Builder
- Salesforce Developers: Mobile SDK
- Salesforce Help: Field Service Mobile
- Salesforce Architects: Mobile Architecture
- Salesforce Developers: SmartStore and MobileSync