[Sugar-devel] [FEATURE] Create an adapter that calls the third parties/libraries for better maintainability.

James Cameron quozl at laptop.org
Sun Feb 10 20:44:34 EST 2019


Examples of adapters used by Sugar activities are;

- Sugar Toolkit for GTK 3, for Python activities,
  https://github.com/sugarlabs/sugar-toolkit-gtk3
  (assumed to be preinstalled on a system that runs Sugar)

- Sugargame, an integration of GTK 3 and Pygame,
  https://github.com/sugarlabs/sugargame
  (kept as copies of files in activity source code)

- CollabWrapper, a simplification of Telepathy,
  https://github.com/sugarlabs/collabwrapper
  (kept as copies of files in activity source code)

- Sugar Web for JavaScript activities,
  https://github.com/sugarlabs/sugar-web
  (kept as copies of files in activity source code)

We also call them Python modules or Sugar components.

Please learn each of these adapters fully.

We already have all the adapters needed, but if you have an idea for a
new one, please specify it and show how it would simplify maintenance.

Also, there are some common code patterns in activities that could be
added to the above adapters.

A disadvantage of adapters is where they are packaged for Linux
distributions, such as the Toolkit, because then API version
dependencies have to be considered.  (e.g. if we have to add a feature
to the Toolkit to support a new release of the Chat activity, then
those new releases of the Chat activity won't be able to be used on
old releases of the Toolkit.)

-- 
James Cameron
http://quozl.netrek.org/


More information about the Sugar-devel mailing list