PWA vs SPA: เหมือนกันแต่ต่างกัน

เผยแพร่แล้ว: 2019-09-18

สารบัญ

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

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

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

พวกเขาทำงานอย่างไร?

แอปพลิเคชันหน้าเดียว (SPA)

SPA (แอปพลิเคชันหน้าเดียว) คือเว็บไซต์ที่มีการอัปเดตหน้าปัจจุบัน แบบไดนามิก แทนที่จะดาวน์โหลดทั้งหมดจากเซิร์ฟเวอร์ กล่าวคือ โค้ดแอปพลิเคชันที่จำเป็นสำหรับเว็บแอปพลิเคชันของคุณ (HTML, CSS, JavaScript) จะต้องโหลดเพียง ครั้งเดียว ขณะที่ผู้ใช้นำทางผ่านเว็บแอปพลิเคชัน เนื้อหาและองค์ประกอบทั้งหมดที่จำเป็นต้องอัปเดตจะถูกดึงและแสดงผลใหม่โดยที่ผู้ใช้ไม่ต้องโหลดเบราว์เซอร์ซ้ำ

วิธีนี้จะช่วยประหยัดการเดินทางไปกลับแบบเดิมระหว่างเบราว์เซอร์และเซิร์ฟเวอร์ ซึ่งช่วยให้โต้ตอบได้เร็วขึ้นและพึงพอใจของผู้ใช้มากขึ้น

สปาทำงานอย่างไร
สปาทำงานอย่างไร

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

ต่อไปนี้คือบางส่วนของ SPA ที่โดดเด่นที่คุณอาจใช้เป็นประจำ:

  • Facebook
  • Gmail
  • Linkedin
  • Netflix
  • Google Maps

เว็บแอปโปรเกรสซีฟ (PWA)

Progressive Web App (PWA) แตกต่างจาก SPA เหมือนกับชุดแนวทางและรายการตรวจสอบมากกว่าสถาปัตยกรรมเฉพาะ กปภ. เป็นที่รู้จักและเบี่ยงเบนจาก SPA โดยมีลักษณะหลายประการเช่น:

  • พนักงานบริการ: พนักงานบริการเป็นพื้นฐานทางเทคนิคสำหรับคุณลักษณะที่โดดเด่นหลายอย่างของ กปภ. ได้แก่ ความพร้อมใช้งานออฟไลน์และการแจ้งเตือนแบบพุช
  • Web App Manifest: ไฟล์ JSON ที่มีข้อมูลเมตาที่จำเป็นสำหรับ PWA ของคุณ สามารถสร้างรายการเว็บแอปได้โดยอัตโนมัติโดยใช้ตัวสร้างรายการ PWA
  • HTTPS: PWA จะให้บริการจากต้นทางที่ปลอดภัยเสมอ
กปภ. ทำงานอย่างไร
กปภ. ทำงานอย่างไร

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

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

เราได้เขียนคำแนะนำเชิงลึกเกี่ยวกับสิ่งที่เป็น Progressive Web App ดังนั้นคุณจึงพลาดไม่ได้!

พวกเขาเหมือนกันอย่างไร?

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

อะไรคือความแตกต่าง?

มีความเข้าใจผิดกันโดยทั่วไปว่า กปภ. มักจะเป็น SPA ซึ่งผิดธรรมดา จากข้อกำหนดของ PWA ด้านบน คุณจะเห็นได้ว่าไม่มีที่ไหนเลยที่ระบุว่าเนื้อหาเว็บไซต์ต้องแสดงผลในเบราว์เซอร์ มิฉะนั้น PWA ไม่ควรร้องขอหน้าเว็บที่แสดงโดยเซิร์ฟเวอร์

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

