Làm thế nào bạn có thể giải thích sự khác biệt giữa SDK, thư viện, gói và mô-đun?


Câu trả lời 1:

SDK: Bộ phát triển phần mềm

Theo Wikipedia,

Bộ công cụ phát triển phần mềm (SDK hoặc devkit) thường là một bộ công cụ phát triển phần mềm cho phép tạo ứng dụng cho một gói phần mềm nhất định, khung phần mềm, nền tảng phần cứng, hệ thống máy tính, bảng điều khiển trò chơi video, hệ điều hành hoặc nền tảng phát triển tương tự.

Trong các thuật ngữ phi kỹ thuật đơn giản, SDK chứa hầu hết mọi thứ bạn cần trong quá trình phát triển. Một bó lớn, trong ngắn hạn.

Nếu bạn muốn một cái gì đó kỹ thuật cụ thể hơn về SDK, SDK bao gồm:

  • API và / hoặc tài liệu kiến ​​trúc: Điều này thường bao gồm thông tin như tài liệu lớp và tài liệu phương thức và mẫu mã để chứng minh việc sử dụng từng phương thức hoặc lớp. Tệp thư viện Bất kỳ tệp nhị phân hoặc nguồn nào cần thiết hoặc hữu ích cho nhà phát triển sử dụng nền tảng. Ví dụ: SDK Windows bao gồm windows.h là tệp tiêu đề chính cho phát triển Win32. Công cụ và tiện ích phát triển Ứng dụng được tạo bởi nhà cung cấp nền tảng để hỗ trợ các nhà phát triển tạo ứng dụng. Chúng có thể bao gồm các trình biên dịch hoặc các công cụ khác như trình giả lập và trình gỡ lỗi để cho phép viết mã và kiểm tra, cũng như các ứng dụng khác không cần thiết nhưng hữu ích trong phát triển phần mềm. Các ứng dụng này là những ứng dụng hoàn chỉnh, thường nhỏ, được viết bởi nhà cung cấp nền tảng để thể hiện một số khía cạnh cụ thể của nền tảng. Các ứng dụng này thường đi kèm với mã nguồn để giúp nhà phát triển hiểu rõ hơn về cách ứng dụng đang sử dụng nền tảng.

Thư viện

Định nghĩa Wikipedia:

Thư viện là tập hợp các tài nguyên không bay hơi được sử dụng bởi các chương trình máy tính, thường để phát triển phần mềm. Chúng có thể bao gồm dữ liệu cấu hình, tài liệu, dữ liệu trợ giúp, mẫu thông báo, mã được viết sẵn và chương trình con, lớp, giá trị hoặc thông số kỹ thuật loại.

Trong thuật ngữ phi kỹ thuật, hãy tưởng tượng một thư viện công cộng thông thường. Nó chứa cái gì? Sách và một số tài nguyên khác cho kiến ​​thức, phải không? Sách của các ngôn ngữ và thể loại khác nhau. Thư viện phần mềm là một cái gì đó tương tự như vậy. Nó chứa các tài nguyên để phát triển. Thông thường, các thư viện được bao gồm trong SDK, nhưng các thư viện mới cũng có thể được thêm vào.

Về mặt kỹ thuật, Thư viện chứa tập hợp chính xác cú pháp, mã thông báo và ngữ nghĩa của ngôn ngữ lập trình.

Gói

Định nghĩa của Oracle:

Gói là một không gian tên tổ chức một tập hợp các lớp và giao diện liên quan.

Theo thuật ngữ phi kỹ thuật, gói là một gói nhỏ cung cấp một chức năng cụ thể. Về mặt khái niệm, bạn có thể nghĩ các gói giống như các thư mục khác nhau trên máy tính của mình. Bạn có thể giữ các trang HTML trong một thư mục, hình ảnh trong một thư mục khác và các tập lệnh hoặc ứng dụng trong một thư mục khác.

Theo thuật ngữ kỹ thuật, theo định nghĩa, nó chứa tập hợp các lớp và giao diện.

Mô-đun

Định nghĩa Techopedia:

Một mô-đun là một thành phần phần mềm hoặc một phần của chương trình có chứa một hoặc nhiều thói quen. Một hoặc nhiều mô-đun được phát triển độc lập tạo nên một chương trình. Một ứng dụng phần mềm cấp doanh nghiệp có thể chứa một số mô-đun khác nhau và mỗi mô-đun phục vụ các hoạt động kinh doanh riêng biệt và riêng biệt.

Trong thuật ngữ phi kỹ thuật, giả sử một nhà máy sản xuất thực phẩm. Bây giờ, nhà máy được phân chia để có sự phân chia công việc và sử dụng hợp lý. Nhà máy được chia thành các bộ phận nhỏ gọi là sản xuất, đóng gói, đảm bảo chất lượng, tài chính, tiếp thị, giao hàng, v.v. Bạn có thể lấy mỗi bộ phận làm mô-đun.

Về mặt kỹ thuật, mô-đun là một phần của toàn bộ ứng dụng để giảm bớt sự phát triển của toàn bộ chương trình. Hợp nhất các mô-đun nhất định sẽ tạo ra một chương trình hoạt động đầy đủ.


Câu trả lời 2:

Tôi sẽ đề nghị đọc câu trả lời cho các câu hỏi tương tự. Sự khác biệt giữa các mô-đun, thư viện, gói, phụ thuộc và API là gì? và sự khác biệt giữa Khung, SDK, NDK, API và Thư viện là gì.

Hoặc nếu điều đó không làm việc cho bạn. Viết lại câu hỏi của bạn để nó chứa một số bối cảnh. Bạn đang nói về ngôn ngữ nào và SDK nào để thoát khỏi các định nghĩa chung.

Ngay bây giờ, không thể làm tăng câu trả lời của Ishits - điều này tốt.