ตัวสร้างอิเล็กตรอนเทียบกับเครื่องบรรจุอิเล็กตรอน [ปิด]


120

ความแตกต่างหลักระหว่างตัวสร้างอิเล็กตรอนและตัวบรรจุอิเล็กตรอนคืออะไร มีโครงการตัวอย่างสำหรับทั้งสองโครงการหรือไม่? ข้อใดดีกว่าสำหรับการสร้างแอปพลิเคชัน. exe แบบสแตนด์อโลน

คำตอบ:


72

electron-packager คือ (ปรับปรุง: เปลี่ยนแปลงในการกระทำนี้: "refactor: merge electron-packager") ที่ใช้โดยผู้สร้างอิเล็กตรอน บทความนี้ระบุ

หากคุณต้องการไปในเมืองจริงๆลองดูที่ตัวสร้างอิเล็กตรอนซึ่งใช้แพ็คเกจที่ผลิตโดยเครื่องบรรจุอิเล็กตรอนและสร้างตัวติดตั้งอัตโนมัติ


1
สิ่งนี้ไม่ถูกต้อง: ฉันไม่เห็นการอ้างอิงถึง electron-packager ใน package.json ของ electron-builder github.com/electron-userland/electron-builder/…
mrm

นั่นเป็นเพราะมันไม่ได้ - อีกต่อไป
daniel.gindi

ฉันใช้ตัวสร้างอิเล็กตรอนสำหรับโครงการด้านข้างของฉันด้วย: github.com/hasukmistry/password-manager
Hasmukh Mistry

98

อัปเดตสิงหาคม 2019

ฉันใช้ตัวสร้างอิเล็กตรอนมานานกว่าหนึ่งปีแล้วบรรจุแอปของฉันสำหรับ macOS, Windows 10 และ Ubuntu Desktop ผู้ดูแลระบบ develar ได้เพิ่มไซต์เอกสารที่ยอดเยี่ยมเมื่อต้นปีที่ผ่านมาและยังคงอยู่เหนือการเปลี่ยนแปลงของ gatekeeper เป็น macOS เพื่อให้แน่ใจว่าตัวติดตั้งและตัวอัปเดตยังคงทำงานอยู่

อัปเดตเดือนพฤศจิกายน 2561

ผู้พัฒนาหลักของตัวสร้างอิเล็กตรอนได้ดำเนินการอย่างต่อเนื่องในโครงการรวมถึงการสนับสนุน Electron 3 ปลายทางการเผยแพร่สิ่งประดิษฐ์ใหม่ ๆ และเผยแพร่อย่างสม่ำเสมอพร้อมกับการแก้ไขข้อบกพร่อง ผู้ดูแลก่อนก้าวลงมาจากอิเล็กตรอนห่อและพวกเขายังไม่ได้มีหน้าต่างดูแลและยังคงไม่ได้รับการสนับสนุนจากหน้าต่างลงนามไบนารี สำหรับการอ้างอิง:

electron-packager ( 72 releases,  17 open issues,   639 closed)
electron-builder  (651 releases, 399 open issues, 2,603 closed)

อัปเดตธันวาคม 2560

Electron-builderได้รับการพัฒนาอย่างแข็งแกร่งในช่วงปีที่ผ่านมาโดยผลักดันเวอร์ชันใหม่พร้อมคุณสมบัติและการแก้ไขข้อบกพร่องทุกสัปดาห์ เอกสารประกอบที่https://www.electron.build/นั้นยอดเยี่ยมมากและการปฏิบัติตาม "คู่มือการติดตั้งอย่างรวดเร็ว" (ในหน้าแรกจะมีหลายส่วนด้านล่าง) ประกอบด้วยโครงการสำเร็จรูปและคำแนะนำทีละขั้นตอน

อัปเดตมิถุนายน 2560

electron-builderทำทั้งขั้นตอนบรรจุภัณฑ์ (เช่นทำอะไรelectron-packager) และสร้างโปรแกรมติดตั้งเฉพาะแพลตฟอร์ม (เช่นpkgหรือ Mac AppStore สำหรับ Mac, NSIS หรือ Windows Store สำหรับ windows และ AppImage สำหรับ linux)

สำหรับโครงการที่มีอยู่ของฉันelectron-forgeล้มเหลวด้วย "การอ้างอิงที่ขาดหายไป" ที่มีอยู่ในของฉันpackage.jsonและnode_modules)

ไม่ได้รับการบันทึกไว้อย่างดี แต่electron-builderเปลี่ยนจาก Squirrel.windows เป็น NSIS เมื่อต้นปีนี้เป็นโปรแกรมติดตั้ง windows เริ่มต้น NSIS สร้างแพ็คเกจตัวติดตั้งที่มีขนาดเล็กลงอย่างมาก (30mb จาก 90mb ในกรณีของโครงการของฉัน)

โพสต์ต้นฉบับ

