Potrzebuję przykładów. Zawsze jestem zdezorientowany, więc z kilkoma przykładami mógłbym lepiej to zrozumieć.
Ponadto: czy Eclipse to API czy IDE?
api
frameworks
sdk
ide
terminology
Manoj hans
źródło
źródło
Odpowiedzi:
IDE to zintegrowane środowisko rozwoju - suped-up edytor tekstu z dodatkowym wsparciem dla rozwijających się (takich jak projektanci form, redaktorów zasobów, etc), kompilowania i debugowania aplikacji. np. Eclipse, Visual Studio.
Biblioteka jest kawałek kodu, który można dzwonić z własnego kodu, które pomogą Ci szybciej robić rzeczy / łatwo. Na przykład biblioteka Bitmap Processing zapewni narzędzia do ładowania i manipulowania obrazami bitmapowymi, dzięki czemu nie będziesz musiał pisać całego kodu dla siebie. Zazwyczaj biblioteka oferuje tylko jeden obszar funkcjonalności (przetwarzanie obrazów lub operowanie na plikach zip)
API (interfejs programowania aplikacji) to termin oznacza funkcji / metod w bibliotece, że można zadzwonić zapytać go do robienia rzeczy dla ciebie - interfejs do biblioteki.
SDK (Software Development Kit) jest biblioteką lub grupy bibliotek (często z aplikacji dodatkowych narzędzi, plików danych oraz przykładowy kod), które pomogą Ci w tworzeniu kodu, który wykorzystuje dany system (np kod rozszerzenie do korzystania z funkcji systemu operacyjnego ( Windows SDK), rysowanie grafiki 3D za pośrednictwem określonego systemu (DirectX SDK), pisanie dodatków rozszerzających inne aplikacje (Office SDK) lub pisanie kodu, aby urządzenie takie jak Arduino lub telefon komórkowy robiło, co chcesz). SDK będzie nadal zwykle skupiać się na jednym fokusie.
Zestaw narzędzi jest jak SDK - jest to grupa narzędzi (i często bibliotek kodu), których można użyć, aby ułatwić dostęp do urządzenia lub systemu ... Chociaż może bardziej skupia się na dostarczaniu narzędzi i aplikacji niż na samych bibliotekach kodu .
Ramy jest duża biblioteka lub grupa bibliotek, które zapewnia wiele usług (zamiast być może tylko jeden skoncentrowany umiejętność jak większość bibliotek / SDK zrobić). Na przykład .NET zapewnia strukturę aplikacji - ułatwia korzystanie z większości (jeśli nie wszystkich) różnych usług, których potrzebujesz (np. Windows, grafika, drukowanie, komunikacja itp.) Do pisania szerokiej gamy aplikacji - tak więc jedna „biblioteka” zapewnia obsługę prawie wszystkiego, co musisz zrobić. Często framework dostarcza kompletną bazę, na której tworzysz własny kod, zamiast budować aplikację, która zużywa kod biblioteki do wykonywania części swojej pracy.
Oczywiście istnieje wiele przykładów, które nie będą dokładnie pasować do tych opisów.
źródło
Analogia samochodu
IDE: MS Office of Programming. To miejsce, w którym wpisujesz swój kod, plus kilka dodatkowych funkcji, które sprawiają, że jesteś szczęśliwszym programistą. (np. Eclipse, Netbeans ). Karoseria: to jest to, czego naprawdę dotykasz, widzisz i nad czym pracujesz.
Biblioteka: biblioteka to zbiór funkcji, często pogrupowanych w wiele plików programu, ale spakowanych w jeden plik archiwum. Zawiera programy stworzone przez innych ludzi, dzięki czemu nie musisz wymyślać koła na nowo. (np. junit.jar, log4j.jar ). Biblioteka generalnie odgrywa kluczową rolę, ale całą swoją pracę wykonuje za kulisami, nie ma GUI. Silnik samochodu.
API: dokumentacja wydawcy biblioteki. Oto jak powinieneś korzystać z mojej biblioteki. (np. log4j API , junit API ). Instrukcja obsługi samochodu - tak, samochody też są dostarczane!
Zestawy
Co to jest zestaw? Jest to zbiór wielu powiązanych elementów, które współpracują ze sobą, aby zapewnić określoną usługę. Kiedy ktoś mówi, że apteczka, dostajesz wszystko, czego potrzebujesz w nagłym wypadku: plastry, aspirynę, gazę, środek antyseptyczny itp.
SDK : McDonald's Happy Meal . Masz wszystko, czego potrzebujesz (i nie potrzebujesz) starannie zapakowane: danie główne, napój, deser i bonusowa zabawka. SDK to zbiór różnych komponentów oprogramowania połączonych w pakiet, tak że są „gotowe do działania” zaraz po wyjęciu z pudełka. Często zawiera wiele bibliotek i może , ale niekoniecznie, zawierać wtyczki, dokumentację API, a nawet samo IDE. (np. iOS Development Kit ).
Zestaw narzędzi : GUI. GUI. GUI. Kiedy słyszysz „zestaw narzędzi” w kontekście programowania, często będzie to odnosić się do zestawu bibliotek przeznaczonych do tworzenia graficznego interfejsu użytkownika. Ponieważ zestawy narzędzi są skoncentrowane na interfejsie użytkownika, często są dostarczane z wtyczkami (lub samodzielnymi IDE), które zapewniają narzędzia do malowania ekranu. (np. GWT )
Framework : chociaż nie jest to powszechne pojęcie, framework może być postrzegany jako zestaw. Posiada również bibliotekę (lub zbiór bibliotek, które współpracują), która zapewnia określoną strukturę i wzór kodowania (stąd słowo, framework ). (np. Spring Framework)
źródło
Rozważ programowanie na Androida:
IDE: Eclipse itp.
Biblioteka: biblioteka android.app.Activity (klasa z całym kodem)
API: Interfejs w zasadzie wszystkie funkcje, które wywołujemy
SDK: Android SDK zapewnia biblioteki API i narzędzia programistyczne niezbędne do tworzenia, testowania i debugowania aplikacji na Androida (---- narzędzia - DDMS, emulator ---- platformy - wersje systemu operacyjnego Android, ---- platforma- narzędzia - ADB, ---- dokumentacja API)
Zestaw narzędzi: może to być pakiet ADT
Framework: duża biblioteka, ale bardziej zorientowana na architekturę
źródło
Innymi słowy...
IDE Nawet twój notatnik to IDE. Każde oprogramowanie, za pomocą którego piszesz / kompilujesz kod, jest IDE.
Biblioteka Zbiór kodu, który upraszcza funkcje / metody do szybkiego użycia.
API Interfejs programistyczny dla funkcji / konfiguracji, z którymi pracujesz, jego użycie jest często udokumentowane.
Dodatki SDK i / lub do celów programistycznych / testowych.
ToolKit Małe aplikacje do szybkiego użycia, często GUI.
Aplikacje GUI z interfejsem graficznym nie wymagają znajomości programowania w przeciwieństwie do interfejsów API.
Framework Bunch of APIs / huge Library / Snippets opakowane w przestrzeń nazw / lub hermetyzowane z zewnętrznego zakresu w celu kompaktowej obsługi bez konfliktów z innym kodem.
MVC Wzorzec projektowy oddzielony w modelach, widokach i kontrolerach dla dużych aplikacji. Nie są od siebie zależne i można je zmieniać / ulepszać / zastępować bez zajmowania się innym kodem.
Przykład:
Fragmenty Małe kody składające się tylko z kilku wierszy mogą nie być nawet kompletne, ale warte szybkiego udostępnienia.
Wtyczki Wyłączne funkcje tylko dla określonych struktur / interfejsów API / bibliotek.
Dodatki Dodatkowe moduły lub usługi dla określonych graficznych interfejsów użytkownika.
źródło
SDK reprezentuje zestaw do tworzenia oprogramowania, a IDE reprezentuje zintegrowane środowisko programistyczne. IDE to oprogramowanie lub program używany do pisania, kompilowania, uruchamiania i debugowania, na przykład Xcode. SDK jest podstawowym silnikiem IDE i zawiera wszystkie biblioteki platformy, do których aplikacja musi mieć dostęp. Jest bardziej podstawowy niż IDE, ponieważ zwykle nie ma narzędzi graficznych.
źródło