对于各种应用开发(桌面、Web、移动、嵌入式、服务器):
类库 - 类库是一些类或函数的集合,它能帮助你写应用。起主导作用的是你的代码,由你来决定何时使用类库。
框架 - 框架是一种特殊的、已经实现了的应用,你只需要对它填充具体的业务逻辑。框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。
根据具体的应用需求,在框架的基础上编写你自己的代码,由
框架来调用你的代码,再由你的代码决定何时使用
类库。
对于Windows桌面应用开发,MFC(Microsoft Foundation Classes)既是一个类库,以C++类的形式封装了Windows的API,并且也包含一个应用程序框架。
对于Android移动应用开发,Android系统架构中的应用程序框架层已经为应用程序提供了一个应用程序框架(Android应用四大组件:Activity、Service、Broadcast Receiver、Content Provider),应用程序可以调用Android系统原生提供的API,也可以使用第三方类库(百度地图API、OpenCV for Android等等)。当然应用开发者也可以使用第三方的应用程序框架,但没有什么必要。