在 CMS 和 Framework 之间进行选择是您网站的技术问题。这一切都取决于您的需求、您的用户和您的长期愿景。灵活性、可扩展性、寿命、可维护性和安全性所有标准都可以帮助您做出选择。从一开始就做出正确的选择很重要。根据您的进化维护 (TMA),您将有一个难以维护的站点。更糟糕的是,您可能会陷入无法挽回的境地,不得不从头开始。
CMS: CMS 代表内容管理系统。它是一个使用数据库的内容管理器。基于不同的技术,种类繁多。它们的组织方式几乎相同,并集成了通用功能。
例如,您可以管理您的用户及其访问权限,或者管理内容及其显示方式。具体来说,CMS 允许您创建内容站点、博客甚至在线商店。尽管如此,在PHP世界中,还有我们熟知的 Drupal、CMS,但实现和维护起来更加复杂。
优点:
- WordPress 首先是一个社区。自 2003 年推出以来,该 CMS 受益于全球强大的开发人员社区。它有助于丰富、改进或创建模块(包)并快速纠正缺陷。它非常方便,因为您可以轻松找到所需的内容。这也是解释了数千个现有模块的原因。
- 它也是各种各样的主题和模块。 WP 上的模板和模块有多种选择。当我们“量身定制”时,我们开发了我们的主题。至于模块,我们安装标准模块来管理基本问题。否则,我们会开发自己的,因为通常一个模块永远不会满足 100% 的客户需求。
- 一种模块化工具,易于掌握和开发。 WordPress 的特点是它的灵活性和多功能性。设置快捷,允许开发人员专注于具有高附加值的特定模块的开发。它适用于许多 Web 项目。
- 对于用户来说很容易处理。它的编辑器WYSIWYG (What You See Is What You Get)对用户来说非常直观,并且接近于一个单词。站长方面无需知道代码。
- 它是可扩展和模块化的。您可以根据需要向其中添加模块。它也很容易维护。
- 如果您创建高质量的内容并记住填写 Html 标签以提供给搜索引擎,该平台也是很好的参考。
缺点:
- 最流行的 CMS,如 WordPress,是开源的。任何人都可以访问资源,包括黑客!这些都是在寻找安全漏洞。您可以自行决定是否对您的平台进行定期更新。
- 他们为客户提供维护合同(TMA – Tierce Maintenance Applicative)。后者始终包括模块的定期更新,以确保其站点的安全。
- 我们也可以谈论专有 CMS,但我们不使用它,因为我们想确保我们创建的站点的可扩展性。不考虑该站点不属于您,只属于其内容!如果您想退出,则必须重做您的网站。
- 最后,CMS 无法响应所有特定请求。如果网站非常具体,并且其功能与 CMS 规范有很大差异,那么从框架类型的解决方案开始对您最有利。
框架:框架为设计人员和开发人员提供了一组库,允许他们通过定义一个保护其开发的框架来构建量身定制的应用程序。这些库解决了从头开发应用程序时可能遇到的所有问题。它们特别用于安全问题、访问文件、管理 HTTP 交换、创建表单、生成 Html 页面。它就像开发人员的工具包。有非常强大的面向 Web 应用程序的框架。它们使您几乎可以像使用 CMS(标准功能)一样快速地构建网站。
PHP框架的一些示例: Symphony 、 Laravel 、 Cake PHP 、 Zend等。
优点:
- 使用PHP框架开发的网站更安全。因为他们使用自定义代码,所以更难猜测他们的安全性。大多数框架还具有用于加密和防止常见漏洞的内置功能。
- 极大的灵活性,可满足多种需求。
- 在 Symfony 不可否认的优势中,我们注意到它的灵活性和可扩展性。它结合了公认的和经过验证的设计模式(组织开发的模式)
缺点:
- 您需要更多的技术技能才能开始使用框架,因为您必须编程。为了使其发展,您还需要请一位开发人员。
- Frameowrk 没有默认的用户界面,这使得用户操作起来有点困难。要开发 UI,您必须了解 Bootstrap、SASS 等技术知识。
如何选择哪个更好:
- 为了做出选择,我们的方法如下。如果您的网站是面向内容的(文章、新闻等),我们强烈建议您使用 CMS。确实,如果您将所有精力都投入到内容、展示和写作上,那么 CMS 就必不可少。然后,根据您的需求和预算,您将选择定制网站或“现成”网站。
- 另一方面,如果网站集成了非常具体的业务规则,比如与公司信息系统的接口、业务流程的集成、复杂表格的输入(Itavi项目),那么Framework就是一切。例如,如果您想建立一个网站以向所有客户提供服务,并可以访问一个帐户(与许多软件程序一样),那么您将使用框架。
还有 CMF(CMS 和框架之间的混合),例如 Drupal 8。在这里,您可以使用 CMS 和框架进行内容管理,以提供更具体的服务。但它并不那么明显,并且并不总是很好地集成。
此外,关于 Drupal 8,这需要双重技能:Drupal 和为其提供支持的 Symfony。这是有代价的。
一般来说,这些项目更尖锐:要么是一个要么是另一个。如果您必须同时使用两者,则分别安装一个和另一个。然后,我们通过单点登录 (SSO) 在两个环境之间建立一座桥梁。如果我们用一个比喻来比较 Framework 和 CMS,就像盖房子一样。你有工具(基本元素,也就是说,一个框架),有了它们,你可以以完全个性化的方式从头到尾建造你的房子。使用 CMS 时,房屋已经建成,您只需通过安装家具(您的内容)和绘画(模板)来装饰它!