【问题标题】:MVC without framework? [closed]没有框架的 MVC? [关闭]
【发布时间】:2014-01-13 10:09:38
【问题描述】:

现在我没有任何具体的问题,而是一个笼统的,征求意见的帖子。

在一个月内,我们将收到我们必须开发的项目的文档。该网站有很大的潜力,一旦建成,也会在电视和广播中做广告。所以它会有很多访问者和成员,它会有一个丰富的管理面板,有很多选项。我的朋友被要求担任 CTO,他是一名资深的 PHP 开发人员,拥有近 10 年的经验,而我是一名初级 JS 开发人员。 (或者更少,我没有多年的JS经验,但我致力于)

是 JS MVC 框架替代 PHP 吗? PHP MVC 框架是 JS 的替代品吗?它们是否可以很好地协同工作,或者是否可以不使用任何框架,而是使用 MVC 方法编写项目?

例如:

  • 型号:PHP
  • 控制器:JS (jQuery+Ajax)
  • 视图:HTML、CSS

由于我的朋友是一名专业的 PHP 开发人员,并且会在旁边有一份日常工作,但只是在这个项目的开始,他并不想学习其他语言(如 Node.js),因为几乎所有的东西是他现在在 PHP 中的例行程序。

我知道一切都取决于文档以及我们必须准确开发的内容,但我只是好奇,想了解更多。我知道我有很多事情要弥补,有时我会担心我目前的知识,但后来我认为无论挑战多大,总会有解决方案。

【问题讨论】:

  • 我认为你在错误的地方。在 StackExchange 的程序员网站上提出这个问题
  • 我觉得Lal的意思是寻求观点和意见的问题在这里不太适合,这是针对特定的编程问题。但是,您可能会在 cmets 中得到一些想法。
  • 我认为您需要决定要构建什么样的应用程序。我倾向于认为 JavaScript MVC 框架对于单页应用程序非常有用,所以如果你愿意,沿着 JavaScript 路线(在客户端)是一个好主意。但是如果你想写一个传统的应用程序,那么 PHP/MVC 就可以了,是的,你可以在没有“适当”框架的情况下做到这一点。从长远来看,我认为 DIY 框架是一种虚假的经济——成熟的框架通常比大多数人能想到的任何东西都经过更好的测试和编写。
  • MVC 基本上只是应用程序内部职责的最佳实践常识分离。这是一种构建代码的方法。它对 PHP/JS 交互/兼容性没有影响。因此:是的,无论您使用什么结构,PHP 和 JS 都将完全相同地协同工作;不,你不需要一个框架来做这些。框架也只是代码,在这种情况下是预制代码。你也可以自己写。
  • 如果你有一个强大的 PHP 开发人员,那么我认为你应该发挥自己的优势,用 PHP 完成大部分工作。你可以边做边构建和学习 JS,但你不想让项目 JS 太重,当你有一个可以在服务器端做的人时给自己施加压力。

标签: javascript php model-view-controller


【解决方案1】:

MVC 并不意味着对所有模块(模型、视图、控制器)使用不同的语言,而是松散耦合和封装应用程序的某些部分。

与许多观点相反,MVC 并不是应用程序开发的灵丹妙药。这实际上取决于您正在开发的应用程序。

没有必要使用任何框架来遵循 MVC 方法。事实上,它是一种可以非常快速地以最基本的形式结合在一起的模式。

如果您决定将后端用作 API 并通过前端提取数据,则无需使用 MVC 来搞定。例如,对于 API,不需要执行大多数视图任务。相反,您应该关心构建一个高性能和可扩展的数据存储层(例如,它能够轻松地以许多常见格式提供数据,例如 XML 或 JSON)和一个可以很好地处理 HTTP 请求的强大路由器(看看 REST 是否是给你的东西)。

在这种情况下,您需要一个可以处理模板的强大前端,并且通常还有一个用于获取、发送和处理数据的强大层。可以将任务委托给应用程序的某些部分的强大控制器层也会派上用场。

嗯,你明白我在说什么。这实际上取决于您的应用程序。在我的示例中,后端不会完全遵循 MVC 方法,而我的前端会完全遵循。 MVC 并不是要为应用程序的某些部分切换编程语言。相反,它解耦了您的应用程序结构,使事情变得更容易。

当然,在开发此类企业级应用程序时,框架会派上用场,但这并不是必需的。

总结一下:MVC 与代码本身没有太大关系,它与代码的体系结构和结构有更多关系。具体如何实施完全取决于您。

【讨论】:

    猜你喜欢
    • 2014-01-18
    • 2012-03-17
    • 2011-07-12
    • 2013-02-19
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多