Việc Apple Ngừng Rosetta 2 Làm Dấy Lên Lo Ngại Về Phần Mềm Cũ Và Quy Trình Docker

Nhóm Cộng đồng BigGo
Việc Apple Ngừng Rosetta 2 Làm Dấy Lên Lo Ngại Về Phần Mềm Cũ Và Quy Trình Docker

Thời Kỳ Kết Thúc Của Rosetta 2 Ở Apple: Điều Đó Có Ý Nghĩa Gì Với Nhà Phát Triển Và Người Dùng

Cộng đồng công nghệ đang xôn xao với những phản ứng trái chiều trước thông báo của Apple rằng Rosetta 2, công nghệ dịch thuật mang tính cách mạng cho phép các ứng dụng dựa trên nền tảng Intel chạy mượt mà trên các máy Mac dùng Apple Silicon, sẽ bị loại bỏ dần sau phiên bản macOS 27. Trong khi Apple có kế hoạch duy trì một tập hợp con các chức năng của Rosetta cho các tựa game cũ, những hệ lụy rộng hơn đối với quy trình làm việc trong phát triển phần mềm, phần mềm kế thừa và ảo hóa đã thổi bùng lên cuộc thảo luận sôi nổi giữa các nhà phát triển và người dùng chuyên nghiệp.

Bài Toán Về Công Nghệ Container

Một trong những mối quan tâm cấp thiết nhất xoay quanh Docker và các quy trình làm việc phát triển bằng container. Nhiều nhà phát triển dựa vào Rosetta 2 để chạy các container Docker x86_64 trên máy Apple Silicon của họ, đặc biệt là khi làm việc với các image không có phiên bản ARM64 tương đương hoặc khi cần duy trì sự tương đồng kiến trúc với môi trường sản xuất x86_64.

Chà, điều này khá là làm rối tung việc tôi chạy docker trên macos. Không phải tất cả các image tôi dùng đều có phiên bản arm.

Tâm trạng này vang vọng khắp cộng đồng phát triển, nơi sự tiện lợi của việc chạy trực tiếp các container x86_64 trên phần cứng ARM đã trở thành một phần không thể thiếu trong nhiều quy trình làm việc. Mối lo ngại đặc biệt nghiêm trọng đối với các nhà phát triển làm việc với các hệ thống độc quyền hoặc kế thừa mà phiên bản ARM64 có thể sẽ không bao giờ có sẵn, hoặc những trường hợp kiểm thử đòi hỏi sự khớp chính xác về kiến trúc với môi trường sản xuất.

Các Lĩnh Vực Ảnh Hưởng Đến Phát Triển:

  • Các container Docker không có image ARM64
  • Các plugin âm thanh cũ và công cụ chuyên nghiệp
  • Phần mềm doanh nghiệp không có phiên bản ARM gốc
  • Chơi game Windows thông qua các lớp tương thích
  • Trình điều khiển máy quét và các tiện ích phần cứng chuyên dụng

Phần Mềm Kế Thừa Và Các Công Cụ Chuyên Nghiệp Đối Mặt Với Sự Bất Ổn

Bên cạnh các công cụ phát triển, vô số ứng dụng chuyên nghiệp và tiện ích vẫn phụ thuộc vào Rosetta 2. Người dùng báo cáo về các phần mềm quan trọng như tiện ích máy quét, plugin âm thanh và các công cụ chuyên ngành đặc thù vẫn chỉ hoạt động thông qua dịch thuật của Rosetta. Đối với nhiều ứng dụng trong số này, các nhà phát triển đã ngừng hỗ trợ hoặc thiếu nguồn lực để tạo ra các phiên bản gốc cho Apple Silicon.

Tình huống này gợi nhớ đến các lần chuyển đổi kiến trúc trước đây của Apple, khi phần mềm kế thừa cuối cùng trở nên không thể sử dụng được trên các hệ thống mới hơn. Tuy nhiên, cộng đồng ghi nhận rằng hiệu suất xuất sắc của Rosetta 2 một cách trớ trêu lại làm giảm bớt tính cấp thiết đối với một số nhà phát triển trong việc tạo ra các phiên bản ARM64 gốc, tạo ra một sự phụ thuộc sắp bị phá vỡ.

Cộng Đồng Game Và Ảo Hóa Được Cứu Vớt

Thông báo của Apple thực sự có một ngoại lệ đáng chú ý: Vượt ra ngoài khung thời gian này, chúng tôi sẽ giữ lại một tập hợp con chức năng của Rosetta nhằm hỗ trợ các tựa game cũ không còn được bảo trì. Điều này đã dẫn đến nhiều suy đoán về việc chính xác những gì sẽ được bảo tồn và nó sẽ được triển khai như thế nào.

Cộng đồng game thủ thắc mắt liệu điều này có nghĩa là chỉ những tựa game cụ thể, được chúc phúc mới được hỗ trợ, hay sự bảo tồn sẽ mang tính tổng quát hơn. Tương tự, những câu hỏi vẫn còn đó về cách thức điều này ảnh hưởng đến các công cụ như Apple's Game Porting Toolkit và các giải pháp của bên thứ ba như CrossOver, vốn cho phép các game Windows chạy trên macOS.

Mô Hình Rộng Hơn Của Các Cuộc Chuyển Đổi Kiến Trúc Ở Apple

Những người quan sát Apple lâu năm nhận thấy rằng động thái này tuân theo mô hình đã được thiết lập của Apple: tiến lên một cách mạnh mẽ với các kiến trúc mới trong khi chỉ cung cấp khả năng tương thích ngược hạn chế. Rosetta gốc dành cho các ứng dụng PowerPC chỉ tồn tại khoảng năm năm trong quá trình chuyển đổi sang Intel, khiến cho lộ trình bảy năm dành cho Rosetta 2 có phần hào phóng hơn khi so sánh.

Chiến lược chuyển đổi này có cả lợi ích và chi phí. Nó đẩy nhanh hệ sinh thái tiến về phía trước nhưng cũng bỏ lại phía sau những phần mềm và quy trình làm việc không thể hoặc sẽ không được cập nhật. Đối với người dùng đã đầu tư vào các công cụ kế thừa cụ thể, điều này tạo ra một sự lựa chọn khó khăn giữa việc ở lại các phiên bản macOS cũ hơn hoặc tìm kiếm các giải pháp thay thế.

So sánh Thời gian Chuyển đổi Kiến trúc của Apple:

  • PowerPC sang Intel (2006-2011): Rosetta 1 được hỗ trợ trong ~5 năm
  • Intel sang Apple Silicon (2020-2027): Rosetta 2 được hỗ trợ trong ~7 năm
  • Hỗ trợ Ứng dụng 32-bit: Bị loại bỏ trong macOS Catalina (2019)

Thách Thức Di Chuyển Của Nhà Phát Triển

Thông báo này đóng vai trò như một tín hiệu rõ ràng gửi đến các nhà phát triển: thời điểm để chuyển đổi sang Apple Silicon gốc là bây giờ. Trong khi nhiều ứng dụng lớn đã thực hiện bước nhảy vọt này, thì vô số tiện ích nhỏ hơn, công cụ doanh nghiệp và ứng dụng chuyên ngành vẫn chỉ dành cho Intel.

Cuộc thảo luận trong cộng đồng cho thấy nỗ lực di chuyển rất khác nhau. Một số tổ chức đã chủ động tạo ra các bản dựng đa kiến trúc ngay khi Apple Silicon lần đầu ra mắt, trong khi những tổ chức khác dựa vào hiệu suất tuyệt vời của Rosetta 2 để trì hoãn việc chuyển đổi. Lời cảnh báo trước hai năm cho các nhà phát triển một thời hạn cụ thể để hướng tới, nhưng đồng thời cũng tạo ra sự khẩn cấp cho các dự án có nguồn lực hạn chế.

Hướng Đến Tương Lai Sau Rosetta 2

Khi cuộc thảo luận tiếp diễn, cộng đồng đang khám phá các giải pháp thay thế và cách khắc phục. Một số gợi ý rằng QEMU có thể tiếp quản việc giả lập x86_64, mặc dù với mức phạt hiệu suất đáng kể so với bản dịch được tối ưu hóa cao của Rosetta 2. Những người khác hy vọng Apple có thể mã nguồn mở hóa Rosetta 2, cho phép cộng đồng tự duy trì nó, mặc dù điều này có vẻ khó xảy ra khi xem xét cách tiếp cận lịch sử của Apple đối với các công nghệ như vậy.

Điểm sáng có lẽ là sự phát triển không ngừng của các hệ sinh thái ARM64 vượt ra ngoài Apple. Với sự phổ biến ngày càng tăng của các instance AWS Graviton và các máy chủ ARM khác, động lực để tạo ra các image container và ứng dụng đa kiến trúc tiếp tục phát triển, có khả năng làm giảm sự phụ thuộc vào dịch thuật x86_64 theo thời gian.

Những Hạn Chế Hiện Tại Của Rosetta 2:

  • Không thể dịch các kernel extension
  • Không thể ảo hóa nền tảng máy tính x86_64
  • Không hỗ trợ các lệnh vector AVX512
  • Không thể trộn lẫn mã arm64 và x86_64 trong cùng một tiến trình

Kết Luận

Kế hoạch kết thúc hoạt động của Rosetta 2 đại diện cho cả một sự kết thúc và một khởi đầu mới. Mặc dù nó tạo ra những thách thức trước mắt cho các nhà phát triển và người dùng phụ thuộc vào phần mềm nền tảng Intel, nó cũng đánh dấu sự trưởng thành của hệ sinh thái Apple Silicon. Giai đoạn chuyển đổi hai năm cung cấp thời gian để thích nghi, nhưng cuộc thảo luận trong cộng đồng cho thấy những lo ngại chính đáng về các trường hợp sử dụng cụ thể có thể không có lối đi rõ ràng phía trước. Giống như các lần chuyển đổi trước đây của Apple, sự đổi mới và thích ứng cuối cùng sẽ quyết định điều gì sẽ phát triển mạnh trong bối cảnh hậu Rosetta.

Tham khảo: About the Rosetta translation environment