Skip to content

dart_scorm

SCORM 1.2 and 2004 bindings for Flutter and Dart web applications

Stale · 37 mo Last commit Checked · 24 Aug 2026

The facts

Licence
Apache-2.0 — OSI approved
Deployment
Embedded in your own application
Platforms
Library · Web

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for dart_scorm, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 Yes editor-checked · 24 Aug 2026— source, opens in a new tab
SCORM 2004 Yes editor-checked · 24 Aug 2026— source, opens in a new tabThe package binds to the window.API_1484_11 object and passes calls straight through; no edition is asserted. The bundled example manifest declares "2004 3rd Edition".
xAPI No editor-checked · 24 Aug 2026
cmi5 No editor-checked · 24 Aug 2026
AICC Not stated
LTI Not stated
Claimed
— the vendor states it. We have not confirmed it.
Checked
— an editor confirmed it on the date shown.
Verified
— an official registry lists it, and we link to the entry.

Editor's notes

A small Dart package that lets a Flutter or Dart web application talk to the LMS that launched it. ScormAPI.findApi() walks the window hierarchy and then the opener hierarchy looking for an API object — preferring SCORM 2004's API_1484_11 and falling back to 1.2's API — after which initialize, getValue, setValue, commit, finish and terminate pass calls straight through to JavaScript.

That is the whole surface, and for the problem it addresses that is the right size. Flutter web output is a canvas inside an iframe; finding the API adapter across frames is fiddly, and this package removes the fiddliness in a few lines. The example project is genuinely useful — it shows the iframe wrapper, the manifest and the zip layout that make a Flutter build launchable as a SCO.

What it will not do: validate anything. There is no CMI data model, no type or vocabulary checking, no packaging step, and no help with completion or scoring semantics — write the wrong element and the LMS, not the library, tells you.

For someone deciding today: this is a single-maintainer package with a handful of stars, last released in August 2023 to add Dart 3 and null safety, and untouched since. Because it is a thin binding over an API that has not changed since 2009, staleness costs less here than it would in a runtime. The real risk is Flutter's own web renderer moving underneath it, not SCORM.

Listed on scorm-tools.com

Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.

Get the embed code