在与开发人员交谈后,我有一个问题,“你的应用程序使用什么框架?”和“你在前端使用的是什么web技术?”
因此,为了准确地回答他们所问的问题,在这种情况下,“框架”和“技术”之间有什么区别?我如何以不同的方式回答这两个问题,或者它们都有相同的答案?
例如,我认为在MEAN堆栈应用程序中,我使用的“技术”是mongoDB、expressJS、angularJS和nodeJS。什么是“框架”。
发布于 2015-04-28 02:06:16
框架是技术的子集。所有的计算机语言都是技术。所有的框架都是用计算机语言编写的,以解决特定的问题。MEAN堆栈由许多技术组成。NodeJS是一个web应用程序框架,它允许JavaScript在服务器上运行。Express用于创建API。Angular通常用于客户端,以提供前端体验。MongoDB是一种技术,但不是一个框架,它是一个允许应用程序持久化数据的软件。
发布于 2015-04-28 01:17:00
使用MEAN堆栈的示例,有人可能会认为像AngularJS这样的框架是给定技术堆栈的子集。我经常认为框架是一组用于......的工具。你知道吗,我觉得打个比方能更好地表达我的想法。
打个比方
建设=开发?
想一想总承包商(你知道的,你打电话来修理你房子/工作周围的东西的人)。因此,开发很像手工/建筑工作。他们解决问题,我们解决问题。他们给你建了新房子或厨房柜台,我们申请...呀
组件
现在考虑一下建造房屋的各个独立组件:
我将它们等同于我们在开发中用来服务于我们最终目标的单独的东西:
工具
就像管道工有专门的工具来完成他的工作一样,我认为像AngularJS这样的框架只是另一个专门服务于客户端UI工作的工具。Bootstrap是一个样式框架/工具,就像油漆滚筒完成工作一样。CSS或Javascript是钉子和螺丝,但你不能仅仅用钉子和螺丝建造一座房子,你需要工具和方法来组装你的部件。
我不知道这是否是最好的类比,但这是我多年来一直用来向外行解释我的工作是什么的一个类比,它似乎很好地传达了这一点。
最后..。
..。我认为你可以摆脱这样的想法,即技术包含了你所使用的任何框架。通过提到一个(他们熟悉的)框架,你就是在暗示这项技术。
https://stackoverflow.com/questions/29901772
复制相似问题