平台和框架有什么区别?

Thi*_*ent 8 platform frameworks

Stack Overflow上有几个主题,网上的帖子解决了这个问题:

但是,当我构思它们时,它们都没有真正帮助我理解框架和平台之间的实际差异.

我的意思是:

  • 框架:Rails,Django或Laravel.
  • 平台:Node.JS或Meteor

在上面的例子中,究竟是什么将平台与平台分开?

Llo*_*sas 11

骨架

可以将框架与骨架进行比较,骨架需要附加一些肉体.这种程序化的肉通常由链接并使用骨架部分的特定应用程序提供.所以实际工作,即.填充孔并连接点,由应用程序完成.

在编程中,框架允许程序员专注于他们面临的实际任务,而不是浪费时间重新发明轮子.通常,框架附带一组预定义的函数和类.例如,当使用Spring(Java)或Symfony(PHP)时,程序员不需要过多地考虑诸如持久性,路由和会话管理之类的事情,因为工作是由标准化的框架组件完成的.

平台

另一方面,平台提供运行应用程序所需的硬件和软件工具 - 无论是独立程序还是构建在框架之上的程序.大多数情况下,它具有平台即服务(PaaS)的风格,这意味着平台软件本身的代码基础不是分发或许可的.相反,它是在云中运行的托管解决方案的一部分,可以通过API或GUI访问.

通常,平台被构建为可扩展的多租户系统,同时提供对许多用户的访问,因此使用规模经济能够以合理的价格提供服务.然后,开发人员可以使用force.com或Google App Engine等平台构建和运行自己的应用程序.在许多情况下,这些应用程序比独立程序更轻量级,因为大多数业务逻辑都包含在平台中.

资料来源:https: //blog.commercetools.com/2015/11/19/framework-vs-platform/

  • 根据我的观点,@metalhead,这一切都取决于需要做多少工作来容纳另一组客户。如果您基本上可以重用基础设施,并且只需执行微小的更改来适应它,那么您可以将其称为平台。事实上,您要做的就是“扩展”该平台以响应更多数量的客户。这确实是一个很常见的过程,小平台变大,需要适应新的需求。如果目的是向利益相关者展示这一点,那么一个好的做法是估算这些变更的大致时间和成本。 (2认同)