ในเดือนมีนาคม 2017 ส่วนใหญ่พวกเขามีคุณลักษณะที่เท่าเทียมกัน ฉันพบสิ่งต่อไปนี้:

  • ทั้งคู่อยู่ในองค์กร " electron-userland " ดังนั้นทั้งคู่จึงเป็น "Legit"
  • electron-packager ไม่มีตัวดูแลหน้าต่าง
  • ตัวสร้างอิเล็กตรอนมีผู้ร่วมให้ข้อมูลมากกว่าและมีปัญหาอื่น ๆ อีกมากมายดังนั้นอาจมีข้อบกพร่องมากขึ้นหรือมีผู้ใช้มากขึ้น เครื่องบรรจุอิเล็กตรอนมีดาวมากขึ้น
  • ตัวสร้างอิเล็กตรอนรองรับรูปแบบเป้าหมายมากกว่าเครื่องบรรจุอิเล็กตรอน
  • electron-forgeนั้นขึ้นอยู่กับ electron-packager ดังนั้นจึงอาจเป็นประสบการณ์ "นอกกรอบ" ที่ง่ายกว่า

13

electron-packager บรรจุซอร์สโค้ดและสร้างไฟล์ปฏิบัติการ

ตัวสร้างอิเล็กตรอนสามารถสร้างตัวติดตั้งด้วยการสนับสนุน "การอัปเดตอัตโนมัติ" ในอิเล็กตรอน

http://electron.atom.io/docs/api/auto-updater/


อืมมelectron-packagerเท่านั้นดูเหมือนว่าจะสร้างโฟลเดอร์ที่มีแฟ้มที่ปฏิบัติการที่เปิดตัวแอพลิเคชัน ดูเหมือนจะไม่ได้สร้างตัวติดตั้งจริง ??
oldboy

5

โอเคฉันรู้ว่ากระทู้นี้เก่า แต่ฉันอยากจะแนะนำว่าทุกคน / ทุกคนใช้อิเลคตรอนฟอร์จมันจะทำให้ชีวิตของคุณดีขึ้นและฉันคิดว่าคุณจะรู้สึกฉลาดขึ้นเมื่อใช้มัน ฉันเองเคยฝันร้ายที่ตื่นขึ้นมาเผชิญหน้ากับปัญหาบรรจุภัณฑ์ มี cli ที่เรียบง่ายติดตั้งได้ทั่วโลกและความฝันของคุณอาจเป็นจริง

ฉันหวังว่ามันจะช่วยได้! ไม่ต้องกังวลฉันไม่ได้ทำ แต่มันช่วยฉันสร้างแอปเดสก์ท็อป


2
ฉันหวังว่าฉันจะได้พบความคิดเห็นนี้ก่อนที่จะเสียเวลาสองวันที่ผ่านมาไปยุ่งกับทั้งผู้สร้างและผู้บรรจุหีบห่อ
codestr

1
คุณสามารถจัดเตรียมการอัปเดตอัตโนมัติบนทั้งสามแพลตฟอร์มด้วยอิเล็กตรอนปลอมเช่นเดียวกับที่คุณสามารถทำได้ในตัวสร้างอิเล็กตรอนหรือไม่?
jayarjo

ในช่วงเวลาของโพสต์นี้ Electron-forge มีช่องโหว่มากมายในขณะที่ builder และ packager ไม่มี snyk.io/test/npm/electron-forge snyk.io/test/npm/electron-builder snyk.io/test/npm/electron- packager
Inkh Su Tesou

@InkhSuTesou เป็นกังวลมากขนาดนั้นเลยเหรอ? ช่องโหว่ทั้งหมดเหล่านี้อยู่ในเวอร์ชันอ้างอิงเฉพาะที่ใช้โดยเครื่องมือ ช่องโหว่เหล่านี้ส่วนใหญ่เกี่ยวข้องกับการปฏิเสธการให้บริการและไม่มีช่องโหว่ใดที่ดูเหมือนปัญหาที่จะเกิดขึ้นในแพ็คเกจที่คุณสร้างขึ้น การปลอมตัวสร้างและตัวบรรจุหีบห่อเป็นเครื่องมือทั้งหมดที่คุณเรียกใช้ในเครื่องไม่ใช่เครื่องมือที่มี API ที่คุณปรับใช้ ในการใช้ประโยชน์จากปัญหาเหล่านั้นผู้โจมตีจะต้องส่งผลกระทบต่อโครงสร้างต้นทางหรือเซิร์ฟเวอร์ CI ของคุณและหากพวกเขาสามารถทำอย่างใดอย่างหนึ่งได้พวกเขาก็ไม่จำเป็นต้องมีช่องโหว่ในการล็อก
bobpaul

2

คุณสามารถใช้https://github.com/SimulatedGREG/electron-vue/นี้เพื่อสร้างเทมเพลตโดยใช้ vue และอิเล็กตรอนซึ่งรองรับทั้ง electron-packager และ electron-builder

สำหรับฉันฉันชอบตัวสร้างอิเล็กตรอนเสมอเพราะมันง่ายกว่ามากสำหรับฉันและสามารถสร้างไบนารีโดยใช้ travis ci และ appveyor และส่งต่อไปยัง github release เช่น repo นี้ที่ฉันทำhttps://github.com/gengjiawen/android-studio- ผู้ช่วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.