Draft
This page is not complete.
In this section of content we'll introduce you to the topic of developing Open Web Apps, and the areas we think are most vital for you to concentrate on when building apps that will not only work across different browsers and devices, but also work well when installed on platforms such as Firefox OS.
App development topics
- Installable apps
- App installation and management APIs, manifest files, packaged and hosted apps, handling API permissions.
- Basic data flow
- Setting up the data flow through your application, HTTP basics, Ajax.
- Gather and modify data
- Retrieving data from files, device hardware (e.g. battery, proximity, light sensor) and key services (e.g. camera, contacts).
- Control data display and feedback
- Full screen, orientation, system notifications, alarms, vibration.
- Implement user input and control mechanisms
- Mouse, keyboard, pointer lock, touch inputs, drag and drop, and more.
- Work offline
- appCache, localStorage, and IndexedDB.
- Manipulate media
- Video, audio, and images.
- Advanced network communication
- CORS, system Ajax, WebRTC, Web sockets.
- Play games
- Special considerations for game app developers, above and beyond the basics of Web app development, can be found in our Game development zone.
- Localization
- Localization technologies for Firefox OS and open web apps.
FAQ
- App development FAQ
- This FAQ is a compilation of answers to all the common app development questions received every week by our Business Development and Partner Engineering teams.
Other key topics
- Porting
- Advice, tips and techniques for those wishing to porting existing apps over to the open web platform, including native apps and web-related platforms such as Chrome apps.
- Performance
- Articles about making your web apps more performant.
- Web apps architecture
- An overview of the architecture behind the Open Web Apps project's design and implementation. NOT SURE IF WE NEED THIS ANYMORE; WE DO WANT AN APP LIFECYCLE DOCUMENT, WHICH SOME OF THIS CONTENT COULD BE REUSED IN.