ili*_*ica 21 content-management-system building
在我第一次面试时,我被问到为什么要建立自己的CMS?为什么不使用现有的CMS,Wordpress,Joomla,Drupal ......?起初,我惊呆了.我无法立即回想起构建自己的CMS的所有原因,但这绝对是主要原因之一:这是我的代码,如果我想在CMS中更改某些内容(我经常要这样做,因为每个网站我构建需要具有不同功能的CMS)这不是一个大问题.有一段时间我一直在使用Wordpress,其中一个让我分心的主要事情是发现代码中的错误,这些错误不是由我编写的,而且这些错误经常发生,特别是如果我对CMS进行了一些更改或添加了插件...
在这里,我可以找到为什么不构建自己的CMS的这8个原因:
它无法满足用户的需求
这工作太多了
它不是标准的解决方案
它的扩展速度不够快
它的测试不够好
它不会轻易改变
它不会添加任何价值
创建内容,而不是功能
从同一页面引用:
因此,问自己的主要问题是:"为什么我真的想重新解决之前已经解决的问题?"
好吧,我绝对同意很难发明尚未发明的CMS,但另一方面,我认为每个CMS都是(或应该是)个体......它可能没有百万个功能,它将有3个功能,但它们的使用将是明确的(对用户)并且做一个站点需要的所有.我认为向客户提供一个从未使用过很多功能的CMS是不好的,当网站和CMS看起来像一个产品时,它看起来可能更专业.
我还想评论一些引用部分:
"这是太多的工作" - 我同意,但是当使用现有的CMS并根据网站需求进行定制时,有时可能是非常艰苦的工作或任务不可能.
"它不会轻易改变" - 我不同意这一点.
您对此有何看法,为什么开发或不开发自己的CMS?
岛
Jak*_*kob 18
这是一个适用于大多数开发的有趣问题,而不仅仅是在构建CMS时.
一般来说,我会说重新发明轮子是个坏主意(大多数情况下大多数8个参数都是正确的),但也有例外.第一个浮现在脑海中的是乔尔·斯波尔斯基(Joel Spolsky),"未发明的这种综合症的防御":
如果它是核心业务功能 - 无论如何都要自己动手.
关键是,如果你直接从构建内容管理系统赚钱,你不应该从别人那里拿一个并调整它直到它适合你.您宁愿完全控制自己的产品.
编辑:
此外,不要忘记重塑事物的冲动源于(除其他事项外)基本的编程规律:
编写代码比阅读代码更容易
这并不意味着我们应该采取看似容易的道路,但它解释了我们为什么会这样做.接受挑战并实际阅读一些代码,而不是不时地编写代码.
Kla*_*sen 15
我会建立一个CMS,因为它可以很有趣,也很有学习经验.
但是,任何开源CMS都可以根据客户的需求进行定制.最大的问题是您必须了解CMS的工作原理才能更好地进行更改.
无论哪种方式,你都将面临相当大的任务,但我必须同意那些说你不应该从头开始(除非你是为了学习一些新技术)完全出于你问题中所述理由的人.正如他们所说,除非你想了解车轮,否则不要重新发明车轮.
小智 7
我发现当项目的上下文大于"内容网站"时它才有用.我曾经在一些房地产网站上工作,其中大部分内容来自数据源,或者已经存在于数据库中,这些数据库在您参与之前已经建立了很久的结构.实际上,我们只有少数BS'内容'页面构成了很少更新的网站.他们真正需要的是一个简单的数据输入界面.构建一些一个组件要比在一个开箱即用的CMS之上尝试和制作现有系统要容易得多.
与其他人提到的一样,您必须考虑总体要求.是否涉及工作流程?动态导航?然后我开始倾向于开箱即用CMS,但很多时候人们说他们需要一个CMS,当他们真的只需要一个WYSIWIG接口到数据库.但有时候不...
在我看来,不构建自己的CMS(除了安全问题)的最大原因是缺乏支持和升级路径.我认为客户将它们放在自定义CMS上是一种损害,然后必须依靠您只支持和更新.更糟糕的是让他们为自定义CMS的开发付费 - 无论网站要求多么简单,他们都会付钱给您重新发明轮子.
如果您的要求超出了内置范围,那么有很多CMS选项可以让您添加自己的自定义扩展.
构建自定义CMS的最佳理由(可能只是)是学好一门语言.构建CMS是学习Web开发的好方法,但它不是为客户提供服务的好方法.