dart_scorm
SCORM 1.2 and 2004 bindings for Flutter and Dart web applications
The facts
- Licence
- Apache-2.0 — OSI approved
- Pricing
- Open source Price source for dart_scorm, opens in a new tab
- Deployment
- Embedded in your own application
- Platforms
- Library · Web
- Documentation
- pub.dev/documentation/scorm/latest/ — opens in a new tab
Standards support
Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.
| 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 tab | The 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