และเนื่องจาก PWA ต้องการพนักงานบริการที่ทำงานในเธรดแยกต่างหากจาก UI ดังนั้น PWA จึงแตกต่างกันในลักษณะที่เนื้อหาของพวกเขาถูกแสดง เกือบจะในทันที เสมอ ซึ่งแตกต่างจาก SPA ซึ่งมักจะมาพร้อมกับหน้าจอการโหลดเริ่มต้นเฉพาะสำหรับการดึงข้อมูลไซต์ล่วงหน้า สินทรัพย์ ซึ่งหมายความว่าถ้าไม่ใช่ทั้งหมดของโอเวอร์เฮด JavaScript ที่มีอยู่มากมายที่เฟรมเวิร์ก SPA JavaScript วางไว้บนเว็บแอปของคุณสามารถจัดสรรใหม่ให้กับพนักงานบริการได้

หน้าจอโหลด Gmail
ผู้ใช้ SPA จะต้องคุ้นเคยกับหน้าการโหลดเริ่มต้น

เห็นได้ชัดว่าความแตกต่างระหว่างสองสิ่งนี้ไม่ใช่แค่นั้น ยังมีอีกมากที่จะแยกแยะ:

ในแง่ของความเร็ว

ในแง่ของความเร็ว สถาปัตยกรรมทั้งสองนี้ค่อนข้างคล้ายกัน เนื่องจากเป็นเทคโนโลยีล้ำสมัยทั้งคู่ อย่างไรก็ตาม มือบนอาจไป กปภ. ที่นี่

สาเหตุเป็นเพราะในขณะที่ทั้ง SPA และ PWAs ใช้ JavaScript สำหรับการพัฒนา PWA สามารถใช้ประโยชน์จากพนักงานบริการเพื่อแสดงผลงานบางอย่างได้ กล่าวอีกนัยหนึ่ง โอเวอร์เฮด JavaScript ที่มากเกินไปซึ่ง SPA เพิ่มลงในเว็บแอปของคุณสามารถมอบหมายให้กับพนักงานบริการแทนได้ ดังนั้นจึงช่วยลดรอยเท้า JavaScript ได้อย่างมาก

กปภ.ทดลองใน Jetpack

ซึ่งช่วยให้ไซต์ PWA สามารถแคชเนื้อหาไซต์ได้หลายอย่างล่วงหน้า: สคริปต์ CSS รูปภาพ และมาร์กอัปก่อนที่จะมีความจำเป็น ด้วยแคชล่วงหน้าเหล่านี้ เครือข่ายของผู้ใช้จึงคลายความเครียดเพิ่มเติมที่มาพร้อมกับการแสดงผลและสามารถทำงานแบบออฟไลน์ได้

ในแง่ของต้นทุน

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

การประปาส่วนภูมิภาค : $2000$2.000

สปา : $1500$12.000

มีหลายปัจจัยที่ส่งผลต่อต้นทุนการสร้างของคุณ เช่น อัตราของนักพัฒนา ความซับซ้อนของงาน ความชอบและการปรับแต่งของคุณ... ซึ่งทั้งหมดนี้ควรนำมาพิจารณาเมื่อทำการประมาณราคา

 การอ่านที่แนะนำ: ราคาเท่าไหร่ในการสร้าง Magento PWA

ในแง่ของประสบการณ์ผู้ใช้/ส่วนต่อประสานผู้ใช้

ในขณะที่ SPA มีที่ของมันในอดีต ผู้คนเริ่มเปลี่ยนไปใช้ PWA เนื่องจากให้ประสบการณ์ผู้ใช้ (UX) ที่ดีกว่า

ทั้งสองมีส่วนต่อประสานที่เหมือนแอพ PWA นำการมีส่วนร่วมและความน่าเชื่อถือที่มากขึ้นแม้ในสภาวะการเชื่อมต่อออฟไลน์หรือช้า ด้วยเหตุผลเหล่านี้เองที่แบรนด์ที่ทรงอิทธิพลเช่น Twitter ได้ริเริ่มการเคลื่อนไหวของการประปาส่วนภูมิภาคด้วยการปล่อยไซต์เวอร์ชัน PWA ของตนเอง ซึ่งก็คือ Twitter Lite

สถิติ Twitter PWA
ที่มา: PWAstats

และไม่ใช่แค่ทวิตเตอร์ การเคลื่อนไหวของ กปภ. คาดว่าจะอยู่ที่นี่ต่อไป บวกกับการมีส่วนร่วมล่าสุดของ Spotify การเคลื่อนไหวดูเหมือนจะไม่แสดงสัญญาณของการชะลอตัวในเร็ว ๆ นี้

เดสก์ท็อป Spotify PWA UI
UI ที่มีเสน่ห์ของ Spotify PWA

แอปพลิเคชันหน้าเดียวมีขีดจำกัดที่ไม่สามารถแสดง UX ที่น่าพอใจบนไซต์ขนาดใหญ่ได้ ซึ่งเป็นเหตุผลว่าทำไมจึงทำงานได้ดีที่สุดสำหรับไซต์ที่เน้นข้อมูลและไม่จำเป็นต้องสวยงามตามที่เห็น เช่น Gmail และ Facebook

Gmail UI
Gmail UI

ในแง่ของความปลอดภัย

ความปลอดภัยเป็นเรื่องที่ละเอียดอ่อน แม้ว่าทั้ง PWA และ SPA จะใช้ JavaScript เป็นไลบรารีหลักสำหรับการพัฒนา ปัญหาของพวกเขาเกี่ยวกับความปลอดภัยแตกต่างกันมาก โดยส่วนใหญ่มาจากปัญหา SPA และ XSS (cross-site scripting)

มีข้อกังวลเกี่ยวกับความปลอดภัยน้อยลงมากที่ PWA เนื่องจากเป็นไปตามลักษณะของ Progressive Web App ที่การเชื่อมต่อทั้งหมดจะต้องผ่านต้นทาง HTTPS ที่ปลอดภัย เช่นเดียวกับ PWAs HTTPS ก็เป็นอนาคตของเว็บเช่นกัน ซึ่งฟีเจอร์ล้ำสมัยเช่นพนักงานบริการสามารถเข้าถึงได้และเป็นไปได้

ในแง่ของการช่วยสำหรับการเข้าถึง

เมื่อเทียบกับ SPA โดยทั่วไป PWA จะเข้าถึงได้ง่ายกว่า โดยเฉพาะอย่างยิ่งเมื่อรองรับ Chrome ล่าสุดสำหรับ Desktop PWA ผู้ใช้ที่โต้ตอบกับ PWA สามารถมีตัวเลือกในการเพิ่มทางลัดของแอพที่พวกเขากำลังใช้ไปที่หน้าจอหลักหรือบนเดสก์ท็อป

ไอคอน Twitter PWA บนเดสก์ท็อป
ไอคอน Twitter PWA บนเดสก์ท็อป

SPA นั้น แย่ จริง ๆ เมื่อพูดถึงการเข้าถึงเนื่องจากมีแนวโน้มที่จะปล่อยให้ผู้ใช้อยู่ตรงกลางทุกครั้งที่มีการดำเนินการเปลี่ยนหน้า สิ่งนี้น่าหงุดหงิดเป็นพิเศษสำหรับผู้ใช้ที่มีความทุพพลภาพ เนื่องจากไม่มีแอตทริบิวต์ aria หรือ role ใดที่จะสามารถช่วยพวกเขาได้หากหน้ายังคงเปลี่ยนแปลงโครงสร้าง DOM (Document Object Model) อย่างสมบูรณ์

ห่อ

ในฐานะที่เป็นการปฏิวัติวงการสปา ดูเหมือนว่าเวลาจะค่อยๆ ตามทัน แม้ว่า SPA และ PWA จะเป็นประเภทเดียวกัน แต่ผู้คนจำนวนมากขึ้นเรื่อยๆ กำลังเลือก PWA มากกว่า SPA และนั่นเป็นสิ่งที่เข้าใจได้ เมื่อพิจารณาถึงประโยชน์ที่ PWAs นำมา

ด้วย SimiCart เราขอเสนอโซลูชัน PWA ที่ดีที่สุดสำหรับผู้ค้า Magento

ธีม Magento PWA ฟรี