สิ่งที่เราปรารถนา
เผยแพร่แล้ว: 2022-03-10ฉันคิดว่าเรากำลังประสบปัญหา แม้ว่าฉันจะไม่สามารถพูดได้อย่างแน่นอน ปัญหา - ปัญหาที่ฉัน รู้ ทางลาดของมันแม้ว่า; ฉันเคยได้ยินเกี่ยวกับเรื่องนั้นเท่านั้น ฉันทำมาแค่สิบปี ฉันพลาดโอกาสในการเป็นผู้นำทั้งหมดในครั้งล่าสุด สิ่งที่ฉันสามารถพูดได้อย่างแน่นอน — สิ่งที่ฉันรู้จากประสบการณ์ — ก็คือฉันไม่เคยทำความปรารถนาด้วยความโกรธให้เป็นจริงโดยไม่เสียใจเลย
สิบปี (ไม่คิดจะพูด) ค่อนข้างนาน ย้อนกลับไปเมื่อครั้งแรกที่ฉันได้เปิดเผยความจริงในการฝึกงานด้านการออกแบบเว็บ Internet Explorer ที่ดีคือเรื่องตลกอยู่แล้ว
“หากคุณสังเกตเห็นว่าบางส่วนของเนื้อหาของคุณปรากฏขึ้นและหายไป และส่วนของหน้ามีการวาดเพียงครึ่งเดียว สิ่งเหล่านี้เป็นสัญญาณที่ดีว่าองค์ประกอบนั้นจำเป็นต้องมีการจัดวาง [... ] การแก้ไขhasLayout
ไม่ได้เกี่ยวข้องอะไรมากไปกว่าการประกาศคุณสมบัติ CSS ที่ทำให้องค์ประกอบได้รับเลย์เอาต์ เมื่อปกติแล้วจะไม่มีเลย์เอาต์ตามค่าเริ่มต้น”
— Internet Explorer มีคุณสมบัติเค้าโครง
ฉันเกลียดไออี ฉันรู้สึกว่าตอนนี้ฉันสามารถจัดการกับสิ่งนั้นได้แล้ว ฉันพยายามที่จะไม่; ฉันทำจริง ๆ อย่างจริงใจ ฉันจะบอกผู้คนว่ามัน สนุก ที่จะสนับสนุน ถ้าคุณเชื่อได้
เนื่องจากเบราว์เซอร์อื่นๆ ทั้งหมดจัดการได้ง่ายและง่ายขึ้น ฉันพยายามโน้มน้าวตัวเองว่าอย่างน้อยก็ยังมีสิ่ง ท้าทาย สำหรับ IE เก่าที่เล่นโวหาร นั่นกลายเป็นจุดที่น่าภาคภูมิใจ: ฉันได้เก่งในการแก้ไขปัญหา IE ที่ไม่ชัดเจนซึ่งฉันได้เรียนรู้ที่จะหลีกเลี่ยงพวกเขาในระหว่างการพัฒนาทุกวันของฉันโดยไม่ทิ้งอะไร (น้อยกว่า) ให้กลัวว่า "เปิดกว้าง" ใน IE และดูว่าอะไรพัง”
มันสนุกในทางหนึ่ง สนุก . นั่นคือคำโกหกที่ฉันบอกกับตัวเอง
/* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including “inherit”) without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */
— แหล่ง jQuery มือถือ
ฉันเกลียดมัน ฉันเต็มไปด้วยเรื่องตลกที่ไม่ดีในการประชุมที่เกลียดชัง IE ในทุกรูปแบบ ฉันเกลียดมันมากเหมือนที่คนอื่นทำ
“Internet Explorer 6 มีจุดบกพร่องที่ทำให้งงเกี่ยวกับองค์ประกอบที่ลอยอยู่หลายตัว อักขระข้อความจากองค์ประกอบลอยตัวสุดท้ายบางครั้งจะทำซ้ำด้านล่างลอยตัวสุดท้าย ... สาเหตุโดยตรงไม่มีอะไรมากไปกว่าความคิดเห็น HTML ทั่วไป เช่น<!-- end left column -->
คั่นกลางระหว่าง floats ที่มาในลำดับ”
— บั๊กตัวละครซ้ำของ Explorer 6
เสียเวลาเปล่าๆของฉันก็เหมือนเดิม ชั่วโมงเหล่านั้นทั้งหมดที่ฉันใช้ไปบนเครื่องเสมือนที่สกปรก—รีโหลด, รอ, แก้ไขเรื่องไร้สาระที่บั๊กไร้สาระ, รีโหลด, พัง , เปิด IE อีกครั้ง, รอ, ตรวจสอบอีกครั้งว่าการแคชไม่ใช่ปัจจัย, รีโหลด, รอ และทำซ้ำ ฉันสามารถทำอะไรได้มากขึ้นด้วยเวลาของฉัน - ฉันสามารถ เรียนรู้ได้ มากขึ้น
ฉันแน่ใจว่ามันไม่ได้แค่หยุดงานของฉัน และมันไม่ได้หยุดเว็บไว้เฉยๆ แต่มันรั้ง ฉัน ไว้ในฐานะนักพัฒนา ในประเด็นที่สองนั้น ฉันคิดว่าฉันไม่ได้ผิดทั้งหมด — ความรู้เกี่ยวกับบั๊กของเบราว์เซอร์ IE 6-7 ที่คลุมเครือทั้งหมดที่ฉันสะสมนั้นไร้ประโยชน์ในตอนนี้ ทั้งหมดที่ฉันต้องแสดงก็คือการสะดุ้งโดยไม่สมัครใจที่คำว่า "ตัวกรอง" การตั้งค่าที่ไม่อาจเข้าใจได้สำหรับการ padding
เกิน margin
และความกลัว z-index
ที่ฝังลึกแต่ส่วนใหญ่ไม่มีมูล
“…ช่องว่างพิเศษทำให้เลือกรูปแบบที่ไม่ถูกต้องหากชื่อคลาสจริงเป็นสตริงย่อย (หรือซูเปอร์สตริง) ของชื่อคลาสอื่น”
— ข้อผิดพลาดการแยกวิเคราะห์ช่องว่าง IE5/Mac
ฉันหวังว่ามันจะหายไป ถอนการติดตั้งโดยไวรัสที่ฉลาดและแพร่หลายซึ่งถูกห้ามโดยกฎหมาย ในที่สุด Microsoft ก็ตัดสินใจที่จะลดความสูญเสียของเอ็นจิ้นการเรนเดอร์ที่ไม่ดีและเปลี่ยนไปใช้เอ็นจิ้นการเรนเดอร์ของ Firefox, Gecko — อะไรก็ได้ — ปล่อยให้มันหายไป แต่ไม่มี. เว็บพัฒนาไปเรื่อย ๆ และเรานักพัฒนาก็สู้กับปัจจุบัน หวนคืนสู่อดีตอย่างไม่หยุดยั้ง
Chrome เข้ามามีบทบาท Firefox ดีขึ้นเรื่อยๆ คุณลักษณะใหม่ ๆ ทยอยเปิดตัว ความเป็นไปได้ที่น่าตื่นเต้นและไม่รู้จบที่นำเสนอโดยการออกแบบเว็บที่ตอบสนองได้กระจายออกไปต่อหน้าเรา และ (นอกเหนือ) จำไว้ว่าคุณมีเวลาเพียงไม่กี่วัน เพื่อทำให้ทุกอย่างทำงานได้ไม่มากก็น้อยใน IE แบบเก่า ดังนั้นอย่า คิดมาก ไป
“หากคุณใช้ IE8 และคุณใช้ CSS รายการเรียงลำดับวิธีการตามที่อธิบายไว้ข้างต้น และ HTML ที่มีคลาสที่ใช้แอตทริบิวต์ CSScounter-reset
นับและcounter-increment
จะถูกซ่อนไว้เมื่อโหลดหน้า จากนั้นเมื่อใดก็ตามที่ซ่อน แสดง HTML ตัวเลขอัตโนมัติทั้งหมดจะเป็นศูนย์ แต่ถ้าใช้ CSS:hover
PSEUDO-CLASS ในหน้านั้น!"
— บั๊ก "โฮเวอร์" ของ IE8: บั๊ก IE ที่ยอดเยี่ยมที่สุดเท่าที่เคยมีมา?
เป็นเรื่องยากที่จะจินตนาการว่าทุกวันนี้ต้องพบกับความคับข้องใจแบบนั้น อย่างน้อยก็สำหรับเราที่เป็นคนค่อนข้างแก่ ไม่ต้องบอกว่าไม่มีงานมากมายที่เกี่ยวข้องกับการปรับแต่งสิ่งต่าง ๆ ในเบราว์เซอร์ข้ามวันนี้เช่นกัน — ฉันรู้ดีว่ามีทั้งหมด แต่มันยากที่จะไม่รู้สึกถึงความเจ็บปวดเป็นครั้งคราว "ในสมัย ของฉัน ทั้งหมด ที่เรา มีคือลอย และ ให้ฉันบอกคุณเกี่ยวกับข้อบกพร่องของขอบสองด้านของ IE " เมื่อคุณได้ยินเกี่ยวกับความแตกต่างเล็กน้อยในการทำงานของ CSS Grid จากเบราว์เซอร์เดียว ไปอีก
ฉันผิดไป; ฉันต้องการความชัดเจนในประเด็นนั้น ไม่ผิดที่ผิดหวัง ฉันไม่คิดว่าจะมีใครถูกตำหนิว่าผิดหวังกับบั๊กของเบราว์เซอร์รุ่นเก่าๆ เหล่านั้น เช่นเดียวกับที่ฉันไม่คิดว่าจะมีใครถูกตำหนิสำหรับความหงุดหงิดของพวกเขาในด้านการพัฒนาเว็บ ในตอนนี้ ไม่ ฉันคิดผิดที่สรุปว่าความโกรธทำให้ฉันมาถึง: ความปรารถนาที่จะเห็นตรีศูลลุกโชนลงกับพื้นและดินที่ซึ่งครั้งหนึ่งมันเคยเค็ม
ฉันสงสัยว่ามีเพียงสิ่งเดียวที่น่าขันอย่างมากที่เติบโตจากดินเค็มนั้น: ความคับข้องใจแบบเดียวกันที่เกิดใหม่สำหรับนักพัฒนาเว็บรุ่นใหม่ เมื่อฉันเริ่มต้นอาชีพการงาน ไม่กี่ปีหลังจากสงครามเบราว์เซอร์ เมล็ดพันธุ์เหล่านั้นได้หยั่งรากแล้ว เพราะในช่วงเวลาหนึ่ง—ก่อนหน้าฉัน—นักพัฒนาเว็บเราสาปแช่ง Netscape ในลักษณะเดียวกัน เบราว์เซอร์ที่อ่อนแอกว่า buggier แย่กว่า อย่างเห็นได้ชัด แต่ Internet Explorer — นักพัฒนา ชอบ เบราว์เซอร์นั้น และพวกเขาต้องการให้เบราว์เซอร์ อื่น - เบราว์เซอร์ที่ ไม่ดี - จะ หายไป : ถอนการติดตั้งโดยไวรัสที่ชาญฉลาดและแพร่หลาย ถูกห้ามโดยกฎหมาย ในที่สุด Netscape ก็ตัดสินใจที่จะลดความสูญเสียของเอ็นจิ้นการเรนเดอร์ที่ต่ำและเปลี่ยนไปใช้เอ็นจิ้นการเรนเดอร์ของ IE, Trident — อะไรก็ตาม — แค่ ทำให้มันหายไป ข้อบกพร่องของ Internet Explorer ที่ไม่สามารถเข้าใจได้เหล่านั้นไม่ได้เกิดขึ้นโดยบังเอิญหรือประมาทเลินเล่อ สิ่งเหล่านี้เกิดขึ้นเพราะ Internet Explorer ชนะ และเราชอบที่มันชนะ
ดูเถิด ความคับข้องใจและความโกรธของเราโกหกเราตามปกติ พวกเขาบอกเราว่าการสนับสนุนเบราว์เซอร์อื่นๆ ที่ แย่กว่า นั้นไม่ได้แค่หยุดงานของเรา และไม่เพียงแค่รั้งเว็บไว้ แต่ยังรั้ง เรา ไว้ ในฐานะนักพัฒนา เวลาที่เสียไปของเราคือสิ่งที่มันเป็น ดังนั้นเราจึงบอกตัวเองว่าไม่ใช่เพียงเพื่อประโยชน์ ของเรา เท่านั้น แต่เพื่อประโยชน์ของ เว็บทั้งหมด
เราชั่งน้ำหนัก IE ให้หนักขึ้นเล็กน้อย เราให้คำอธิบายเพิ่มเติมอีกเล็กน้อยในการตัดสินใจของเรา ดังนั้นด้วยการถือชิปจำนวนมาก Microsoft ก็เล่นไพ่ตามนั้น - ใครจะตำหนิพวกเขาได้? ทุกคนสร้างเว็บไซต์สำหรับพวกเขาก่อน และส่วนอื่นๆ รองลงมา คำพูดของพวกเขาไม่ใช่ กฎหมาย แต่เป็นมากกว่า คำแนะนำ อย่างแน่นอน แน่นอนว่าพวกเขาเบี่ยงเบนไปจากมาตรฐานเว็บที่นี่และที่นั่น (เพียงเล็กน้อย) แต่ท้ายที่สุดแล้ว สิ่งที่ใช้งานโดย The Biggest Browser ไม่ได้เป็นมาตรฐาน โดยพฤตินัย ใช่ไหม นอกจากนี้ การสนับสนุนเบราว์เซอร์ที่ดีกว่า เร็วกว่า ง่ายกว่า ก็คือการสร้างบริการให้กับเว็บเอง! ร่วมกับ Microsoft เรากำลังผลักดันเว็บไปข้างหน้า! ทุกคนชนะ
เอ็นจิ้นการเรนเดอร์ที่ขับเคลื่อนเบราว์เซอร์ Edge ของ Microsoft ในปัจจุบัน — EdgeHTML — เป็นทางแยกของตรีศูลเก่าที่น่ากลัว แน่นอนว่ามันเป็นส้อมตรีศูลที่ถูกถอดออกและได้รับการปรับปรุง อย่างมากมาย แต่มันไม่ได้ถูกตัดสินในระดับสากลด้วยข้อดีของตัวเอง ทีมงาน EdgeHTML มักจะทำงานโดยมีข้อเสียอยู่สองสามข้อ ข้อแรกคือด้านเทคนิค เนื่องจากต้องใช้เวลาและความพยายามอย่างมากในการไล่ตาม Safari, Firefox และ Chrome ประการที่สองคืออารมณ์ เป็นเรา—คุณกับฉัน — เบื่อหน่ายกับ Internet Explorer หลายปี จ้องมองที่ตัว “e” ตัวพิมพ์เล็กสีน้ำเงินสดใสพร้อมกับดูถูกเหยียดหยาม
เมื่อไม่กี่สัปดาห์ก่อน ทีม Edge ได้ประกาศว่าอีกไม่นานพวกเขาจะเลิกใช้ EdgeHTML เพื่อสนับสนุน Blink ซึ่งเป็นเอ็นจิ้นการเรนเดอร์ที่ขับเคลื่อน Chrome ด้วยการเปลี่ยนแปลงนี้ ถ่านคุลมที่เหลืออยู่สองสามอันสุดท้ายของตรีศูลจะถูกดับไปตลอดกาล ในที่สุดความปรารถนาที่ฉันแบ่งปันกับคนมากมายก็สำเร็จ หมดเวลาอย่างน่าขัน — ตามที่ปรากฏ — EdgeHTML กลายเป็นเอ็นจิ้นการเรนเดอร์ที่ค่อนข้างแข็งแกร่ง
Blink เป็นโครงการโอเพ่นซอร์สที่ควบคุมโดย Google มันให้พลังแก่ทั้ง Chrome และ Opera ซึ่งอย่างหลังเลิกใช้เอ็นจิ้นการเรนเดอร์ที่ปลูกเองเมื่อไม่กี่ปีก่อน
ด้วยอัตรากำไรขั้นต้นที่ล้นหลาม Blink เป็น (และจะเพิ่มมากขึ้น) วิธีที่เว็บได้รับประสบการณ์ทั่วโลก Blink นั้นรวดเร็ว เสถียร อัดแน่นด้วยคุณสมบัติที่ทันสมัย และ — เมื่อเปรียบเทียบกับการพัฒนาสำหรับ EdgeHTML ที่ยังคงพัฒนา — ไม่เจ็บปวด
มันอาจจะสายเกินไปที่จะช่วยเราให้รอดพ้นจากบั๊ก IE โบราณเหล่านั้น แต่งานของเรา จะ ง่ายขึ้นในขณะนี้เนื่องจากมีเอ็นจิ้นการเรนเดอร์ที่น้อยกว่าหนึ่งตัวที่จะรองรับ คุณและฉันจะสูญเสียภาระ "แต่มันทำงานข้ามเบราว์เซอร์" เพิ่มขึ้นอีกเล็กน้อย โครงการของเราจะดำเนินไปอย่างราบรื่นยิ่งขึ้น และเว็บจะสูญเสียสิ่งที่เคยรั้งไว้อีกเพียงเล็กน้อย
ในฐานะผู้ดูแลเครื่องยนต์ที่ขับเคลื่อนเว็บไซต์อย่างมาก คำพูดของ Google จะไม่ใช่ กฎหมาย แต่เป็นมากกว่า คำแนะนำ อย่างแน่นอน และบางทีในอีกไม่กี่ปีข้างหน้า พวกเขาจะเบี่ยงเบนจากมาตรฐานเว็บที่นี่และที่นั่น (ไม่ว่าจะโดยตั้งใจหรือโดยบังเอิญ) ด้วยวิธีที่น้อยที่สุด แต่ท้ายที่สุดแล้ว สิ่งที่ใช้งานโดย The Biggest Browser ไม่ใช่สิ่งที่เป็นมาตรฐานโดยพฤตินัยใช่ไหม นอกจากนี้คุณจะโต้แย้งได้อย่างไร? การชื่นชอบเบราว์เซอร์ที่ดีกว่า เร็วกว่า และมีประสิทธิภาพมากกว่านั้นก็คือการให้บริการเว็บเอง เราจะผลักดันเว็บไปข้างหน้าร่วมกับ Google ทุกคนจะชนะ
นั่นคือตราบใดที่ความเบี่ยงเบนมาตรฐานเพียงเล็กน้อยและแมลงที่จู้จี้จุกจิกเล็ก ๆ จะไม่ใหญ่ขึ้นเมื่อเวลาผ่านไป - ขอบคุณกองกำลังคู่ของเอนโทรปีและความพึงพอใจ เว้นแต่การตัดสินใจที่เราทำเพื่อประโยชน์ของเว็บ (จับมือกับบริษัทโฆษณาที่เป็นศัตรูกับความเป็นส่วนตัวอย่างฉาวโฉ่) เริ่มรู้สึกมืดมนขึ้นเล็กน้อย และจอมมารคนใหม่ก็เริ่มก่อตัวขึ้นในใจเรา เว้นแต่เราจะพบว่า ความกลัวและความคับข้องใจแบบเก่าของเราได้เพิ่มขึ้นอีกครั้ง (เช่นนกฟีนิกซ์ที่แสดงภาพห่างจากที่ควรจะเป็นสองสามร้อยพิกเซลและกะพริบในลักษณะแปลก ๆ เมื่อคุณเลื่อน)
ไม่ต้องใช้จินตนาการมากในการที่จะเห็นเอ็นจิ้นการเรนเดอร์ที่ใหม่กว่าและน่าตื่นเต้นกว่าที่ปรากฏขึ้นในอีกไม่กี่ปีข้างหน้า ต้องใช้จินตนาการเพียงเล็กน้อยที่จะเห็นพวกเขาล้มเหลวเนื่องจากขาดการสนับสนุน ในขณะที่เราชอบ "เบราว์เซอร์ที่ทุกคนใช้" - อันดับแรกโดยการเลือกและต่อมาอาจเป็นบริการที่ไม่พอใจของ "บรรทัดล่าง"
ฉันไม่รู้ด้วยซ้ำ ฉันไม่เคยเห็นสิ่งนี้เกิดขึ้นกับเครื่องมือสร้างภาพด้วยตัวเอง ฉันเพิ่งได้ยินเรื่องราวทั้งหมด และรู้เพียงว่าตอนจบเป็นอย่างไร ฉันรู้จุดจบของความเจ็บปวดจากแผลเป็นกายสิทธิ์เก่า จากการสะดุ้งโดยไม่สมัครใจกับรหัสบางส่วนและหน่วยความจำของกล้ามเนื้อที่บังคับให้ฉันหลีกเลี่ยงผู้อื่น ฉันรู้จากมุขตลกในปาฐกถาในการประชุมใหญ่ที่มักจะรู้สึกเหนื่อยเล็กน้อย แต่ก็ยังดังเหมือนเดิมในแบบที่ฉันไม่ยอมให้ตัวเองยอมรับและยังคงพูดกับความปรารถนาลับๆ ที่ฉันเก็บเอาไว้ในใจ ความปรารถนาอันขมขื่นและเกลียดชัง
แต่เดี๋ยวก่อนฟัง ไม่อีกแล้ว. ตอนนี้ฉันหมายถึง - ฉันจะไม่ ฉันรักข้อผิดพลาดของเอ็นจิ้นการเรนเดอร์ที่ดีจริงๆ ฉันทำ.
“การแปลง CSS 3D ด้วยเปอร์สเปคทีฟperspective()
จะแสดงผลจากภายในสู่ภายนอก”
—bugs.chromium.org
ฉันหมายความว่ามันเป็นแมลงที่สนุกจริงๆ ใช่ไหม ชอบสนุกใน ทาง . รู้ยัง?
มันสนุก.
มันจะสนุก