Khi bạn tải một chương trình mới cho Mac, nó thường đi kèm với file ".dmg". Dễ dàng nhận ra qua biểu tượng ổ đĩa trên giấy, phần mở rộng "dmg"代表 disk image (ảnh ổ đĩa). Khi bạn nhấp đúp vào dmg, nó mount (hoặc chính xác hơn, attach), tiết lộ nội dung trong Finder. Từ đó, người dùng kéo thả nội dung của image vào thư mục Applications để cài ứng dụng mới trên Mac.
Quy trình này rất khác với quy trình dẫn dắt bởi trình cài đặt (installer-led) của Windows và có thể dẫn đến tai bay vạ gẫy cho người dùng macOS mới. Khi tôi chuyển từ Windows, tôi không hề biết bước cuối cùng này là bắt buộc.畢竟, nhiều chương trình có thể chạy hoàn hảo từ image đĩa của chúng, và image đĩa không luôn giải thích bước "kéo-thả-đến-Applications". Kết quả, tôi chạy Firefox từ image đĩa khoảng một tháng cho đến khi nhận ra tôi không có bookmark nào và không hiểu tại sao.
Vậy tại sao file DMG cần thiết cho ứng dụng mới, và ý nghĩa của "mount" cái gì đó chỉ để kéo thả một file là gì?
Lý Do 1: Cấu Trúc Ứng Dụng Mac

Mặc dù ứng dụng Mac được đại diện bởi một biểu tượng đẹp mắt mà bạn nhấp đúp để khởi chạy ứng dụng, biểu tượng đó giấu một bí mật. File .app đó thực sự đại diện cho một package (gói). Đó về cơ bản là một thư mục chứa tất cả các file của ứng dụng.
Xem trực tiếp: chuột phải vào bất kỳ ứng dụng nào trong Finder và chọn "Show Package Contents" (Hiển thị nội dung gói) để tự khám phá. Bởi vì ứng dụng macOS về cơ bản là thư mục, chúng cần某种 container để vận chuyển chúng đến máy tính mới mà không làm mất file. Chuyển một thư mục trần truồng có thể rối rắm, đặc biệt qua mạng.
Nó giống như vận chuyển một tá trứng không có hộp. Và kết quả là DMG làm một chiếc hộp trứng khá tốt. Tất nhiên, các định dạng khác có thể chứa thư mục; điều gì khác làm DMG bền bỉ như vậy?
Lý Do 2: Tùy Chỉnh Thẩm Mỹ (Aesthetic Customization)

Ảnh đĩa cũng cung cấp lợi ích độc đáo: khả năng tùy chỉnh giao diện của chúng và trải nghiệm cài đặt của người dùng. Điều này bao gồm các tính năng như biểu tượng tùy chỉnh, định vị biểu tượng, và hình ảnh nền.
Khi bạn mở ảnh đĩa và thấy mũi tên nhắc bạn kéo ứng dụng vào thư mục Applications, bạn thực sự đang nhìn hình ảnh nền của DMG. Điều này không thể với các định dạng container khác, và nhà phát triển macOS nhạy cảm với thiết kế trực quan. Kho lưu trữ ZIP có thể cung cấp nén, nhưng chúng không thể cung cấp mức độ "trải nghiệm cài đặt" này mà không chạy trình cài đặt thực sự. Thay vào đó, chương trình giải nén chỉ thả file vào thư mục, cung cấp cho nhà phát triển ít kiểm soát thẩm mỹ.
Lý Do 3: Ảnh Đĩa Tương Tự CD
Hãy nhớ rằng ảnh đĩa trở nên phổ biến (và được Apple áp dụng) trong ngày của phương tiện vật lý. Trong thời cổ đại đó, người dùng mua phần mềm bằng cách đi đến cửa hàng và mua hộp chứa CD cài đặt ứng dụng. Sau đó họ đưa CD vào ổ CD và kéo ứng dụng từ CD "được mount" đến thư mục Applications. Họ làm theo bằng cách đẩy CD ra và đặt nó trở lại hộp đựng cho các lần cài đặt sau này.
Ảnh đĩa bắt chước quy trình đó, móc nối vào hành vi người dùng quen thuộc. Image cũng có thể chỉ đọc (chỉ như CD), ngăn người dùng làm hỏng hoặc thay đổi bản sao tốt của ứng dụng. Người dùng có thể lưu trữ ảnh đĩa, biết họ sẽ có bản sao ứng dụng hoạt động được để dành cho trường hợp khẩn cấp.
Kết Luận: Các Lựa Chọn Hiện Đại Và Trình Cài Đặt Gói (Package Installers)

Ảnh đĩa vẫn được sử dụng nhiều, ngay cả ngày nay. Bên cạnh lợi ích của chúng, DMG đã phát triển một lớp vỏ của truyền thống và kỳ vọng. Người dùng kỳ vọng phần mềm mới được giao qua DMG, vì vậy nhà phát triển cung cấp theo cách đó. Nhưng bạn cũng sẽ tìm thấy một số lượng hợp lý các file .app trần truồng bên trong kho ZIP rải rác trên Internet. Điều này đặc biệt đúng cho ứng dụng từ GitHub hoặc nhà phát triển nhỏ hơn.
Bạn cũng có thể thấy ứng dụng đến trong gói (.pkg) với trình cài đặt onboard. Nhà phát triển dùng định dạng gói khi ứng dụng cần thực hiện hướng dẫn khi mở. Nó đặc biệt hữu ích khi chương trình cần sao chép file đến thư mục ngoài "/Applications". Ví dụ, nếu trình cài đặt cần cài font tùy chỉnh hoặc sao chép file đến thư mục Library, định dạng gói có thể thực hiện điều đó với trình cài đặt.
Nếu bạn quan tâm đến tất cả điều này, bạn có thể đọc về lịch sử của ảnh đĩa.