Jaka jest różnica między biblioteką, frameworkiem i interfejsem API? Wszystkie wydają mi się takie same. Chciałbym usłyszeć, że ludzie o tym myślą.
terminology
Bob Dole
źródło
źródło
Odpowiedzi:
Biblioteka to zbiór funkcji / obiektów, który służy jednemu konkretnemu celowi. możesz użyć biblioteki w różnych projektach.
Framework to zbiór wzorców i bibliotek pomagających w budowaniu aplikacji.
API jest interfejsem dla innych programów do interakcji z twoim programem bez bezpośredniego dostępu.
Innymi słowy, pomyśl o bibliotece jako dodatku / części aplikacji, frameworku jako szkielecie aplikacji i interfejsie API jako zewnętrznej części wspomnianej aplikacji.
źródło
Jak dotąd dobre odpowiedzi, ale brakuje im jednego kluczowego punktu - platforma korzysta z IoC . Twój kod jest otoczony ramą. Żyje w nim. W przeciwieństwie do tego, twój kod korzysta po prostu z biblioteki lub interfejsu API. Żyje poza nim. IoC jest różnicą.
źródło
Biblioteka to zbiór kodów zbudowany do wykonywania typowych zadań. Kod biblioteki jest zwykle stabilny i wolny od błędów. Zastosowanie odpowiednich bibliotek może zmniejszyć ilość kodu wymaganego do napisania. Będzie miał tendencję do zmniejszania liczby wierszy kodu dla aplikacji, zwiększając szybkość dostarczania funkcjonalności. W większości przypadków lepiej jest użyć procedury bibliotecznej niż napisać własny kod.
API (Application Programming Interface) to interfejs do niektórych funkcji, który umożliwia aplikacji dostęp do dostępnych funkcji. Interfejs API może być nazywany interfejsem. Interfejsy API istnieją na wielu poziomach, w tym w systemie, bibliotece, frameworku, programie i aplikacji. Interfejsy API należy zdefiniować przed zaimplementowaniem kodu implementującego je.
Interfejsy API powinny być stabilne, chociaż części interfejsu API mogą być przestarzałe z różnych powodów. Im szerszy jest interfejs API, tym trudniej go zmienić. Większość, jeśli nie całość interfejsu API Java 1.0 jest nadal dostępna, choć wiele metod jest przestarzałych.
Framework to zbiór interfejsów API zaprojektowanych w celu uproszczenia budowy aplikacji. Ramy zapewniają implementacje komponentów wielokrotnego użytku. Dobre ramy zwykle specjalizują się w ich stosowaniu.
Java Collections Framework to zbiór interfejsów API dla różnych typów obiektów, których można używać do obsługi kolekcji. Zapewnia hierarchię interfejsów API dla różnych kolekcji. W ramach Java Collections Framework interfejs SortedSet rozszerza interfejs Set, który z kolei rozszerza interfejs Collection. Te interfejsy API są abstrakcyjnymi interfejsami, a rzeczywiste implementacje mają różne nazwy. Ramy kolekcji upraszczają wdrażanie kolekcji i upraszczają zmianę implementacji podczas programowania.
Frameworki mogą być budowane z mniejszych frameworków, jak widać w Java Spring Framework skierowanym na rozwój J2EE. Wiosna składa się z kilkunastu ram, z których wiele może być używanych samodzielnie lub zastąpionych innymi ramami.
Korzystanie z odpowiednich bibliotek, interfejsów API i struktur może uprościć programowanie. Komponenty te zajmują się typowymi problemami i pozwalają zespołowi programistycznemu skoncentrować się na problemach specyficznych dla aplikacji.
źródło
Struktura jest krokiem naprzód w stosunku do biblioteki. Jeśli Twój przybornik jest biblioteką, warsztat byłby ramą.
Wikipedia mówi
Ważną różnicą między interfejsem API a interfejsem użytkownika jest to, że interfejs API pozwala programistycznie na interakcję innego oprogramowania / usług z rozwiązaniem.
Interfejsy API można budować zarówno dla aplikacji (przez dll lub wtyczki), jak i stron internetowych i usług (przez REST i usługi sieciowe)
źródło
Interfejsy API określają, jak używać czegoś innego pod względem tego, jakie obiekty i metody mogą być używane ze źródła. Na przykład integracja Twittera lub Facebooka z witryną wykorzystuje API z Twittera lub Facebooka, aby zapewnić aktualizację odpowiednich danych.
Frameworki wydają się być w pewnym sensie nieco nieporęczne, ponieważ czasami mogą one prawie tworzyć własny język. jQuery jest przykładem frameworka, który ma własną składnię i ma nieco większą wagę w sensie dostania się do mojego kodu. Frameworki mogą być również platformami, które w pewnym sensie upodabniają je do API, np. Win32API lub .Net Framework mają wiele metod budowania aplikacji, więc mogą istnieć Frameworki, które zawierają API i API, które są również postrzegane jako Frameworki.
Biblioteki są zwykle plikami binarnymi, które implementują API lub Framework, więc są to bity, które trzeba w niektórych przypadkach użyć API lub Framework. Przynajmniej tak widzę te warunki i różnice między nimi.
źródło
Idź do biblioteki i zacznij czytać książki. Jeśli jesteś aplikacją, to kolekcja książek jest biblioteką. Półki, szafki i mieszanka, która mieści to wszystko, stanowi ramę. Wszystko, z czym się kontaktujesz podczas czytania książki, to API.
źródło
Biblioteka to zbiór kodu, który służy do uproszczenia typowych zadań - mogą to być klasy, funkcje lub cokolwiek innego, co jest specyficzne dla twojego języka lub platformy. Dobrym przykładem może być biblioteka do manipulacji ciągami, która zapewnia pomoc w typowych zadaniach (budowanie, dzielenie, wyszukiwanie lub sortowanie ciągów itp.).
API (interfejs programowania aplikacji) to definicja („interfejs”) sposobu pracy z inną aplikacją, systemem lub technologią. Zasadniczo definiuje operacje dostępne do interakcji z tym innym systemem. Interfejs API może być biblioteką (co oznacza, że interfejs API jest zawinięty w bibliotekę lub zestaw klas), ale różnica polega na tym, że interfejs API zawsze odwołuje się do systemu zewnętrznego - niezależnie od tego, czy jest to baza danych, usługa internetowa, inna aplikacja lub system operacyjny samo.
Framework jest większą koncepcją - zwykle zawiera wiele bibliotek i interfejsów API do wykonywania typowych zadań. Istnieje na wyższym poziomie koncepcyjnym - to nie tylko zbiór narzędzi, ale także zbiór wzorców projektowych, najlepszych praktyk i metodologii. Software Framework jest rozszerzeniem ogólnego frameworka - jego znaczenie obejmuje bycie fundamentem, na którym budowane są rzeczy, zapewnianie wsparcia i struktury oraz udzielanie wskazówek i definicji wymagań.
źródło
Aplikacja została opracowana przy użyciu bibliotek opartych na frameworku i komunikuje się za pośrednictwem interfejsu API.
Jeśli tworzysz aplikację, powiedz aplikację do przetwarzania obrazów online,
Gdy nadejdzie połączenie do Twojej aplikacji
do osoby dzwoniącej
powody, dla których istnieją:
źródło