electron/docs-translations/th-TH/glossary.md

12 KiB

อภิธานศัพท์ (Glossary)

เพจนี้จะบ่งบอกคำศัพท์ที่ถูกใช่บ่อยๆในการพัฒนา Electron

ASAR

ASAR (Atom Shell Archive Format) เป็น extension ของไฟล์ มันมีลักษณะความคล้ายครีง tar ที่รวมหลายไฟล์ลงไปในไฟล์เดียว Electron สามารถอ่านไฟล์ ASAR ได้เลยโดยที่ไม่ต้อง unpack

กำลังทำ: ไฟล์ประเภท ASAR นั้น สร้างมาเพื่อเพิ่มประสิทธิถาพบนระบบปฎิบัติการ Windows

Brightray

Brightray เป็น static library ที่ทำให้ libchromiumcontent ใช้ได้ง่ายขึ้น ในแอพพิเคชั่น มันถูกสร้างขึ้นมาเพื่อ Electron โดยเฉพาะ แต่ว่ามันสามารถเปิดใช้ในแอพที่ใช้ Chromium's render ซึ่งไม่ถูกสร้างจาก Electron ได้

Brightray เป็น dependency ของ Electron ที่ไม่ค่อยได้ใช้งานสำหรับผู้ใช้ Electron ทั่วไป

DMG

DMG เป็นรูปแบบไฟล์ที่ใช้กับ Apple Disk Image

โดยส่วนมากไฟล์ DMG จะถูกใช้ในการแจกแจงตัวติดตั้งของแอพพิเคชั่น คุณสามารถใช้ electron-builder ในการสร้างไฟล์ขึ้นมาได้

IPC

IPC ย่อมาจาก Inter-Process Communication ซึ่ง Electron ใช้ IPC ในการที่จะส่งข้อความ JSON ระหว่าง โปรเซสหลัก และ ตัวเรนเดอร์

libchromiumcontent

เป็น library รวมที่มี Chromium Content โมดูลและ dependencies ต่างๆเข้าไปด้วย (อาทิเช่น Blink, V8, ฯลฯ)

โปรเซสหลัก

โปรเซสหลักในส่วนมากจะเป็นไฟล์ main.js ซึ่งเป็นจุดเริ่มต้นของทุกๆแอพของ Electron โปรเซสหลักเป็นตัวที่กำหนดการทำงานของแอพตั้งแต่ต้นจนจบ มันจะควบคุมองค์ประกอบของแอพเช่น Menu, Menu Bar, Dock, Tray, ฯลฯ โปรเซสหลักนั้นจะรับผิดชอบการสร้างตัวเรนเดอร์ใหม่ในแอพ

Node API นั้นมาพร้อมกับ Electron

package.json จะสามารถใช้ระบุโปรเซสหลักของทุกๆแอพบน Electron ได้ นี้คือเหตุผลที่ electron . รู้ว่าไฟล์ไหนควรจะรันตอนเริ่มต้น

เพิ่มเติม: process, renderer process

MAS

MAS เป็นตัวย่อของ Mac App Store ในการที่จะส่งไฟล์ลง MAS นั้นโปรดดู [การแนะนำการส่ง Mac App Store](Mac App Store Submission Guide)

native modules

Native โมดูล (อีกชื่อคือ addons) คือโมดูลที่เขียนด้วย C หรือ C++ ที่สามารถจะโหลดอยู่ใน Node.js หรือ Electron โดยการใช้ฟังค์ชั่น require() และใช้แบบเดียวกับโมดูล Node.js ธรรมดา

โดยส่วนมากมันถูกใช้เป็นอินเตอร์เฟสระหว่าง JavaScript และ Node.js ผ่านทาง C/C++

Native Node โมดูลจะได้รับการสนับสนุนจาก Electron แต่ว่ามีความเป็นไปได้ว่า Electron นั้นจะใช้ V8 คนละเวอร์ชั่นกับ Node ที่มีอยู่ในระบบ คุณจะต้องเป็นคนเลือก Electron's header ด้วยตนเอง

เพิ่มเติม: วิธีการใช้ Native Node โมดูล

NSIS

