Bermuda
Новичок
Библиотеки vs. Framework
Библиотека предназначена для предоставления полезных функций общего назначения. Библиотека не определяет какой-то конкретный дизайн приложения, а просто предоставляет средства, благодаря которым в приложениях проще решать поставленные задачи, позволяет не изобретать велосипед, а повторно использовать код.
Framework диктует определенную архитектуру приложения и обязывает писать код под себя. Он определяет общую структуру, ее разделение на классы и объекты, основные функции тех и других, методы взаимодействия объектов и классов. Все это обеспечивается фрэймворком, что позволяет разработчику сконцентрироваться на самом приложении. Акцент делается на повторном использовании дизайна, а не кода.
Минус фрэймворка виден сразу -- для работы с ним, требуется предварительно изучить его. Т. е. незнакомый с фрэймворком человек при отстутсвии документации будет долго и мрачно его дебажить, чтобы поправить детскую ошибку в приложении.
Плюс фрэймворка чувствуется на "конвеерных" производствах. Делается некоторое стандартное приложение, потом "обрабатывается напильником" под клиента. Дальнейшее сопровождение нескольких разных проектов облегчается благодаря схожей структуре.
Какие еще плюсы и минусы?
Библиотека предназначена для предоставления полезных функций общего назначения. Библиотека не определяет какой-то конкретный дизайн приложения, а просто предоставляет средства, благодаря которым в приложениях проще решать поставленные задачи, позволяет не изобретать велосипед, а повторно использовать код.
Framework диктует определенную архитектуру приложения и обязывает писать код под себя. Он определяет общую структуру, ее разделение на классы и объекты, основные функции тех и других, методы взаимодействия объектов и классов. Все это обеспечивается фрэймворком, что позволяет разработчику сконцентрироваться на самом приложении. Акцент делается на повторном использовании дизайна, а не кода.
Минус фрэймворка виден сразу -- для работы с ним, требуется предварительно изучить его. Т. е. незнакомый с фрэймворком человек при отстутсвии документации будет долго и мрачно его дебажить, чтобы поправить детскую ошибку в приложении.
Плюс фрэймворка чувствуется на "конвеерных" производствах. Делается некоторое стандартное приложение, потом "обрабатывается напильником" под клиента. Дальнейшее сопровождение нескольких разных проектов облегчается благодаря схожей структуре.
Какие еще плюсы и минусы?