Apps/Architecture: Difference between revisions
< Apps
Jump to navigation
Jump to search
BillWalker (talk | contribs) No edit summary |
BillWalker (talk | contribs) |
||
Line 29: | Line 29: | ||
=== App Management === | === App Management === | ||
The <tt>navigator.mozApps</tt> API includes several distinct sets of functionality: | |||
* an installation API to allow Marketplaces to install packaged and web-hosted Apps | |||
* a runtime API to allow running Apps access to their install metadata (i. e., their own App receipts) | |||
* a management API to allow Cloud-based services or management Apps access to the set of Apps installed on the current device | |||
=== Identity === | === Identity === | ||
=== Payment === | === Payment === |
Revision as of 21:36, 16 August 2012
Apps Program Software Architecture
Program Goals
- Provide Developers with:
- a consistent App runtime environment that makes their Apps feel like natives, not tourists, on every platform they care about
- a consistent payment infrastructure for Apps available at our Marketplace
- Provide Users with:
- an open Apps ecosystem that lets them shop at the App store of their choice
- a robust App runtime environment that makes Apps feel like natives, not tourists on every device
- a means to back up and manage their Apps from multiple Stores across multiple devices
- Provide App Stores
- a well-documented API for installing and managing Apps
- access to the same cloud-based services for App management that our Marketplace uses
Architectural Goals
- Provide well-designed API's for App installation, App management, and App payments
- Conceal uninteresting platform dependencies while providing access to crucial platform-specific features
- Provide access to multiple payment providers through a single, unified API
Architectural Topics
App Definition
An App is described by its Manifest. The manifest contains user-facing metadata, including descriptions and icons. The manifest also enumerates the protected API's to which the App requests access. This information is used to control access to privileged API's at run time.
App Management
The navigator.mozApps API includes several distinct sets of functionality:
- an installation API to allow Marketplaces to install packaged and web-hosted Apps
- a runtime API to allow running Apps access to their install metadata (i. e., their own App receipts)
- a management API to allow Cloud-based services or management Apps access to the set of Apps installed on the current device
Identity
Payment
Security Model
Cloud Services
Marketplace
Deliverables
Category | Description | Architect | Tech Lead |
---|---|---|---|
App Definition | Apps security model | ladamski | sicking |
App packaging specification | sicking | sicking | |
App manifest specification | anant | anant | |
App Management | navigator.mozApps.mgmt | anant | anant |
Identity | navigator.id API | benadida | benadida |
Marketplace | marketplace architecture | clouserw | clouserw |
Payment | navigator.mozPay API | andreas | not sure |
App receipt specification | anant | not sure | |
In-app payment specification | andreas | not sure | |
Cloud services | Apps in the Cloud design | anant | anant |
Runtime | Web Runtime (WebRT) for Android | not sure | mfinkle |
Web Runtime (WebRT) for Mac OS, Windows, Linux | not sure | myk | |
Apps support on Firefox OS | not sure | cjones |
Problematic questions
- How can we help developers cope with the one-app-per-origin restriction?
- How can achieve a consistent Identity sol'n in the face of Firefox OS carrier and operator constraints?
- How can achieve a consistent payments API in the face of Firefox OS carrier and operator constraints?