【问题标题】:Whether to use CMS or not是否使用 CMS
【发布时间】:2011-06-02 14:18:30
【问题描述】:

我开始怀疑 ASP.NET Webforms/MVC 是否在 Web 开发人员工具箱中还占有一席之地……似乎像 Umbraco 这样的 CMS 系统已经取代了 Web 开发人员的工作。是的,我知道这些 CMS 系统是使用 ASP.NET Webforms/MVC 构建的——但是,如果您要做的只是使用 CMS 系统,还有什么理由学习这些东西吗? - 我也找不到任何可以用您自己的 Web 应用程序替换 CMS 系统的情况。

因此,我的问题是:在使用 CMS 时是否有任何理由学习 Webforms/MVC?

编辑:

我的问题可能更像是:我应该什么时候使用 CMS,什么时候应该去构建自己的网络应用程序?

【问题讨论】:

  • 我认为这最适合programmers.stackexchange.com
  • 是的,如果您想对 CMS/create 插件进行任何修改
  • 是的.. 但这并不需要超过基本知识...
  • 我不这么认为。取决于你想改变多少。

标签: asp.net asp.net-mvc content-management-system


【解决方案1】:

CMS 解决方案的问题,我的意思是所有 CMS 解决方案(不只是 Umbraco 或其他 .NET 解决方案,而是任何语言),您总是会为使用它们付出代价。您可能会从使用 CMS 所节省的时间中获益更多,但需要权衡取舍:

  • 您将牺牲很大的灵活性
  • 您可能会付出巨大的性能损失。许多 CMS 加载大量模块和代码来服务每个请求,其中大部分与特定页面功能无关。 (尽管有些 CMS 比其他 CMS 更重!)
  • 项目的未来与另一个供应商以及他们自己的选择息息相关
  • 通常,您排除了使用可能更适合您客户需求的其他数据库的可能性(Umbraco 不支持 PostgreSQL,Kentico 仅支持 SQL Server)

一旦您开始使用 CMS,您就会被束缚在满足 CMS 框架的架构决策和 API 上,最终您可能会陷入困境。

如果您的“网站”更像是一个 Web 应用程序而不是一个纯粹的内容交付网站,这可能会特别成问题。在这种情况下,选择使用 Web 应用程序框架的完全灵活性进行构建可能更有意义,而不是冒险陷入架构角落。

另一方面,如果您正在构建一个可能有数百个页面的网站,其中包含大量用户贡献的内容并且远非 Web 应用程序,那么 CMS 通常是您的最佳选择,并且很有意义。但请记住,您现在有两个框架和两个 API 需要学习和管理(您的平台框架和 CMS 框架)。

【讨论】:

  • 9年后也是这样吗?
【解决方案2】:

编写 CMS 就像入侵阿富汗。

每个人都有机会,但没有人获胜。

【讨论】:

    【解决方案3】:

    我不认为 Stack Overflow 可以使用 CMS 构建。这是否回答你的问题? =)

    更新

    回答您更新的问题。

    如果您想要一个包含新闻、文章、论坛等的常规公司网站:继续使用 CMS。

    如果您需要构建更自定义的网站,例如 stackoverflow、系统的 Web 界面或类似的东西:使用 MVC 等构建它。

    我个人将 CMS 用于我们的公司网站,并使用 MVC 框架为我们的产品构建用户和管理界面。

    【讨论】:

    • 什么应该阻止它使用 CMS 构建?
    • +1 @jgauffin - 同意,CMS 是帮助解决部分问题的工具,但您仍然需要了解基础知识才能解决大问题。
    • @ebb StackOverflow 不仅仅是一个网站。幕后发生了很多事情,涉及一些复杂的工程。
    • @jmort253 即使是一个例子也会很有启发性和帮助!
    【解决方案4】:

    并非每个问题都需要 CMS。同样,并非每个问题都需要定制的 MVC/webforms 网站。这取决于你的要求是什么。您选择解决问题的技术。

    构建与购买是最难做出的决定。作为开发人员构建总是看起来最好的。你可以比他们想买的那堆鲤鱼做得更好。没关系,您正在重新发明轮子、车轴、购物车等。对于用户/管理人员来说,购买总是看起来最好的。他们不必苦苦思考他们想要什么,现在就可以拥有它,而不是在你写完它的 3 个月后。他们忘记了定制和升级的成本相同。

    我现在停止咆哮。

    【讨论】:

      【解决方案5】:

      Umbraco 是一个非常简单的最小 CMS。要自定义它(例如版本 7+),您需要了解 Heavy MVC、JSON、XML、Sql 等。

      事实上,基于 Umbraco 7+ 构建的站点完全基于您自己设置并分配给 SurfaceController(它们是 MVC 控制器)的 MVC 视图,您真正获得的只是用户能够编辑有关您的页面的内容并拥有Umbraco 在数据库中为您管理它。

      简而言之,您仍然需要经验丰富的 Web 开发人员在 Umbraco 上构建网站,他们无需从头开始构建整个后端,从而节省了大量时间。

      您使用 Umbraco 来组织文档类型,这些文档类型定义了用于呈现不同类型的文档(例如网页)的模板(MVC 视图),然后您从头开始构建模板,并 100% 控制 HTML、Css ,以及获取输出的 Javascript。

      Imo Umbraco 更像是一个类似于 Django 的框架,而不是一个完整的 CMS。

      当然,您可以在 Umbraco 中构建一个网站,而无需自定义任何内容,但这将是一个非常普通的网站。

      Umbraco 的重点是为熟练的 .Net 开发人员提供一个在其之上构建站点的良好平台,但他们仍然必须构建它。

      现在 sharepoint 将更像是一个完整的 CMS 开箱即用,您可以使用它做很多事情,但让我们看看 SharePoint 的一些问题...

      1. Resource Heavy,吃掉 50 多个 Gig 来安装
      2. 为了启动它需要 16 GB 的内存 (Sharepoint 2013)
      3. 需要 Sql Server 2008 R2 或同等版本(企业许可证,$$ chaching)
      4. 需要 Windows Server ($$chaching)
      5. 它基本上是个怪物,如果你只需要一个用户可编辑的血统平台……真是浪费钱。 Foundation 是免费的,但不包含博客站点模板之类的内容,因此您需要购买服务器企业许可证($$ 大缓存,在某些情况下需要 40,000 美元以上...)

      【讨论】:

        【解决方案6】:

        同意。像 Umbraco 这样的 CMS 为最基本的应用程序提供了(非常)好的开箱即用解决方案。任何类型的专门目的都需要额外的编程知识。不过,您的专业(如果不是主要需求)将是对业务需求的良好理解。我认为我们正在远离自己建造乐高积木,转而用乐高积木建造整洁的玩具。干杯!

        【讨论】:

        • “最基础的应用”还是最基础的应用?两者之间的差异很大......
        【解决方案7】:

        CMS(或类似的应用程序框架)将为您提供许多开箱即用的功能,其中许多还具有良好的插件库。但是,如果您想添加任何自定义功能,您仍然需要编写 WebForms/MVC 代码。

        【讨论】:

          猜你喜欢
          • 2020-05-10
          • 1970-01-01
          • 2013-02-03
          • 2020-08-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多