| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Scratch Link is a helper application which allows Scratch 3.0 to communicate with hardware peripherals. Scratch Link replaces the Scratch Device Manager and Scratch Device Plug-in.
System Requirements:
| Minimum | |
|---|---|
| macOS | 10.15 "Catalina" |
| Windows | Windows 10 build 17763 |
The Windows version requires the Windows App Runtime version 1.2, and will install it automatically if possible.
Manual installation is available here (choose your platform):
To use Scratch Link with Scratch 3.0:
The general network protocol and all supported hardware protocols are documented in Markdown files in the Documentation subdirectory. Please note that network protocol stability and compatibility are high priorities for this project. Changes to the protocol are unlikely to be accepted without very strong justification combined with thorough documentation.
Please use markdownlint to check documentation changes before submitting a pull request.
Scratch Link 2.0 uses semantic-release to control its version number. The develop branch is treated as a pre-release branch, and main is treated as a release branch. Each time a change is merged to either of those branches, semantic-release will calculate a new version number.
Apple requires that CFBundleShortVersionString is unique for published releases. The App Store will also reject an upload unless the CFBundleVersion tuple is greater than that of previously uploaded builds. To make this easy, we set CFBundleShortVersionString to the version calculated by semantic-release, and CFBundleVersion is calculated from the date and time of the build commit.
Extended version information is available within the application. This extended information is similar to git describe.
Some previous versions of Scratch Link used Secure WebSockets (wss://) to communicate with Scratch. This is no longer the case: new versions of Scratch Link use regular WebSockets (ws://). It is no longer necessary to prepare an SSL certificate for Scratch Link.
This change caused an incompatibility with some browsers, including Safari. The macOS version of Scratch Link 2.0 includes a Safari extension to resolve this incompatibility.
The PublishReadyToRun (R2R) setting enables ahead-of-time (AOT) compilation, as opposed to just-in-time (JIT) compilation. This can improve performance, especially at startup. The drawback is R2R binaries are larger because they contain both intermediate language (IL) code, which is still needed for some scenarios, and the native version of the same code.
Recent versions of .NET (5.0 and above) can build a "Framework-Dependent Application" or a "Self-Contained Application" depending on settings.
When packaging an application:
Ideally, it would be possible to package a single "AnyCPU" build of the app with stub MSIX files to install each platform-specific copy of the framework, resulting in a Bundle that's only a little larger than a single copy of the app. More investigation needed.
However, it is possible to build a platform-specific MSIX containing an AnyCPU build of the app. That's much smaller than a platform-specific build of the app, so even with 3 full copies of the AnyCPU app -- one each packaged for x86, x64, and ARM64 -- the resulting bundle is significantly smaller.
Disabling R2R and bundling AnyCPU builds of the app generated a bundle roughly 12% of the size of a bundle of self-contained apps for the same set of platforms.
| Back | FazBrowse Home | New Git URL |