Nick Untitled

Writing as my personal diary

นำแอพที่ใช้ ElectronJS ไปใช้งานบน Surface Pro X

Share: 

เขียนต่อจากโพสก่อนที่พูดถึงเรื่องแอพที่ใช้ คราวนี้มาพูดถึงการพอร์ตแอพเพื่อนำมาใช้งานบน Surface Pro X ครับ ซึ่งที่เคยทำแล้วทำได้ก็คือคอมไพล์โปรแกรมที่ใช้ไลบรารี Electron ที่อนุญาตให้เราเขียนเว็บแล้วเอามารันบน Desktop ได้เลย

แต่ทีนี้ปัญหาของโปรแกรมที่ให้ดาวน์โหลดก็คือ ตัวโปรแกรมรองรับสถาปัตยกรรม x86 ที่ใช้ 32-bit หรือ 64-bit แต่ไม่ได้เปิดให้ดาวน์โหลดใช้งานสำหรับ ARM64 ยกเว้นบางโปรแกรมตัวอย่างเช่น Visual Studio Code, MS Team เป็นต้น

ทีนี้ เราจะทำอย่างไรดีล่ะ เพราะวินโดว์บน Surface Pro X ไม่มี Node.js ให้โหลด (อันนี้ลองคอมไพล์แล้วยังใช้งานไม่ได้ สงสัยตั้งค่าไม่ถูก เดี๋ยวค่อย ๆ เช็คกันทีหลัง) เลยต้องใช้คอมพิวเตอร์อีกเครื่องที่มีวินโดว์ 10 ที่ใช้ซีพียู x86 มาแปลงให้ใช้งานบน Surface Pro X ได้

วิธีการนำแอพที่พัฒนาด้วย ElectronJS ไปใช้งานบน Surface Pro X

ดีที่ว่าไปเจอข่าวในเว็บไซต์ที่ระบุไว้ว่าเราสามารถพอร์ตไปยัง ARM64 ได้โดยเราการพิมพ์ไม่กี่คำสั่งก็สามารถใช้งานได้แล้ ตามด้านล่างนี้ (ส่วนโปรแกรมที่ใช้ไลบรารีแบบ Native อันนี้ต้องคอมไพล์ไลบรารีไปด้วย)

  1. ติดตั้งเครื่องมือที่ใช้คอมไพล์โค้ดให้สามารถใช้งานในสถาปัตยกรรม ARM64 ก่อน โดยติดตั้งผ่าน Visual Studio Community Edition เลือกเครื่องมือที่ติดตั้งได้แก่ MSVC Build Tools, ATL build tools, MFC build tools (ที่เป็นรุ่นล่าสุด) Windows 10 SDK เอารุ่นล่าสุด ตามรายละเอียดในหน้าเว็บของ Electron ที่แนะนำได้เลย
  2. ติดตั้ง Node.js เวอร์ชันใหม่ (ตามเว็บจะแนะนำรุ่น 12.9 เป็นต้นไป แต่ในหน้าเว็บของ Node.js ก็เป็นรุ่นใหม่กว่าแล้ว ก็เอาตามในหน้าเว็บได้เลย)
  3. ติดตั้ง Git เพราะโปรแกรมที่ทำแบบนี้ได้จะเผยแพร่ในเว็บนี้แหละ
  4. โคลน Source Code จากเว็บ Github หรืออื่น ๆ ตัวอย่างเช่น Netron
  5. ตั้งค่าให้คอมไพล์สำหรับ ARM64 โดยพิมพ์คำสั่ง npm_config_arch=arm64
  6. พิมพ์คำสั่ง npm install หรือ yarn install เพื่อติดตั้งแพคเกจ ตัวโปรแกรมจะติดตั้งไลบรารีสำหรับ ARM64
  7. ติดตั้งเครื่องมือทำแพคเกจของ Electron ได้แก่ electron-builder (หรืออื่น ๆ)
  8. สั่งให้มันสร้างแพคเกจเพื่อติดตั้งบน Surface Pro X ตัวอย่างเช่น electron-builder --windows nsis:ia32
  9. ตัวโปรแกรมจะสร้างไฟล์ติดตั้งโปรแกรมสำหรับ ARM64 ขึ้นมา
ไฟล์ติดตั้งที่ได้รับการสร้างขึ้นโดย Electron-builder

เมื่อสร้างเสร็จแล้ว เราคัดลอกไฟล์ไปติดตั้งบน Surface Pro X แล้วเปิดใช้งานตามปกติ โดยเราลองคอมไพล์ไปแล้ว จะได้ผลตามด้านล่างนี้ครับ

ส่วนโปรแกรมอื่น ยังไม่ได้ทดสอบครับ ผู้อ่านสามารถเอาไปลองทำได้เลยครับผม

โดยสรุปแล้ว

เราสามารถคอมไพล์โปรแกรมที่ใช้ไลบรารี Electron เพื่อทำงานบนคอมพิวเตอร์ที่ใช้ ARM64 อย่าง Surface Pro X ได้ตามวิธีข้างบน แต่อย่างไรก็ดี บางโปรแกรมอาจจะทำงานได้ไม่สมบูรณ์ก็ต้องไปเช็คการตั้งค่าอีกทีครับ และบางโปรแรกมที่ใช้ไลบรารีแบบ Native ก็ต้องคอมไพล์ให้เรียบร้อยก่อน แล้วค่อยจัดทำแพคเกจสำหรับการติดตั้งครับผม

, , , , , , , , , , , , , , , , ,