บทความ
การประมวลผล client-side คืออะไร?
เครื่องมือไฟล์ส่วนใหญ่ทำงานโดยส่งเอกสารของคุณไปยังคอมพิวเตอร์ระยะไกลซึ่งทำงานหนักแล้วส่งผลลัพธ์กลับมา การประมวลผล client-side พลิกรูปแบบนั้น: เบราว์เซอร์ของคุณเองทำงาน และไฟล์ของคุณไม่เคยออกจากอุปกรณ์
สองวิธีที่เครื่องมืออาจทำงาน: เครื่องของคุณหรือเครื่องของพวกเขา
ด้วยการประมวลผลฝั่งเซิร์ฟเวอร์ การอัปโหลดไฟล์ก็เหมือนกับการฝากซักผ้า: คุณส่งมันไป เครื่องระยะไกลจัดการ แล้วคุณรับผลลัพธ์ในภายหลัง การประมวลผล client-side ก็เหมือนซักผ้าที่บ้าน เครื่องมือทำงานภายในแท็บเบราว์เซอร์ของคุณ อ่านไฟล์จากหน่วยความจำ ประมวลผล และส่งผลลัพธ์ให้คุณ ทั้งหมดโดยไม่มีไฟล์แตะการเชื่อมต่อเครือข่ายใดๆ เว็บไซต์เพียงต้องส่งโค้ดประมวลผลครั้งเดียว หลังจากนั้นทุกอย่างทำงานในฝั่งของคุณ
สิ่งที่ WebAssembly นำมาสู่เบราว์เซอร์
มาหลายปีแล้วที่เบราว์เซอร์รันได้แค่ JavaScript ซึ่งเหมาะสำหรับส่วนติดต่อผู้ใช้แต่ช้าเกินไปสำหรับงานเช่นการเข้ารหัสวิดีโอซ้ำหรือบีบอัดรูปภาพขนาดใหญ่ WebAssembly (มักย่อว่า WASM) เปลี่ยนสิ่งนั้น มันเป็นรูปแบบไบนารีขนาดกะทัดรัดที่เบราว์เซอร์สามารถรันได้ด้วยความเร็วใกล้เคียงกับโค้ดเนทีฟ ดังนั้นโค้ดที่เขียนด้วย C หรือ C++ สามารถคอมไพล์เป็น WASM และรันในแท็บเบราว์เซอร์โดยไม่ต้องมีปลั๊กอิน โคเดกและไลบรารีบีบอัดที่ขับเคลื่อนซอฟต์แวร์บนเดสก์ท็อปตอนนี้ทำงานโดยตรงในหน้าเว็บ JavaScript และ WebAssembly ทำงานร่วมกัน: JavaScript จัดการส่วนติดต่อและการประสานงาน ในขณะที่ WASM จัดการการคำนวณหนัก
สิ่งที่เกิดขึ้นจริงระหว่างงาน
เมื่อคุณวางไฟล์ลงในเครื่องมือ client-side หน้าจะโหลดเอนจิ้นประมวลผลขนาดเล็ก (มักเป็นโมดูล WASM) หากยังไม่ได้โหลด แล้วส่งไฟล์ของคุณผ่าน JavaScript การประมวลผลจริงมักทำงานบนเธรดพื้นหลังที่เรียกว่า Web Worker ซึ่งทำให้ส่วนติดต่อเบราว์เซอร์ยังคงตอบสนองขณะงานกำลังทำงาน คุณสามารถเปิดแท็บ Network ของเบราว์เซอร์ได้ตลอดเวลาระหว่างนี้ และจะไม่มีคำขอใดที่มีไฟล์ของคุณปรากฏขึ้น ผลลัพธ์ถูกรวบรวมในหน่วยความจำและเสนอให้คุณเป็นการดาวน์โหลด
การแลกเปลี่ยนที่ซื่อสัตย์ที่คุณควรรู้
ครั้งแรกที่คุณใช้เครื่องมือที่พึ่งพาเอนจิ้น WASM ขนาดใหญ่ เบราว์เซอร์จะดาวน์โหลดเอนจิ้นนั้นและแคชไว้ การใช้งานครั้งต่อไปจะข้ามการดาวน์โหลดและทำงานได้แบบออฟไลน์เต็มรูปแบบ เนื่องจากการประมวลผลทำงานบนอุปกรณ์ของคุณ ไฟล์ขนาดใหญ่มากจะใช้เวลาตามที่ CPU และหน่วยความจำของคุณอนุญาต และศูนย์ข้อมูลอาจทำงานหนักบางอย่างได้เร็วกว่า สิ่งที่คุณได้รับกลับมาเป็นเรื่องจริง: ไฟล์ของคุณไม่เคยถูกส่งออกไป ไม่มีการรอการอัปโหลดบนการเชื่อมต่อช้า และเครื่องมือยังคงทำงานได้โดยไม่มีอินเทอร์เน็ตหลังจากการโหลดครั้งแรกนั้น
เครื่องมือที่กล่าวถึงในบทความนี้
คำถามที่พบบ่อย
การประมวลผล client-side หมายความว่าข้อมูลของฉันเป็นส่วนตัวโดยอัตโนมัติหรือไม่?
Client-side หมายความว่าไฟล์ไม่ถูกส่งไปยังเซิร์ฟเวอร์โดยการออกแบบ ซึ่งเป็นสิ่งที่ทำให้ความเป็นส่วนตัวเป็นไปได้ คุณยืนยันได้ด้วยตนเองโดยการเปิดแท็บ Network ในเครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์ขณะประมวลผลไฟล์: ไม่ควรมีคำขอขาออกใดที่มีข้อมูลไฟล์ของคุณ แม้กระนั้น ก็เป็นเรื่องสมเหตุสมผลที่จะตรวจสอบว่าเครื่องมือนั้นทำงานแบบนี้จริงๆ แทนที่จะเชื่อแค่ป้ายกำกับ
ทำไมการใช้งานเครื่องมือครั้งแรกบางครั้งจึงช้ากว่า?
เบราว์เซอร์จำเป็นต้องดาวน์โหลดเอนจิ้นประมวลผล (โมดูล WASM) ในครั้งแรกที่คุณใช้งาน ซึ่งอาจใช้เวลาไม่กี่วินาทีขึ้นอยู่กับขนาดและความเร็วการเชื่อมต่อ หลังจากนั้น เอนจิ้นจะถูกแคชไว้ในเครื่อง ดังนั้นการใช้งานครั้งต่อไปจะเริ่มทันทีและเครื่องมือทำงานได้แบบออฟไลน์