การยกเลิกการสนับสนุน Rosetta 2 ของ Apple: สิ่งนี้หมายความว่าอย่างไรสำหรับนักพัฒนาและผู้ใช้
ชุมชนเทคโนโลยีกำลังมีปฏิกิริยาตอบรับที่หลากหลายต่อการประกาศของ Apple ที่ระบุว่า Rosetta 2 เทคโนโลยีแปลภาษาเชิงปฏิวัติที่ช่วยให้แอปพลิเคชันที่สร้างสำหรับ Intel สามารถทำงานบนเครื่อง Mac ที่ใช้ชิป Apple Silicon ได้อย่างราบรื่น จะถูกยกเลิกการสนับสนุนหลังจาก macOS 27 ในขณะที่ Apple วางแผนจะรักษาการทำงานบางส่วนของ Rosetta สำหรับเกมรุ่นเก่า แต่ผลกระทบในวงกว้างต่อเวิร์กโฟลว์การพัฒนา ซอฟต์แวร์รุ่นเก่า และการจำลองสภาพแวดล้อมได้ก่อให้เกิดการอภิปรายอย่างเข้มข้นในหมู่นักพัฒนาและผู้ใช้ระดับสูง
ปัญหาความยุ่งยากในการใช้คอนเทนเนอร์
หนึ่งในความกังวลเร่งด่วนที่สุดเกี่ยวข้องกับ Docker และเวิร์กโฟลว์การพัฒนาโดยใช้คอนเทนเนอร์ นักพัฒนาจำนวนมากพึ่งพา Rosetta 2 ในการรัน Docker containers แบบ x86_64 บนเครื่อง Apple Silicon ของพวกเขา โดยเฉพาะเมื่อทำงานกับ images ที่ไม่มีเวอร์ชัน ARM64 หรือเมื่อต้องรักษาความสอดคล้องกันกับสภาพแวดล้อมการผลิตที่ใช้ x86_64
นี่คงทำให้ผมใช้งาน docker บน macos ยากขึ้นแล้วล่ะ Images ที่ผมใช้บางตัวก็ไม่มีเวอร์ชัน arm
ความรู้สึกนี้สะท้อนไปทั่วทั้งชุมชนนักพัฒนา ซึ่งความสะดวกสบายในการรันคอนเทนเนอร์ x86_64 โดยตรงบนฮาร์ดแวร์ ARM ได้กลายเป็นส่วนสำคัญของเวิร์กโฟลว์จำนวนมาก ความกังวลนี้รุนแรงเป็นพิเศษสำหรับนักพัฒนาที่ทำงานกับระบบที่เป็นกรรมสิทธิ์หรือระบบรุ่นเก่า ซึ่งอาจไม่เคยมีเวอร์ชัน ARM64 ให้ใช้งาน หรือที่การทดสอบต้องการความตรงกันทางสถาปัตยกรรมที่แน่นอนกับสภาพแวดล้อมการผลิต
พื้นที่ที่ได้รับผลกระทบด้านการพัฒนา:
- Docker containers ที่ไม่มี ARM64 images
- ปลั๊กอินเสียงรุ่นเก่าและเครื่องมือระดับมืออาชีพ
- ซอฟต์แวร์องค์กรที่ไม่มีเวอร์ชันสำหรับ ARM แบบ native
- การเล่นเกม Windows ผ่าน compatibility layers
- ไดรเวอร์สแกนเนอร์และยูทิลิตี้สำหรับฮาร์ดแวร์เฉพาะทาง
ซอฟต์แวร์รุ่นเก่าและเครื่องมือระดับมืออาชีพเผชิญกับความไม่แน่นอน
นอกเหนือจากเครื่องมือสำหรับนักพัฒนาแล้ว แอปพลิเคชันและยูทิลิตี้ระดับมืออาชีพอีกจำนวนมากยังคงต้องพึ่งพา Rosetta 2 ผู้ใช้รายงานซอฟต์แวร์สำคัญ เช่น ยูทิลิตี้สำหรับสแกนเนอร์ เสริมเสียง (audio plugins) และเครื่องมือเฉพาะทางสำหรับมืออาชีพ ที่ยังคงทำงานได้ผ่านการแปลของ Rosetta เท่านั้น สำหรับแอปพลิเคชันเหล่านี้หลายตัว นักพัฒนาได้หยุดพัฒนาไปแล้วหรือขาดทรัพยากรในการสร้างเวอร์ชันดั้งเดิมสำหรับ Apple Silicon
สถานการณ์นี้ทำให้ระลึกถึงการเปลี่ยนผ่านทางสถาปัตยกรรมครั้งก่อนๆ ของ Apple ที่ซอฟต์แวร์รุ่นเก่าสุดท้ายก็ไม่สามารถใช้งานบนระบบใหม่ได้ อย่างไรก็ตาม ชุมชนตั้งข้อสังเกตว่าประสิทธิภาพที่ยอดเยี่ยมของ Rosetta 2 กลับทำให้ความเร่งด่วนสำหรับนักพัฒนาบางส่วนในการสร้างเวอร์ชัน ARM64 ดั้งเดิมลดลง โดยไม่ได้ตั้งใจ ส่งผลให้เกิดการพึ่งพาที่กำลังจะถูกตัดออกไปในไม่ช้า
เกมและการจำลองสภาพแวดล้อมได้รับโอกาสต่ออายุ
การประกาศของ Apple มีข้อยกเว้นที่น่าสนใจ: หลังจากช่วงเวลานี้ไปแล้ว เราจะรักษาการทำงานบางส่วนของ Rosetta โดยมุ่งเป้าไปที่การสนับสนุนเกมรุ่นเก่าที่ไม่ได้มีการบำรุงรักษาอีกต่อไป สิ่งนี้นำไปสู่การคาดเดาว่าอะไรบ้างที่จะถูกรักษาไว้และจะถูกนำไปปฏิบัติอย่างไร
ชุมชนเกมสงสัยว่าสิ่งนี้หมายความว่าจะสนับสนุนเฉพาะเกมที่ได้รับเลือกเท่านั้น หรือการอนุรักษ์จะมีความทั่วไปมากกว่า ในทำนองเดียวกัน คำถามยังคงอยู่เกี่ยวกับว่าสิ่งนี้ส่งผลกระทบต่อเครื่องมือต่างๆ เช่น Apple's Game Porting Toolkit และโซลูชันของบริษัทอื่นอย่าง CrossOver ซึ่งช่วยให้เกม Windows ทำงานบน macOS ได้อย่างไร
รูปแบบที่กว้างขึ้นของการเปลี่ยนผ่านทางสถาปัตยกรรมของ Apple
ผู้ที่ติดตาม Apple มาเป็นเวลานานตั้งข้อสังเกตว่าการเคลื่อนไหวครั้งนี้สอดคล้องกับรูปแบบที่กำหนดไว้ของ Apple ในการก้าวไปข้างหน้าอย่างก้าวร้าวด้วยสถาปัตยกรรมใหม่ๆ ในขณะที่ให้ความเข้ากันได้ย้อนหลังอย่างจำกัด Rosetta ตัวดั้งเดิมสำหรับแอปพลิเคชัน PowerPC มีอายุประมาณห้าปีในช่วงการเปลี่ยนผ่านสู่ Intel ทำให้กรอบเวลาเจ็ดปีสำหรับ Rosetta 2 ดูจะเอื้อเฟื้อเผื่อแผ่มากกว่าเมื่อเปรียบเทียบ
กลยุทธ์การเปลี่ยนผ่านนี้มีทั้งประโยชน์และต้นทุน มันผลักดันให้ระบบนิเวศก้าวไปข้างหน้าอย่างรวดเร็ว แต่ก็ทิ้งซอฟต์แวร์และเวิร์กโฟลว์ที่ไม่สามารถหรือจะไม่ได้รับการอัปเดตไว้เบื้องหลัง สำหรับผู้ใช้ที่ลงทุนกับเครื่องมือรุ่นเก่าเฉพาะทาง สิ่งนี้สร้างทางเลือกที่ยากระหว่างการอยู่บนเวอร์ชัน macOS ที่เก่ากว่าหรือการหาโซลูชันทางเลือก
เปรียบเทียบไทม์ไลน์การเปลี่ยนผ่านสถาปัตยกรรมของ Apple:
- PowerPC สู่ Intel (2006-2011): Rosetta 1 รองรับเป็นเวลาประมาณ 5 ปี
- Intel สู่ Apple Silicon (2020-2027): Rosetta 2 รองรับเป็นเวลาประมาณ 7 ปี
- การรองรับแอปพลิเคชัน 32-bit: ยกเลิกใน macOS Catalina (2019)
ความท้าทายในการย้ายถิ่นฐานของนักพัฒนา
การประกาศนี้ทำหน้าที่เป็นสัญญาณที่ชัดเจนถึงนักพัฒนา: เวลาสำหรับการเปลี่ยนผ่านสู่ Apple Silicon ดั้งเดิมคือตอนนี้ ในขณะที่แอปพลิเคชันหลักหลายตัวได้ก้าวกระโดดไปแล้ว แต่ยูทิลิตี้ขนาดเล็ก เครื่องมือสำหรับองค์กร และแอปพลิเคชันเฉพาะทางอีกมากมายยังคงเป็นแบบ Intel เท่านั้น
การอภิปรายในชุมชนเผยให้เห็นว่าความพยายามในการย้ายถิ่นฐานมีความหลากหลายอย่างกว้างขาง บางองค์กรสร้าง build ที่รองรับหลายสถาปัตยกรรมอย่าง proactive เมื่อ Apple Silicon เปิดตัวครั้งแรก ในขณะที่บางองค์กรพึ่งพาประสิทธิภาพที่ยอดเยี่ยมของ Rosetta 2 เพื่อชะลอการเปลี่ยนผ่าน การเตือนล่วงหน้าสองปีให้นักพัฒนามีกำหนดเวลาเฉพาะเจาะจงเพื่อทำงานให้สำเร็จ แต่ก็สร้างความเร่งด่วนสำหรับโปรเจกต์ที่มีทรัพยากรจำกัด
มองไปไกลกว่ากรอบของ Rosetta 2
ในขณะที่การอภิปรายยังคงดำเนินต่อไป ชุมชนกำลังสำรวจทางเลือกและวิธีการแก้ปัญหา บางคนแนะนำว่า QEMU อาจเข้ามารับหน้าที่แทนในการจำลอง x86_64 แม้ว่าจะมีผลกระทบด้านประสิทธิภาพที่สำคัญเมื่อเทียบกับการแปลที่ได้รับการปรับแต่งอย่างสูงของ Rosetta 2 บางคนหวังว่า Apple อาจเปิดตัวซอร์สโค้ดของ Rosetta 2 ซึ่งจะช่วยให้ชุมชนสามารถบำรุงรักษามันได้ แม้ว่าดูเหมือนจะเป็นไปไม่ได้เมื่อพิจารณาจากแนวทางในอดีตของ Apple ต่อเทคโนโลยีดังกล่าว
แสงสว่างที่ปลายอุโมงค์อาจเป็นการเติบโตอย่างต่อเนื่องของระบบนิเวศ ARM64 นอกเหนือจาก Apple ด้วยอินสแตนซ์ AWS Graviton และเซิร์ฟเวอร์ ARM อื่นๆ ที่พบเห็นได้ทั่วไปมากขึ้น แรงจูงใจในการสร้าง images คอนเทนเนอร์และแอปพลิเคชันที่รองรับหลายสถาปัตยกรรมยังคงเติบโตขึ้น ซึ่งอาจลดการพึ่งพาการแปล x86_64 ลงได้เมื่อเวลาผ่านไป
ข้อจำกัดปัจจุบันของ Rosetta 2:
- ไม่สามารถแปลงส่วนขยายเคอร์เนลได้
- ไม่สามารถจำลองแพลตฟอร์มคอมพิวเตอร์ x86_64 แบบเสมือนได้
- ไม่รองรับคำสั่งเวกเตอร์ AVX512
- ไม่สามารถผสมโค้ด arm64 และ x86_64 ในโปรเซสเดียวกันได้
บทสรุป
การยกเลิกการสนับสนุน Rosetta 2 ตามแผนของ Apple เป็นตัวแทนของทั้งการสิ้นสุดและการเริ่มต้นใหม่ ในขณะที่มันสร้างความท้าทายทันทีสำหรับนักพัฒนาและผู้ใช้ที่พึ่งพาซอฟต์แวร์ที่ใช้สถาปัตยกรรม Intel มันยังหมายถึงวุฒิภาวะของระบบนิเวศ Apple Silicon ช่วงเวลาการเปลี่ยนผ่านสองปีให้เวลาสำหรับการปรับตัว แต่การอภิปรายในชุมชนเผยให้เห็นถึงความกังวลที่แท้จริงเกี่ยวกับกรณีการใช้งานเฉพาะที่อาจไม่มีเส้นทางที่ชัดเจนในการก้าวต่อไป เช่นเดียวกับการเปลี่ยนผ่านครั้งก่อนๆ ของ Apple นวัตกรรมและการปรับตัวจะเป็นตัวกำหนดในท้ายที่สุดว่าอะไรจะเจริญรุ่งเรืองในภูมิทัศน์หลังยุค Rosetta
