Яка різниця між бібліотекою, фреймворком та API? Вони мені здаються однаковими. Я хотів би почути, як люди думають про це.
Яка різниця між бібліотекою, фреймворком та API? Вони мені здаються однаковими. Я хотів би почути, як люди думають про це.
Відповіді:
Бібліотека - це сукупність функцій / об'єктів, яка служить одній конкретній меті. ви можете використовувати бібліотеку в різних проектах.
Рамка - це набір шаблонів і бібліотек, які допомагають створити додаток.
API - це інтерфейс для взаємодії інших програм з вашою програмою без прямого доступу.
Інакше кажучи, подумайте про бібліотеку як надбудову / фрагмент програми, рамку як скелет програми та API як зовнішню частину зазначеної програми.
Поки що хороші відповіді, але вони пропускають один ключовий момент - фреймворк використовує IoC . Ваш код оточений рамкою. Він живе всередині нього. На відміну від цього, ваш код просто використовує бібліотеку або API. Вона живе поза нею. IoC - різниця.
Бібліотека - це сукупність кодів, побудованих для виконання загальних завдань. Код бібліотеки, як правило, відносно стабільний і не містить помилок. Використання відповідних бібліотек може зменшити кількість коду, який потрібно записати. Це, як правило, скорочує кількість рядків коду для додатка, збільшуючи швидкість доставки функціональності. У більшості випадків краще використовувати звичайну бібліотеку, ніж писати власний код.
API (інтерфейс програмування прикладних програм) - це інтерфейс до деякої функціональності, яка дозволяє додатку отримувати доступ до наявних функцій. API може називатися інтерфейсом. API існує на багатьох рівнях, включаючи систему, бібліотеку, рамки, програму та додаток. API повинні бути визначені до реалізації коду, який їх реалізує.
API повинні бути стабільними, хоча частини API можуть бути застарілими з різних причин. Чим ширше використовується API, тим складніше його змінити. Більшість, якщо не весь API Java 1.0, як і раніше, доступні, хоча багато методів застаріли.
Framework - це сукупність API, призначених для спрощення створення додатків. Рамки забезпечують реалізацію для багаторазових компонентів. Хороші рамки, як правило, спеціалізуються на їх застосуванні.
Java Collections Framework - це сукупність API для різних типів об'єктів, які можна використовувати для обробки колекцій. Він забезпечує ієрархію API для різних колекцій. Інтерфейс SortedSet в Java Collections Framework розширює інтерфейс Set, який, в свою чергу, розширює інтерфейс Collection. Ці API - це абстрактні інтерфейси, а фактичні реалізації мають різні назви. Рамки колекцій спрощують реалізацію колекцій та спрощують зміни впровадження під час розробки.
Рамки можуть бути побудовані з менших рамок, як видно з Java Spring Framework, орієнтованої на розробку J2EE. Весна складається з понад десятка рамок, багато з яких можна використовувати самостійно або замінити іншими рамками.
Використання відповідних бібліотек, API та фреймворків може спростити розробку. Ці компоненти переймаються загальними проблемами та дозволяють команді розробників зосередитись на конкретних проблемах програми.
Рамка - це крок від бібліотеки. Якщо ваш інструментарій - це бібліотека, то ваша майстерня буде основою.
У Вікіпедії йдеться
API - це абстракція, яка описує інтерфейс взаємодії з набором функцій, що використовуються компонентами програмної системи
Важливою відмінністю API та користувальницького інтерфейсу є те, що API дозволяє іншому програмному забезпеченню / службам взаємодіяти з вашим рішенням програмно.
API можуть бути побудовані як для додатків (через dll або плагіни), так і для веб-сайтів і служб (через REST та веб-сервіси)
API визначають, як використовувати щось інше з точки зору того, які об’єкти та методи можна використовувати з джерела. Наприклад, для інтеграції Twitter або Facebook у сайт використовується API від Twitter або Facebook, щоб забезпечити оновлення належних даних.
Рамки, як правило, трохи об'ємніші, оскільки це часом може формувати власну мову. jQuery є прикладом рамки, яка має власний синтаксис і має певну вагу в плані того, щоб в певному сенсі потрапити в мій код. Каркаси також можуть бути платформами, які в певному сенсі схожі на API, наприклад, Win32API або .Net Framework мають численні методи побудови програми, тому можуть бути Frameworks, які мають в них API та API, які також розглядаються як Frameworks.
Бібліотеки, як правило, є двійковими файлами, які реалізують API або Framework, і тому вони є бітами, які вам доведеться використовувати API або Framework в деяких випадках. Принаймні так я бачу ці терміни та відмінності між ними.
Бібліотека - це сукупність кодів, які використовуються для спрощення загальних завдань - це можуть бути класи, функції або все, що є специфічним для вашої мови чи платформи. Хорошим прикладом може бути бібліотека оброблення рядків, яка надає помічників для поширених завдань (створення, розбиття, пошук або сортування рядків тощо).
API (інтерфейс програмування додатків) - це визначення ("інтерфейс"), як працювати з іншим додатком, системою чи технологією. Він по суті визначає операції, доступні для взаємодії з цією іншою системою. API може бути бібліотекою (це означає, що API загорнутий у бібліотеку або набір класів), але відмінність полягає в тому, що API завжди посилається на зовнішню систему - будь то база даних, веб-сервіс, інша програма або операційна система себе.
Рамка - це більш широке поняття - воно, як правило, містить декілька бібліотек та API для виконання загальних завдань. Він існує на більш високому концептуальному рівні - це не лише колекція інструментів, а й сукупність моделей дизайну, найкращих практик та методологій. Програмний фреймворк - це розширення загальної основи - його значення включають в себе фундамент, на якому будуються речі, забезпечують підтримку та структуру, а також дають настанови та визначення вимогам.
Додаток розробляється з використанням бібліотек на основі фреймворку та спілкується через API.
Якщо ви створюєте додаток, наприклад, онлайн-додаток для обробки зображень,
Коли до вашої заявки надходить дзвінок
особі, що телефонує
причини, чому вони існують: