SDK so với JDK
Bộ công cụ phát triển phần mềm (còn được gọi là SDK hoặc devkit) là một bộ công cụ phát triển. Nó cho phép các ứng dụng được tạo 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 bất kỳ nền tảng nào tương tự với bất kỳ nền tảng nào được liệt kê. SDK bao gồm mọi thứ đơn giản như API theo cách một số tệp giao tiếp với một ngôn ngữ lập trình cụ thể hoặc bao gồm phần cứng tinh vi để giao tiếp với một hệ thống nhúng nhất định. Một số công cụ phổ biến hơn được tìm thấy trong SDK bao gồm hỗ trợ gỡ lỗi và các tiện ích tương tự được trình bày trong môi trường phát triển tích hợp (hoặc IDE).
Bộ công cụ phát triển Java (hay JDK) là SDK được sử dụng rộng rãi nhất trên thị trường. Được phát triển bởi Sun microsystems cho các nhà phát triển Java, JDK là một phần mềm miễn phí được phát hành theo Giấy phép Công cộng GNU (hoặc GPL). Có rất nhiều thành phần tạo nên JDK. Các thành phần này là một lựa chọn của các công cụ lập trình. Chúng bao gồm, nhưng không giới hạn ở java, trình tải cho tất cả các ứng dụng Java diễn giải và có thể diễn giải các tệp lớp được tạo bởi trình biên dịch javac; javac, trình biên dịch chuyển đổi mã nguồn thành mã byte Java; javaws, là trình khởi chạy Java Web Start cho các ứng dụng JNLP; jmap, là một tiện ích thử nghiệm xuất bản đồ bộ nhớ cho Java và có thể in các bản đồ bộ nhớ đối tượng dùng chung hoặc chi tiết bộ nhớ heap của một quy trình nhất định; và VisualVM, là một công cụ trực quan tích hợp một số công cụ JDK dòng lệnh và các khả năng cấu hình bộ nhớ và hiệu năng nhẹ.
SDK bao gồm mã mẫu và ghi chú kỹ thuật hoặc tài liệu khác hỗ trợ mã này để hỗ trợ làm rõ các điểm từ tài liệu tham khảo chính. Thông thường một kỹ sư phần mềm nhận SDK từ nhà phát triển mục tiêu. SDK do đó khá dễ dàng tải xuống từ internet. Nhiều SDK hoàn toàn miễn phí để khuyến khích các nhà phát triển sử dụng hệ thống hoặc ngôn ngữ. Họ có thể đã đính kèm giấy phép để làm cho chúng không phù hợp để xây dựng phần mềm dự định được phát triển theo giấy phép không tương thích. Một SDK được phát triển cho một tiện ích bổ sung cho hệ điều hành (ví dụ: QuickTime cho Mac OS) có thể bao gồm phần bổ sung thực tế trên chính phần mềm để sử dụng cho việc phát triển - nếu nó không được phân phối lại.
JDK là một tập hợp con mở rộng của SDK. Sun thừa nhận theo thuật ngữ, JDK là tập hợp con của SDK chịu trách nhiệm viết và chạy các chương trình Java. Phần còn lại của SDK này được tạo thành từ phần mềm bổ sung (Máy chủ ứng dụng, trình gỡ lỗi và tài liệu).
Tóm lược:
1. SDK là một bộ công cụ phát triển cho phép tạo các ứng dụng cho các gói hoặc nền tảng phần mềm nhất định; JDK là SDK được sử dụng rộng rãi nhất và là phần mở rộng của SDK chịu trách nhiệm viết và chạy các chương trình Java.
2. SDK bao gồm mã mẫu và ghi chú kỹ thuật hoặc tài liệu hỗ trợ khác; JDK bao gồm các thành phần là một lựa chọn của các công cụ lập trình.