Zestaw do tworzenia oprogramowania (SDK) to zestaw narzędzi dostarczanych przez producenta (zwykle) platformy sprzętowej, systemu operacyjnego (OS) lub języka programowania. Zestawy SDK pomagają programistom tworzyć aplikacje specyficzne dla tej platformy, systemu lub języka programowania. Pomyśl o tym jak o plastikowej torbie z narzędziami, która jest zapakowana z częściami komody, którą kupiłeś do samodzielnego złożenia. Masz to, czego potrzebujesz, aby wykonać zadanie, a zawartość zestawu różni się w zależności od producenta.
Zwykle podstawowy zestaw SDK zawiera kompilator, debugger i interfejsy programowania aplikacji (API), ale może również zawierać dowolne z poniższych:
- Dokumentacja
- Biblioteki
- Redaktorzy
- Środowiska wykonawcze / programistyczne
- Narzędzia do testowania / analizy
- Sterowniki
- Protokoły sieciowe
Dobry SDK zapewnia wszelkie komponenty, które programiści mogą uznać za niezbędne podczas tworzenia aplikacji dla tego konkretnego produktu. Niektóre zestawy SDK będą również zawierać przykład lub podstawowy projekt testowy, aby pomóc programistom w jak najszybszym rozpoczęciu pracy.
Niektóre przykłady zestawów programistycznych to Java Development Kit (JDK), Windows 7 SDK, MacOs X SDK i iPhone SDK. Jako konkretny przykład, zestaw SDK operatora Kubernetes może pomóc w opracowaniu własnego operatora Kubernetes. Zawiera interfejsy API wysokiego poziomu, narzędzia do tworzenia szkieletów i generowania kodu, a także rozszerzenia obejmujące typowe przypadki użycia przez operatorów.
Większość pakietów SDK zawiera interfejs API w celu łączenia nowych aplikacji lub projektów na poziomie tekstu źródłowego. Często zawierają również przykładowy kod, który daje programistom przykładowe programy i biblioteki, aby pomóc im nauczyć się budować podstawowe programy. Stamtąd mogą przejść do tworzenia bardziej złożonych aplikacji.
Niektóre pakiety SDK zawierają dokumentację dotyczącą korzystania z interfejsów API, a także samouczki, często zadawane pytania i przykładowe grafiki – ponieważ czasami programiście może trochę potrwać, zanim nauczy się, jak korzystać z nowego zestawu SDK. Z tego powodu intuicyjny interfejs programistyczny (lub bardziej rozbudowana dokumentacja) jest pomocny w zachęcaniu programistów do korzystania z konkretnego programu jednej firmy zamiast opcji konkurencji.
Podobnie SDK może być świetnym sposobem dla firmy aby przedstawić programistom ich produkty i zachęcić ich do tworzenia aplikacji przy użyciu ich platformy lub systemu operacyjnego. Z tego powodu większość zestawów SDK jest bezpłatna – programista może go po prostu pobrać i natychmiast rozpocząć programowanie.
Kwestie do rozważenia
Niektóre pakiety SDK mogą mieć reguły lub umowy, które muszą zostać potwierdzone i przesłane przed ich użyciem – szczególnie w przypadku nowych produktów w fazie alfa lub beta – lub dla oprogramowania z algorytmami, które nie są publicznie ujawniane (nie jest to oprogramowanie typu open source). Pakiet SDK może również podlegać umowie licencyjnej, aby utworzone oprogramowanie nie zostało wydane na podstawie niezgodnej licencji.
Programista musi wziąć te kwestie pod uwagę przy wyborze pakietu SDK, z którym ma zacząć pracować. Na przykład:
- Pakiet SDK z licencją prawnie zastrzeżoną jest niezgodny z tworzeniem oprogramowania typu open source.
- Zestawy SDK z licencją GPL nie będą działać tworzenie zastrzeżonych aplikacji
- Istnieją zastrzeżenia dotyczące obchodzenia się z licencją Lesser General Public License (LGPL) dla projektów z zastrzeżonymi elementami kodu.
Dlaczego warto wybrać Red Hata?
Aplikacje open source są stale rozwijane przez amatorów i profesjonalistów, ponieważ ich SDK pozwala na kodowanie nowych projektów i rozszerzeń funkcjonalności, co są następnie udostępniane reszcie społeczności.
Red Hat łączy najlepsze narzędzia, rozwiązania i usługi w zakresie tworzenia aplikacji i robimy to w sposób open source. Niezależnie od tego, czy szukasz platformy do tworzenia aplikacji (Red Hat OpenShift), środowiska wykonawczego do ich wbudowania (Red Hat Runtimes) czy środowiska programistycznego ze wszystkimi narzędziami potrzebnymi do tworzenia, testowania i wdrażania aplikacji ( Red Hat CodeReady Studio), Red Hat Cię obejmuje.