В чем разница между фреймворком и библиотекой? [закрыто]

Вот один из способов сделать это:

#!/usr/bin/python
import MySQLdb

# Connect
db = MySQLdb.connect(host="localhost",
                     user="appuser",
                     passwd="",
                     db="onco")

cursor = db.cursor()

# Execute SQL select statement
cursor.execute("SELECT * FROM location")

# Commit your changes if writing
# In this case, we are only reading data
# db.commit()

# Get the number of rows in the resultset
numrows = cursor.rowcount

# Get and display one row at a time
for x in range(0, numrows):
    row = cursor.fetchone()
    print row[0], "-->", row[1]

# Close the connection
db.close()

Ссылка здесь

816
задан Shakthi Arul 4 January 2019 в 05:15
поделиться

14 ответов

На самом деле эти термины могут означать много разных вещей, зависящих контекст, они используются.

, Например, на платформах Mac OS X просто библиотеки, упакованные в пакет. В пакете Вы найдете фактическую динамическую библиотеку (libWhatever.dylib). Различие между пустой библиотекой и платформой на Mac - то, что платформа может содержать несколько различных версий библиотеки. Это может содержать дополнительные ресурсы (изображения, локализованные строки, файлы данных XML, объекты пользовательского интерфейса, и т.д.) и если платформа не выпущена общественности, это обычно содержит необходимые.h файлы, необходимо пользоваться библиотекой.

Таким образом у Вас есть все в единственном пакете, необходимо пользоваться библиотекой в приложении (C/C ++/Objective-C, библиотека без.h файлов довольно бесполезна, если Вы не пишете им сами согласно некоторой документации библиотеки), вместо набора файлов для перемещений (пакет Mac является просто каталогом на уровне Unix, но UI рассматривает его как единственный файл, в значительной степени как Вы имеют файлы JAR в Java и когда Вы нажимаете его, Вы обычно не видите то, что внутри, если Вы явно не выбираете для показа содержания).

Википедия называет платформу "модным словечком". Это определяет платформу программного обеспечения как

, платформа программного обеспечения А является допускающим повторное использование дизайном для программной системы (или подсистема). Платформа программного обеспечения может включать программы поддержки, библиотеки кода, язык сценариев или другое программное обеспечение, чтобы помочь разработать и склеить различные компоненты проекта программного обеспечения. Различные части платформы могут быть представлены через API..

, Таким образом, я сказал бы, библиотека просто что, "библиотека". Это - набор объектов/функций/методов (в зависимости от Вашего языка) и Вашего приложения "ссылки" против него и таким образом может использовать объекты/функции/методы. Это - в основном файл, содержащий повторно используемый код, который может обычно быть общим для несколько приложений (Вы не должны писать тот же код много раз).

платформа А может быть всем, что Вы используете в разработке приложений. Это может быть библиотека, набор многих библиотек, набор сценариев или любая часть программного обеспечения, необходимо создать приложение. Платформа является просто очень неопределенным термином.

Вот статья о некотором парне относительно темы" Библиотека по сравнению с Платформой ". Я лично думаю, что эта статья является очень спорной. Не неправильно, что он говорит там, однако, он просто выбирает одно из повторных определений платформы и сравнивает это с классическим определением библиотеки. Например, он говорит, что Вам нужна платформа для разделения на подклассы. Действительно? Мне можно было определить объект в библиотеке, я могу связаться против него и разделить его на подклассы в своем коде. Я не вижу, как мне нужна "платформа" для этого. В некотором роде он скорее объясняет, как термин платформа используется в наше время. Это - просто раздутое слово, как я сказал прежде. Некоторые компании выпускают просто нормальную библиотеку (в любом смысле классической библиотеки) и называют его "платформой", потому что это звучит более необычным.

332
ответ дан Taryn 4 January 2019 в 05:15
поделиться

Ваша интерпретация звучит довольно хорошей мне... библиотека могла быть чем-либо, что это скомпилировало и автономный для повторного использования в другом коде, нет буквально никакого ограничения на его содержание.

А платформа , с другой стороны, как ожидают, будет иметь диапазон средств для использования на некоторой определенной арене разработки приложений, точно так же, как Ваш пример, MVC.

4
ответ дан Adam Bellaire 4 January 2019 в 05:15
поделиться

Я думаю, что библиотека является рядом утилит для достижения цели (например, сокеты, криптография, и т.д.). Платформа является библиотекой + EINVIRONNEMENT ВО ВРЕМЯ ВЫПОЛНЕНИЯ. Например, ASP.NET является платформой: это принимает Запросы HTTP, создайте объект страницы, вызовите lyfe события цикла и т.д. Платформа делает все это, Вы пишете немного кода, который будет выполнен в определенное время жизненного цикла текущего запроса!

