Tại sao tôi không phải cài đặt chương trình?


13

Tôi mới bắt đầu sử dụng Mac cho iOS, phát triển từ hai thập kỷ sử dụng Windows, và tôi rất ngạc nhiên và bối rối khi thấy rằng không có quá trình cài đặt cho các chương trình Mac .... bạn chỉ cần tải xuống, mở DMG, sao chép tập tin và uy tín.

Điều này làm tôi bối rối không có hồi kết.

Ai đó có thể giải thích ở mức độ kỹ thuật sự khác biệt là gì? Làm thế nào nó có thể hình dung không cần thiết để thực hiện một quá trình cài đặt?

Và nếu điều đó là có thể, tại sao tất cả các hệ điều hành không hoạt động theo cách đó?


Điều đáng chú ý là chỉ cần kéo *.app thư mục vào đĩa cục bộ của bạn có thể kích hoạt các hành động của tệp. Ngoài ra, đó nnn.applà một thư mục , không phải là một tập tin. Làm thế nào các ứng dụng mac hoạt động khá liên quan.
Tên giả

Tôi chỉ muốn chỉ ra rằng các trình cài đặt Windows làm một số việc ngoài việc sao chép tệp và cài đặt các phím tắt. Một là tạo một điểm khôi phục để hệ thống có thể được khôi phục về trạng thái ban đầu nếu có sự cố. Một cái khác để cập nhật registry với một quá trình gỡ cài đặt. Vì các ứng dụng Windows không được đóng gói như các ứng dụng OS X, nên quá trình sau là chắc chắn cần thiết.
Kris Harper

Câu trả lời:


15

Chúng tôi người dùng Mac hỏi cùng một câu hỏi theo cách khác: Tại sao bạn cần một trình cài đặt (un) cho mọi thứ trong Windows?

Phần lớn các chương trình Mac là các gói hoàn chỉnh - tất cả tài nguyên của chúng đều nằm trong thư mục của Ứng dụng (nhấp chuột phải vào biểu tượng Ứng dụng -> Hiển thị Nội dung Gói). Vì vậy, họ sẽ chạy từ bất cứ đâu, có một biến hệ thống cho biết mã ở đâu. Thông thường, một ứng dụng có thể được chạy trực tiếp từ DMG đã tải xuống và thậm chí từ một máy chủ từ xa. Bit của một hiệu suất hit nhưng nó sẽ hoạt động. Cài đặt người dùng nằm trong thư viện của người dùng, cũng có các thói quen hệ thống để xử lý các cơ chế.

Máy Mac không có đăng ký trung tâm yêu cầu thiết lập (hoặc bảo trì) nên không có gì cần phải đến đó.

Nếu bạn đang phát triển các ứng dụng Mac, bạn nên cố gắng hết sức để không cần trình cài đặt - chỉ khi bạn đang cài đặt thư viện dùng chung hoặc dịch vụ cấp vỏ. Nói chung, nó có thể làm mà không cần.

Vì bạn đang hướng tới lập trình iOS, tôi sẽ đề nghị bạn đừng lo lắng về điều đó. Các quy tắc iOS sẽ cho bạn biết nơi lưu những gì và nó KHÔNG thể thương lượng. Tùy chọn ở đây, dữ liệu người dùng ở đó. Bạn sẽ sử dụng các API được cung cấp. Tuân theo. Tuân theo.


Không có ứng dụng có thể nghĩ khác nhau?
Machinarius

Mặt trái là nếu một ứng dụng được đóng gói (.app) không thêm tệp vào hệ thống (chẳng hạn như trong / Thư viện, các địa điểm khác), đăng ký dịch vụ, bảng ưu tiên, v.v., thì "xóa .app" đơn giản Sẽ không làm sạch nó, và thực sự, không có gì làm sạch nó, mặc dù có những ứng dụng khác thực hiện (hoặc ít nhất là yêu cầu như vậy) các tạo phẩm sạch từ các ứng dụng không có mặt.
Hugo

Bạn có thể giải thích làm thế nào điều này có ý nghĩa? Rất nhiều ứng dụng cần được công nhận là trình xử lý cho các tệp nhất định. Điều đó là không thể làm được chỉ với một quá trình trích xuất tập tin; ứng dụng cần phải tự đăng ký ở đâu đó, có lẽ tương đương với sổ đăng ký Windows. Làm thế nào một ứng dụng không cần trình cài đặt.
dùng541686

5

Trên thực tế, có rất nhiều thứ trên OS X cần được "cài đặt".

Thông thường, các ứng dụng được "cài đặt" là các gói bao gồm các hướng dẫn nhất định. Nói một cách đơn giản, gói chạy một kịch bản và yêu cầu hệ thống tạo / di chuyển các tệp trong các phần khác nhau của HĐH. Điều này là cần thiết cho phần mềm như bộ Adobe CS hoặc Microsoft Office.

Các loại ứng dụng khác, là "ứng dụng độc lập", trong đó bạn chỉ cần một tệp thực thi. Tệp này, khi được mở, sau đó tạo các tệp phụ thuộc, tệp ưu tiên và như vậy.


3

Trong nhiều trường hợp, trình cài đặt Windows không thực sự làm gì khác sau đó giải nén các tệp nén và ghi chúng vào đích.

Và sau đó, nó tạo ra một vài phím tắt và nó có thể tự đăng ký để mở các tệp có phần mở rộng cụ thể.

Không có gì kỳ diệu về việc cài đặt phần mềm trong windows và đối với nhiều phần mềm Windows, trên thực tế bạn có thể lấy thư mục phần mềm đã cài đặt và sao chép trực tiếp vào một máy tính khác và chạy nó ở đó mà không cần cài đặt lại.

Vì vậy, nó chủ yếu là một sự khác biệt giữa các giao diện người dùng (Ai chịu trách nhiệm sao chép các tệp) không phải là một sự khác biệt giữa những gì thực sự xảy ra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.