Pass platform device frameworks

[ad_1]

The opposite day, I got here throughout Elk Local, a local model of the relatively very good, if early-stage, Mastodon Internet shopper Elk. To be fair, I puzzled why they might construct a local model, if the Internet shopper works so neatly. I downloaded the 7.8 MB Elk_0.4.0_macos_x86_64.dmg and straight away bumped into Factor #74, this is, a clean display screen.

To higher perceive the inducement in the back of the Elk Local builders, I attempted the similar for one in all my apps, with other frameworks. This repository comprises the similar PWA, SVGcode, wrapped 5 instances with other pass platform device frameworks.

Working the apps

SVGcode is incorporated as a git submodule in every framework folder. To run the apps, you first wish to construct SVGcode, after which get started the wrapper app. In every subfolder, run the next instructions.

npm run build-svgcode
npm get started

Incorporated frameworks

Screenshots

⚠️ I am a Internet developer, now not a desktop app developer. I merely adopted the “Getting began” guides and might be retaining the frameworks fallacious.

Whilst I controlled to get all apps to run, none of them labored completely out of the field, and there used to be at all times a atypical error I may just now not give an explanation for. SVGcode works positive on Chrome, Safari, and Firefox when run within the standalone browsers. To look what is underneath the hood of the frameworks, I regarded on the consumer agent information by means of DevTools.


reproduction(
  JSON.stringify(
    anticipate navigator.userAgentData.getHighEntropyValues([
      'architecture',
      'bitness',
      'model',
      'platformVersion',
      'uaFullVersion',
      'fullVersionList',
    ]),
    null,
    2
  )
);


reproduction(navigator.userAgent);

Electron.js

Clicking the Replica SVG button reasons an Uncaught (in promise) ReferenceError: Can't get admission to 'P' sooner than initialization. error.

{
  "structure": "arm",
  "bitness": "64",
  "manufacturers": [
    {
      "brand": "Not A(Brand",
      "version": "24"
    },
    {
      "brand": "Chromium",
      "version": "110"
    }
  ],
  "fullVersionList": [
    {
      "brand": "Not A(Brand",
      "version": "24.0.0.0"
    },
    {
      "brand": "Chromium",
      "version": "110.0.5481.100"
    }
  ],
  "cell": false,
  "fashion": "",
  "platform": "macOS",
  "platformVersion": "13.3.0",
  "uaFullVersion": "110.0.5481.100"
}

NW.js

Clicking the Replica SVG button reasons an Uncaught (in promise) ReferenceError: Can't get admission to 'P' sooner than initialization. error.

{
  "structure": "arm",
  "bitness": "64",
  "manufacturers": [
    {
      "brand": "Not A(Brand",
      "version": "24"
    },
    {
      "brand": "Chromium",
      "version": "110"
    }
  ],
  "fullVersionList": [
    {
      "brand": "Not A(Brand",
      "version": "24.0.0.0"
    },
    {
      "brand": "Chromium",
      "version": "110.0.5481.97"
    }
  ],
  "cell": false,
  "fashion": "",
  "platform": "macOS",
  "platformVersion": "13.3.0",
  "uaFullVersion": "110.0.5481.97"
}

Tauri

Clicking the Save SVG button does not anything.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)

Neutralinojs

Clicking the Open Symbol button does not anything. Clicking the Save SVG button does not anything.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)

Gluon

Fails with a RangeError Didn't execute 'createImageBitmap' on 'Window': The crop rect width is 0..

{
  "structure": "arm",
  "bitness": "64",
  "manufacturers": [
    {
      "brand": "Chromium",
      "version": "110"
    },
    {
      "brand": "Not A(Brand",
      "version": "24"
    },
    {
      "brand": "Google Chrome",
      "version": "110"
    }
  ],
  "fullVersionList": [
    {
      "brand": "Chromium",
      "version": "110.0.5481.177"
    },
    {
      "brand": "Not A(Brand",
      "version": "24.0.0.0"
    },
    {
      "brand": "Google Chrome",
      "version": "110.0.5481.177"
    }
  ],
  "cell": false,
  "fashion": "",
  "platform": "macOS",
  "platformVersion": "13.3.0",
  "uaFullVersion": "110.0.5481.177"
}

Construction the apps (incomplete)

I began taking a look into construction the apps, however did not get too some distance. Electron.js appears to be like find it irresistible has essentially the most advanced toolchain, but if I ran electron-forge make, I stopped up with a 332,1 MB executable referred to as svgcode-electron.app that simplest confirmed a white display screen, regardless of the electron-forge get started building app operating most commonly positive.

To construct the apps, run the next command in every subfolder. (Up to now I’ve simplest labored on Electron.js.)

npm run construct

I did not even glance into the signing phase, which is needed for right kind distribution.

Conclusions

I am not certain what to make of this. To be fair, I did not see anything else that will be extra compelling than simply surfing to svgco.de, clicking Set up, and be excellent. However then I clearly did not faucet into any of the local options that pass platform frameworks permit you to do. I simplest spotted how options that I am getting at no cost within the Internet model, like Window Controls Overlay or Document Dealing with had been damaged. However once more, I would possibly simply be retaining those frameworks fallacious. For now, it used to be a profitable workout, however I feel I’m going to stick with the Internet.

[ad_2]

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Back To Top
0
Would love your thoughts, please comment.x
()
x