Так или иначе, очень interestering вопрос!

5
ответ дан Peter Mortensen 4 January 2019 в 05:15
поделиться

Библиотека реализует функциональность для узко ограниченной по объему цели, тогда как платформа имеет тенденцию быть набором библиотек, оказывающих поддержку для более широкого диапазона функций. Например, дескрипторы библиотеки System.Drawing.dll, тянущие функциональность, но, являются только одной частью полной платформы.NET.

6
ответ дан Jeff Yates 4 January 2019 в 05:15
поделиться

Вы называете Библиотеку.

Платформа звонит Вам.

<час>

е ›іж› ёй¤Ё еЉ©гЃ‘
и¶іе ґгЃЊз — ›гЃ „
е¤љгЃЏгЃ®ж Ї™

224
ответ дан Ian Boyd 4 January 2019 в 05:15
поделиться

Я думаю, что Вы придавили вполне хорошо различие: платформа обеспечивает кадр, в котором мы делаем нашу работу... Так или иначе это больше "ограничивает", чем простая библиотека.
платформа, как также предполагается, добавляет непротиворечивость к ряду библиотек.

5
ответ дан PhiLho 4 January 2019 в 05:15
поделиться

здесь связан горькая статья Joel Spolsky , но содержит хорошее различие между панелями инструментов, библиотеками, платформами и таким

10
ответ дан Lorenzo Boccaccia 4 January 2019 в 05:15
поделиться

Это - то, как я думаю о нем (и видели рационализированный другими):

библиотека А является чем-то содержавшим в Вашем коде. И платформа является контейнером для Вашего приложения.

12
ответ дан Kon 4 January 2019 в 05:15
поделиться

Библиотека - Любой набор классов или компонентов, которые могут использоваться в качестве клиента, считает соответствие для выполнения определенной задачи.
Платформа - передает под мандат определенные инструкции для Вас к "плагину" во что-то большее, чем Вы. Вы просто обеспечиваете части, характерные для Вашего приложения/требований в опубликованном - требуемый способ, так, чтобы 'framwework мог сделать Вашу жизнь легкой'

6
ответ дан Gishu 4 January 2019 в 05:15
поделиться

Я забываю, где я видел это определение, но я думаю, что это довольно хорошо.

библиотека А является модулем, который Вы называете от своего кода, и платформа является модулем, который называет Ваш код.

30
ответ дан Aniket Kapse 4 January 2019 в 05:15
поделиться

Мне нравится ответ Cohens, но более техническое определение: Ваш код называет библиотеку. платформа А называет Ваш код . Например, платформа GUI называет Ваш код через обработчики событий. Веб-платформа называет Ваш код через некоторую модель ответа запроса.

Это также называют инверсия управления - внезапно, платформа решает, когда и как выполнить Вас код, а не наоборот как с библиотеками. Это означает, что платформа также оказывает намного большее влияние на то, как необходимо структурировать код.

42
ответ дан Adam Bellaire 4 January 2019 в 05:15
поделиться

Поскольку я всегда описывал его:

Библиотека А является инструментом.

Платформа А является образом жизни.

библиотека А можно использовать любую крошечную часть, помогает Вам. Платформа необходимо фиксировать весь проект.

98
ответ дан James Curran 4 January 2019 в 05:15
поделиться

Я думаю, что основное различие - то, что платформы следуют" , голливудский принцип ", т.е. "не звонят нам, мы позвоним Вам".

Согласно Martin Fowler :

А библиотека является по существу рядом функций, которые можно вызвать, в эти дни обычно организуемый в классы. Каждый вызов делает некоторую работу и возвращает управление клиенту.

А платформа воплощает некоторый абстрактный дизайн с большим встроенным поведением. Для использования его, необходимо вставить поведение в различные места в платформе или путем разделения на подклассы или путем включения собственных классов. Код платформы тогда называет Ваш код в этих точках.

273
ответ дан Panos 4 January 2019 в 05:15
поделиться

библиотека выполняет определенные, четко определенные операции.

А платформа является скелетом, где приложение определяет "суть" операции путем заполнения скелета. Скелет все еще имеет код для соединения частей, но наиболее важная работа сделана приложением.

Примеры библиотек: Сетевые протоколы, сжатие, обработка изображения, представляет в виде строки утилиты, оценку регулярного выражения, математику. Операции являются автономными.

Примеры платформ: система веб-приложения, Сменный менеджер, система GUI. Платформа определяет понятие, но приложение определяет фундаментальную функциональность тот, конечные пользователи заботятся о.

480
ответ дан Jason Cohen 4 January 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: