Application Developers: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
⚫ | This page is intended to be a gateway to resources that are useful to all '''application developers''' working on software for OLPC laptops. There are people in the OLPC management team, the OLPC offices and laboratories and working on the OLPC project as part of their employment at various companies and orgnaizations. There are also people around the world who are interested in the project and participate in developing applications to run on the laptops. ''See also the [[Talk:Application Developers|discussion page]]'' |
||
<center>''see also the [[Talk:Application Developres|discussion page]]''</center> |
|||
⚫ | This page is intended to be a gateway to resources that are useful to all '''application developers''' working on software for OLPC laptops. There are people in the OLPC management team, the OLPC offices and laboratories and working on the OLPC project as part of their employment at various companies and orgnaizations. There are also people around the world who are interested in the project and participate in developing applications to run on the |
||
==Environment== |
==Environment== |
Revision as of 20:28, 15 December 2006
This page is intended to be a gateway to resources that are useful to all application developers working on software for OLPC laptops. There are people in the OLPC management team, the OLPC offices and laboratories and working on the OLPC project as part of their employment at various companies and orgnaizations. There are also people around the world who are interested in the project and participate in developing applications to run on the laptops. See also the discussion page
Environment
see for instance: Setting Up a Sugar Development Environment on Windows
The OLPC needs a wide array of educational applications developed according to constructionist educational principles. Technically, these applications could be developed in any language supported by Linux, however the OLPC simply does not support the storage required to support all the possible runtime environments.
Therefore, application developers should restrict themselves to using C or the OLPC Python Environment. For web applications it's possible the use of JavaScript. In addition, application developers need to be careful about using any add-on libraries, even those which may be standard issue with Python. The OLPC team may decide to remove any component which is deemed to be redundant. This leads to the following principles:
- Check to see what libraries are included before you begin development
- Carefully choose support modules to minimize your storage footprint, for instance if you need a database, choose Sqlite rather than MySQL. Or better yet, use dbm.
- Test your application in a minimal environment such as one of the Minimal Linux distros or Development Systems.
- If you are unsure what is supported, ask.
- Use Python rather than C whenever possible to minimize storage footprint. A few kilobytes of Python source can accomplish the same job as many kilobytes of C object code because it leverages the Python runtime.
- Test you application with .pyc files only since the .py source will not normally be included in an installation.
- Distribute your source code under the GPL, LGPL or MIT license.
- Once you have started coding, apply to host your application at the OLPC's git repository