可能的重复:
什么是框架?它有什么作用?为什么需要框架
类库和框架有什么区别
尽管我参考了各种来源,但我仍然无法理解正确的定义。“应用程序框架”是什么意思?
可能的重复:
什么是框架?它有什么作用?为什么需要框架
类库和框架有什么区别
尽管我参考了各种来源,但我仍然无法理解正确的定义。“应用程序框架”是什么意思?
这是一个更简单的答案:
应用程序框架使编写应用程序更容易。
创建应用程序很困难。应用程序必须提供通过操作系统语义获得的输入和输出。现代应用程序通常是基于 GUI 的,GUI 应用程序比非 GUI 应用程序复杂几个数量级。
就是这么简单。该框架承担了与操作系统交互的所有复杂性,并为您简化了它们。它为您处理所有细节。显然,某些框架比其他框架做得更好。
使用似乎很少讨论的应用程序框架有一个缺点(大概是因为我们都对我们不必做的工作量感到微笑)。为了提供操作环境的简化视图,框架必须将您封装成某种“风格”。如果您的应用程序与通常的应用程序形式有很大不同,那么您最终可能会对框架感到沮丧,因为它会使您想要做的事情变得非常困难。这部分是因为您现在必须完成框架对您隐藏的所有事情,部分是因为框架可能是一个封闭系统。
框架是软件库的一种特殊情况,因为它们是包装在定义良好的应用程序编程接口 (API) 中的代码的可重用抽象,但它们包含一些将它们与普通库区分开来的关键区别特征。
应用程序框架由软件开发人员用来为特定开发环境实现应用程序标准结构的框架组成
正如您所料,维基百科回答说,应用程序框架是用于开发应用程序的框架。
应用程序通常提供用户界面。“应用程序框架”可以泛指用户界面框架,它提供的只是低级用户界面控件的集合——如 MFC、Swing、Qt 等。
然而,将它们与更强大的框架(如 Eclipse Rich-Client Platform 和 Netbeans Platform)区分开来是有用的,后者提供了更高级别的框架——构建在那些低级工具包之上——用于开发应用程序。
我个人仅将“应用程序平台”用于后面这些平台,并将低级 API 称为“用户界面工具包”。