Uploaded image for project: 'Realm JavaScript SDK'
  1. Realm JavaScript SDK
  2. RJS-211

Suggestion: privilege compatibility with NW.js over electron

      Goals

      Building Desktop applications with Realm.

      Expected Results

      We expect to use Realm with the latest nodejs and chromium versions and stay on the edge of technology.

      Actual Results

      Though Electron is a popular technology, it is always stuck with older versions of nodejs and chromium, and takes several months to update its core dependencies. As such the architecture of Electron is questionable and its usage is quite frustrating as it gives to developers the impression to be locked down and behind the flow, which is not quite professional.

      Suggestion

      Besides the ethical considerations which would lead honest developers to not use Electron (questionably derived from NW.js), a major technical reason to privilege NW.js is that it is always in parity with latest nodejs and upstream chromium.

      With NW.js, updates to core dependencies are a matter of days, not months.

      For example, actual beta version of electron, v1.8.*-beta, ships with chromium 52 and node 8.2.1, whereas actual stable version of NW.js, v0.28.0, ships with chromium 64 and node 9.4.0.

      Moreover, the architecture of Electron has been originally tailored to fit the needs of the particular "Atom Editor" application. By using Realm, like pointed out in the Realm Blog, the particular IPC mechanism used by Electron for inter-process communication is no longer needed, making Realm more adapted to the architecture of NW.js.

      NW.js has a thoughtful architecture and many advantages over Electron for production apps like binary es6 modules without loss of performance and other developer friendly options amongst many other features.

      One hopes that the Realm team will privilege the professionalism of NW.js over the mere popularity of Electron and its questionable architecture, which is causing an unacceptable delay in the update of its core dependencies.

            Assignee:
            Unassigned Unassigned
            Reporter:
            unitosyncbot Unito Sync Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: