นักพัฒนาเว็บไซต์ขัดแย้งกันเรื่องความซับซ้อนของเว็บไซต์ขณะที่การถกเถียงเรื่อง JavaScript ยังคงดำเนินต่อไป

ทีมชุมชน BigGo
นักพัฒนาเว็บไซต์ขัดแย้งกันเรื่องความซับซ้อนของเว็บไซต์ขณะที่การถกเถียงเรื่อง JavaScript ยังคงดำเนินต่อไป

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

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

ปัญหาประสิทธิภาพเว็บไซต์ที่พบ:

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

ปัญหาความขัดแย้งในตัวเอง

การวิพากษ์วิจารณ์ที่แหลมคมที่สุดอย่างหนึ่งมาจากนักพัฒนาที่สังเกตเห็นว่าเว็บไซต์ของบทความต้นฉบับโหลด JavaScript ถึง 754 กิโลไบต์ผ่าน 13 requests แยกจากกัน สิ่งนี้จุดประกายข้อกล่าวหาเรื่องความหน้าซื่อใจคด โดยบางคนตั้งคำถามว่าผู้เขียนให้ความสำคัญกับข้อโต้แย้งของตนเองเกี่ยวกับปัญหา JavaScript bloat มากแค่ไหน

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

ความเหนื่อยล้าจาก Framework เทียบกับความเสถียร

การถกเถียงเผยให้เห็นความแตกต่างระหว่างรุ่นในประสบการณ์ของนักพัฒนา บางคนชี้ไปที่ช่วงระหว่างปี 2015 ถึง 2020 ว่าเป็นช่วงที่วุ่นวายเป็นพิเศษ เมื่อนักพัฒนามักจะเปลี่ยนไปมาระหว่าง Angular , Ember , React และ Vue ในช่วงเวลานี้ best practices เปลี่ยนแปลงอย่างรวดเร็วจนแอปพลิเคชันที่สร้างตามคำแนะนำปัจจุบันจะถือว่าล้าสมัยภายในไม่กี่เดือน

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

ช่องว่างด้านการฝึกอบรม

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

ไม่มีใครฝึกอบรมนักพัฒนา JavaScript อย่างถูกต้อง และนายจ้างจ้างคนที่ไม่มีคุณสมบัติเหมาะสมมาทำงานโดยรู้เท่าทัน แน่นอนว่าผลลัพธ์จึงแย่

มุมมองนี้ชี้ให้เห็นว่าปัญหาเดียวกันจะเกิดขึ้นไม่ว่าจะใช้ technology stack ใดหากไม่เข้าใจหลักการพัฒนาเว็บไซต์พื้นฐานอย่างถูกต้อง

ประสบการณ์ผู้ใช้เทียบกับประสบการณ์นักพัฒนา

ชุมชนยังคงแตกแยกเกี่ยวกับว่า JavaScript frameworks สมัยใหม่ช่วยปรับปรุงประสบการณ์ผู้ใช้จริง ๆ หรือไม่ ผู้สนับสนุนชี้ไปที่แอปพลิเคชันอย่าง Gmail และ web-based email clients อื่น ๆ เป็นตัวอย่างของ JavaScript ที่ช่วยให้เกิดประสบการณ์ผู้ใช้ที่ดีกว่าจริง ๆ เมื่อเปรียบเทียบกับทางเลือกแบบ desktop แบบดั้งเดิม

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

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

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

อ้างอิง: Javascript broke the web (and called it progress)