30 คะแนน โดย xguru 2022-08-23 | 6 ความคิดเห็น | แชร์ทาง WhatsApp

เปรียบเทียบเป็นรายหัวข้อด้วยแอป 2FA ข้ามแพลตฟอร์มชื่อ Authme

  • ขนาดแพ็กเกจ: Tauri ที่ใช้เว็บวิวของระบบปฏิบัติการมีขนาดเล็กกว่ามาก 2.5MB vs. 85MB
  • เวลาเริ่มต้น: Tauri ~2 วินาที vs. Electron ~4 วินาที
  • การใช้แรม:
    • บน Windows แทบไม่ต่างกันมาก โดย Tauri 80MB, Electron 120MB
    • บน Linux Tauri 80MB แต่ฝั่ง Electron มีหลายอย่างรันขึ้นมาจนเกิน 500MB ทำให้ต่างกันมาก
  • AppBackend: Electron ใช้รันไทม์ Node.js จึงเขียนด้วย JavaScript ก็ได้ แต่ Tauri ต้องเขียนด้วย Rust
    • ในโรดแมปของ Tauri ระบุว่าจะรองรับ Python, C++ และ Deno ด้วย
  • การเรนเดอร์: Electron ใช้ Chromium ทั้งบน Windows/macOS/Linux ส่วน Tauri ใช้ Windows (Edge WebView2) / Linux (WebKitGTK) / macOS (WebKit)
    • อาจมีความแตกต่างกันตามเบราว์เซอร์ จึงมีกรณีที่ Tauri ต้องใช้ polyfill
  • ความปลอดภัย: Tauri มีฟีเจอร์ด้านความปลอดภัยจำนวนมากในตัว จึงปลอดภัยโดยพื้นฐาน
  • การอัปเดตอัตโนมัติ:
    • ฝั่ง Tauri ทำได้ง่ายกว่า มี Updater ในตัว (แต่ข้อเสียคือต้องดูแลเซิร์ฟเวอร์อัปเดตเอง)
    • ฝั่ง Electron มักใช้ electron-updater ข้อดีคือสามารถดึงไบนารีจาก GitHub Releases ได้โดยตรง จึงสะดวก
  • ประสบการณ์นักพัฒนา:
    • Tauri แค่ติดตั้ง CLI ก็ใช้งานทุกอย่างได้ทันที (hot reloading, bundling, การสร้างแอป ฯลฯ)
    • Electron ไม่มีสิ่งเหล่านี้มาให้ มีเพียงตัวเฟรมเวิร์ก ต้องจัดการ hot reloading/bundling เอง
    • จุดเด่นที่สุดของ Tauri คือเข้ากันได้กับทุกเว็บเฟรมเวิร์ก

สรุป

  • เลือก Tauri
  • แม้ยังมีส่วนที่ขาดอยู่ แต่ภายในไม่กี่ปีทีม Tauri น่าจะตาม Electron ทัน
  • สิ่งที่คาดหวังเป็นพิเศษคือการใช้ Deno เป็นแบ็กเอนด์ได้ รวมถึงการอัปเดตอัตโนมัติที่สะดวกขึ้น และการรองรับ iOS/Android

6 ความคิดเห็น

 
joone 2022-08-29

ดูเหมือนว่า Tauri จะไม่ได้ใช้เอนจินที่สร้างขึ้นเอง แต่ใช้ไลบรารี webview ที่มีอยู่ในระบบนะครับ

 
kayws426 2022-08-23

ถ้าเทียบขนาดตัวติดตั้งจะเป็น 2.5MB vs. 85MB
และหลังติดตั้งจะเป็น 3.64MB vs. 221MB ครับ

 
ifmkl 2022-08-23

ว้าว อันนี้ดูดีมากเลย!

 
jjpark78 2022-08-23

รองรับแอปมือถือ น่าตื่นเต้นมากจริงๆ

 
freedomzero 2022-08-23

ในฐานะ Rustacean ผม/ฉันยินดีมากที่ ecosystem ของ Rust กำลังเติบโตขึ้น ต้องเปิดแอป Electron บน Mac พร้อมกันตั้ง 3 แอปเลย ทำให้ MacBook ร้อนมาก เศร้า

 
xguru 2022-08-23

Tauri - เฟรมเวิร์กเว็บแอปสำหรับเดสก์ท็อปที่สร้างไฟล์รันขนาดเล็กและรวดเร็ว
Tauri v1.0 เปิดตัว

ตรงช่วงความปลอดภัยกลางบทความมีการพูดว่า Electron เข้าถึง Node API ได้แบบเต็มรูปแบบ แต่
nodeIntegration มีค่าเริ่มต้นเป็น false มาตั้งแต่ 5.0 และตั้งแต่ 20.0 เป็นต้นมาก็มีการทำ sandboxing แล้ว ดังนั้น Electron เองก็ถือว่าปลอดภัยในระดับหนึ่ง
https://www.electronjs.org/docs/latest/tutorial/security