NSIS ย่อมาจาก Nullsoft Scriptable Install System คือตัวติดตั้งที่ขับเคลื่อนด้วยสคริปท์ สำหรับระบบปฎิบัติการ Windows มันได้รับการจดลิขสิทธ์สำหรับใช้ทุกๆคน มันถูกใช้แทนสินค้าเชิงพาณิชย์เช่น InstallShield electron-builder นั้นรองรับการสร้าง NSIS

process

โปรเซสคือ instance ของโปรแกรมที่กำลังทำงานอยู่ Electron แอพนั้นใช้ โปรเซสหลัก และ ตัวเรนเดอร์ หนึ่งตัวขึ้นไปที่รัน หลายๆโปรเกรมพร้อมๆกัน

ใน Node.js และ Electron นั้น แต่ละโปรเซสที่กำลังรันอยู่จะมี process object Object ตัวนี้เป็น global ที่ให้ข้อมูลและการควบคุมของตัวโปรเซสนั้นๆ

เพราะว่ามันเป็น global ดังนั้นจึงไม่จำเป็นที่จะเรียก require() เพื่อใช้งาน

เพิ่มเติม: โปรเซสหลัก, ตัวเรนเดอร์

renderer process

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

ใน บราวเซอร์ ทั่วๆไป เว็ปเพจจะได้รับการรันด้วยสภาพแวดล้อมจำกัดและจะไม่สามารถใช้ทรัพยากร native ได้

แต่ว่าสำหับผู้ใช้ Electron นั้นเราสามารถให้ เว็ปเพจมีการปฏิสัมพันธ์กับระบบปฎิบัติการได้โดยผ่านทาง API ของ Node.js

เพิ่มเติม: โปรเซสหลัก, ตัวเรนเดอร์

Squirrel

Squirrel เป็น open-source framework ที่ทำให้แอพ Electron นั้น อัพเดทได้อย่างอัตโนมัดเมื่อมีเวอร์ชั่นใหม่เข้ามา

เพิ่มเติม: autoUpdater API เพื่อการใช้งาน Squirrel เบื้องต้น

userland

"Userland" แต่แรกทีมาจากสังคม unix ซึ่งหมายถึงโปรแกรมที่รันข้างนอก kernel ของระบบปฎิบัติการ ภายหลังนี้ "userland" ได้รับความสนใจจากสังคม Node และ npm เพื่อใช้ในการอธิบายความแตกต่าง ของ feature ที่พร้อมไช้งานใน "node core" กับ แพ็คเกจที่ได้รับการแจกจ่ายถายใน npm registry ซึ่งมาจากเหล่าคนใช้ที่กว้างขวาง

Electron นั้นมีความคล้ายคลึงกับ Node ตรงที่มี API ที่ไม่เยอะแต่ว่ามีความสามารถเพียงพอ ในการพัฒนา multi-platform แอพพิเคชั่น

ด้วยปรัชญาการออกแบบนี้เองที่ทำให้ Electron นั้นเป็นเครื่องมือที่มีความยืดหยุ่นโดยที่ไม่กำหนดให้ผู้ใช้ ใช้งานได้เพียงตามที่ออกแบบไว้

Userland ได้เปิดโอกาสให้ผู้ใช้สามารถสร้างและแบ่งปันเครื่องมือนอกเหนือจากอะไรก็ตามที่มีอยู่ใน "core"

V8

V8 เป็น JavaScripe engine ของ Google ที่เป็น open source มันถูกเขียนขึ้นด้วย C++ และถูกใช้ใน Google Chrome

Google Chrome เป็น open source บราวส์เซอร์ของ Google

V8 สามารถรันแยกเองต่างหากได้ หรือจะสามารถนำไปใช้กับแอพพิเคชั่น C++ อะไรก็ได้

webview

webview เป็นแท็กที่ใช้ในการใส่ข้อมูลสำหรับคนใช้ทั่วไป (เช่นเว็ปภายนอก) ใน Electron แอพของคุณ มันมีความคล้ายครึงกับ iframe แต่ว่าต่างกันโดยที่ webview รันโดยโปรเซสคนละตัว มันไม่มี permission เหมือนกับเว็ปเพจของคุณและการมีปฏิสัมพันธ์ระหว่าง แอพของคุงกับสิ่งที่ฝังอยู่จะเป็นไปโดยราบลื่นโดยที่ไม่ต้องซิ้งค์ (asynchronous)

ด้วยเหตุนี้เองทำให้ แอพของคุณปลอกภัยจากสิ่งที่ถูกฝัง