ชุมชนนักพัฒนาเว็บไซต์แตกแยกอีกครั้งในสนามรบที่คุ้นเคย นั่นคือการถกเถียงว่า 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 ที่เข้าถึงไม่ได้ และเวลาโหลดที่ช้าเป็นผลโดยตรงจากการปฏิบัติต่อเว็บไซต์ง่าย ๆ เหมือนแอปพลิเคชันที่ซับซ้อน
การถกเถียงกลายเป็นวงจรที่วนซ้ำ โดยมีบทความและการถกเถียงที่คล้ายกันปรากฏขึ้นเป็นประจำในชุมชนนักพัฒนา นักพัฒนาบางคนแสดงความหงุดหงิดกับลักษณะที่ซ้ำซากของการสนทนาเหล่านี้ โดยชี้ให้เห็นว่าชุมชนติดอยู่ในลูปไม่รู้จบของการวิพากษ์วิจารณ์โดยไม่มีความก้าวหน้าที่มีความหมายไปสู่การแก้ปัญหา
แม้จะมีการโต้เถียงอย่างเดือดดาล แต่ก็มีการยอมรับมากขึ้นว่าแนวทางทั้งแบบเรียบง่ายและซับซ้อนต่างมีที่ของตน ความท้าทายอยู่ที่การเลือกเครื่องมือที่เหมาะสมสำหรับแต่ละกรณีการใช้งานเฉพาะ แทนที่จะใช้ตัวเลือกที่ซับซ้อนที่สุดที่มีอยู่เป็นค่าเริ่มต้น