[LINUX] Beziehung zwischen Plattformbeschränkungen und nativen Modulen beim Erstellen und Veröffentlichen von Electron-Apps

Wie Sie alle wissen, ermöglicht Electron die plattformübergreifende Entwicklung.

Wenn Sie jedoch vom Build zum Publizieren übergehen, ** werden nicht alle dieser Aufgaben auf einer Plattform ausgeführt **.

Außerdem ist ** die Geschichte anders, wenn native Module verwendet werden **.

Ich möchte das erklären.

Kann eine Plattform für alle Plattformen erstellt und veröffentlicht werden?

Die Frage lautet beispielsweise "Kann Windows Apps für alle Betriebssysteme erstellen?". Dies hängt jedoch davon ab, ob native Module verwendet werden oder nicht **.

Wenn Sie kein natives Modul verwenden

** Du kannst bauen **.

** Für das Veröffentlichen für Mac ist jedoch eine Codesignatur erforderlich, sodass dies nur auf einem Mac ** möglich ist.

Wenn Sie es auf einem Mac ausführen, wird daher alles von der Erstellung bis zur Veröffentlichung auf dem Mac abgeschlossen.

Docker-Bild

Ein Docker-Image wird als Umgebung zum Ausführen von Electron-Builder bereitgestellt.

Dies entspricht jedoch der Ausführung unter Linux, sodass Sie nur Apps für Windows und Linux erstellen und veröffentlichen können.

Wenn Sie das native Modul für Windows verwenden, können Sie es auch nicht erstellen.

Native Module werden im nächsten Abschnitt beschrieben.

Wenn Sie ein natives Modul verwenden

Native Module müssen für jedes Betriebssystem einzeln erstellt werden.

Daher ist es grundsätzlich erforderlich, so viele Build-Umgebungen vorzubereiten, wie es Zielplattformen gibt.

Wenn Sie ein natives Mac-Modul erstellen möchten, Mac.

Für Windows ist eine Windows-Buildumgebung erforderlich.

Angesichts der Tatsache, dass heutzutage auch VMs für Mac verfügbar sind, ist die Vorbereitung möglicherweise nicht schwierig, aber es besteht kein Zweifel daran, dass Sie für die Entwicklung einen tatsächlichen Computer benötigen.

Es ist wahr, dass Sie viele Funktionen implementieren können, ohne native Module zu verwenden, aber eines Tages werden Sie auf Probleme stoßen.

Ich denke, es ist in Ordnung, wenn Sie es brauchen, aber Sie müssen in Betracht ziehen, ein natives Modul und die zugehörige Build / Publish-Umgebung vorzubereiten.

Recommended Posts

Beziehung zwischen Plattformbeschränkungen und nativen Modulen beim Erstellen und Veröffentlichen von Electron-Apps