长期支持 (LTS) 还是短期支持 (STS)?……这就是问题!
一个新网站需要建设,您面临一个问题。使用当前长期支持 (LTS) 版本还是使用最新短期支持 (STS) 版本来建设该网站?答案是,当然,这取决于您。您的体验将根据您所做的选择而有所不同。本文将涵盖不同类型的网站所有者,以及他们对其网站的期望,关键考虑因素和几个场景示例。
本文由 Jennifer Gress 和 Duke Speer 共同撰写。它以辩论的形式构建,但我们往往过于一致。 查看 Jennifer Gress 合著者资料。
我们使用 LTS 和 STS 术语而不是特定版本的编号,以便本文可以作为参考资料使用,无论您计划使用未来的哪个主要版本系列。概念和考虑因素适用于 Joomla 2.5 (2014 年 2 月的 LTS) 和 3.x (2014 年 2 月的 STS) 之外;它们应适用于 4.5 (未来的 LTS) 和 5.x (未来的 LTS) 成为当前版本时。
您必须考虑的因素仍然如此。
Joomla! 的设计哲学是,在系列 (x.0) 发布时锁定影响第三方扩展如何在它们运行以及如何使用 Joomla! 内核代码(API)的所有更改。因此,从这一点开始需要巨大的努力来维护向后兼容性。因此,一旦扩展为新的 STS 系列进行了适配,工作就应该完成,并且扩展不应该在系列剩余的时间内“崩溃”。在实践中,由于经常进行大量更改和改进,这并不总是完美无缺的,因此需要在新版本在您的生产网站上更新之前,在您的测试环境中对它们进行测试。
在选择 LTS 或 STS 版本为网站时,网站所有者通常会分为三类。
要么他们想
- 尽可能地避免未来的风险:他们希望使用部署当天可用的最新 Joomla! 版本,并愿意支付(无论是通过支持服务还是支付费用)进行部署后的维护。一些人可能想炫耀拥有最新版本的 Joomla! 并能够使用最新功能,但大多数人希望确保未来,并希望尽可能长时间的支持周期;他们还希望使用正在积极开发和改进的版本,他们认为这也是最安全的版本。他们对未来版本的小版本中希望拥有的新功能没有任何想法,但他们喜欢这样的想法,即当新功能添加到 Joomla! 的核心时,他们将能够直接访问而无需迁移。实现可能简单到只需点击“发布”按钮。
- 搭建后即可忘记:他们资源非常有限,通常需求不兼容但相对较低。他们需要低预算的部署,并坚持不需要支付费用或花费时间进行部署后的维护。他们的任何需求都不需要添加到 Joomla! STS 版本中的新功能。他们理解 LTS 的使用寿命较短,并且从 STS 到 STS 的迁移成本高于未来几年进行迁移。将 LTS 更新到下一个 LTS 的单个点击更新对于组件来说并不被视为一项重大工作,安装另一个模板(带适当的插件)正好是一个刷新外观的机会。这是一个静态网站,只需要安全更新,因此最好使用当前的 LTS 版本构建,这样用户界面将始终保持不变。每次点击更新都可以由他们自己应用,而没有任何破坏网站显示的风险。
- 让专家来决定:他们同意网站设计师是专家的观点,他们将为他们的网站选择最合适的软件,并将根据功能和设计需求选择适当的版本。对于这类网站所有者,我们是在基于前提条件进行决策。在审查日期,某些功能可能在 LTS 版本中实现得更好,或者只能在该版本中实现;一个重要的扩展可能不兼容或需要更多工作才能在 STS 版本中实现,或者某些功能可能很快就会在 STS 版本中作为原生功能提供,例如安全性的改进。
现在我们已经了解了网站所有者对风险的容忍度,即使选择权在设计师手中,现在是时候在 LTS 和 STS 之间做出选择了。
需要考虑的关键点
托管技术规范
服务器是否满足运行最新 STS 版本的最小预置要求?如果不符合,且无法更改,您别无选择。您必须使用具有比您的托管商更容易满足的更旧、更低规格的 LTS 版本。有时在接下来的一年中,您可以期望您的托管商更新其服务器,或者您必须在更新到下一个 LTS 之前更换托管商。您可以在本页面上查看 Joomla! 的当前预置要求:https://www.joomla.net.cn/about-joomla/technical-requirements.html
扩展的可用性
请确保您想要与Joomla! STS版本一起使用的所有扩展都与该版本兼容。(请记住,您的模板也是一种扩展)。访问开发者的网站,并确保您选择的扩展的开发者在整个STS发布周期中测试他们的扩展,而不仅仅是等待用户报告问题。请记住,选择使用STS版本意味着必须安装每个STS版本,直到下一个LTS版本。对于每个STS,尽管这种情况很少见,您可能需要重新安装/更新您使用的每个第三方扩展(包括模板及其HTML覆盖)。
预算
如果您使用当前LTS版本构建新网站,您可能需要在下一个LTS版本发布时进行“迷你迁移”。Joomla! 核心的数据可以通过“一键更新”进行更新,但第三方扩展的数据则不会这样更新,因为Joomla! 可能经历了可能导致某些扩展(即使代码良好)“损坏”的变化,因为“一键”更新引入了新API所做的更改。大多数第三方扩展都需要卸载并重新安装,并将它们的数据迁移到新格式。请检查每个扩展的更新所需步骤。您需要为完成此任务所需的时间以及可能的订阅费用进行预算。在您的网站使用的Joomla! 版本达到EOL(“生命周期结束”)之前,您需要完成这项任务。
如果您正在使用当前的STS版本周期构建新网站,您将需要为测试和安装直到安装LTS版本的所有版本系列投入时间、金钱或两者。您可能需要在一段时间内进行显示或CSS更改,或处理错误(无论是与Joomla! 核心,还是与第三方扩展相关),这也会占用您的时间。您必须计划在将更新简单地安装到生产网站之前,先在一个测试网站上测试所有STS发布更新,或者如果您遇到问题,您必须准备恢复网站的完整备份。
选择何时开始使用STS版本将帮助您确定要预算的时间和精力。如果STS是x.2,那么您离下一个LTS只有几个步骤。如果您从x.0开始您的项目,您将有更多的步骤(x.1,x.2,x.3,x.5)才能到达LTS。
如果您不想遇到错误,或者功能在第一次使用时不能正常工作,您应该使用LTS而不是STS。如果您不想进行迁移(但可能只是迷你迁移),那么可以考虑使用Joomla! 的STS版本。
没有唯一的答案,因为每个网站都是不同的。如果我们考虑一些关于选择STS和LTS的情景和观点呢?
情景示例
情景 #1
仅使用原生扩展、Akeeba Backup、JCE和模板的简单网站。
杜克 : Joomla! STS. 即使是“x.0.0”版本的STS,也是跟踪新发展的机会,用真实的网站,同时也是设计师在作品集中加入一个STS网站的机会。在第一个版本发布后的几周内,跟踪错误报告。如果错误很重要,等待下一个版本修复这些错误;否则,这是练习手艺和体验新版本软件及其新功能的机会。使用原生模板(即使是修改过的)是一个健康的选择。如果版本发布超过30天,大多数模板供应商已经花费时间创建了新的兼容模板。
珍妮 : Joomla! STS。我同意,Akeeba和JCE在最近两个STS周期的STS版本上运行良好,并且如果出现问题会迅速更新。同样,像RocketTheme这样的知名模板供应商也会迅速更新他们的模板以兼容Joomla!的STS版本。
场景 #2
类似于上述网站,加上EasyBlog,或者像SobiPro这样的复杂组件。
珍妮 : Joomla! STS。EasyBlob提供了出色的支持和积极的错误修复。
杜克 : 我们再次达成一致,Joomla! STS。但我可能等到系列“x.1”版本才会使用复杂组件。原因是,即使是稳定的版本“x.0”也是测试大量扩展并确保它们正常工作的第一个机会。版本“x.0”发布后的前两个月是扩展开发者适应核心新特性以及扩展之间兼容性的时期。在这个时期,问题应该得到处理,比如管理加载哪些版本的jQuery或类似库,或者在模块中就合适的嵌套元素以及要使用的Bootstrap类达成共识,以便模板设计师可以修改HTML而不会遇到问题。
许多设计师制作了支持像Kunena论坛、K2、JomSocial以及主要电子商务组件等主要组件的模板。并且,对于为“x.0”版本准备好的复杂组件,某些行为可能会像“狂野西部”。需要时间来报告和修复错误,以及进行最后的修订和细节处理,以便模板设计师可以针对稳定的扩展进行工作,并因此提供稳定的模板。
SobiPro是对流行的Sobi2目录的重写,从而可以预期并从Joomla!核心代码的所有进步中受益。利用最近重大版本的机会从零开始重写软件并进行优化,而不是从Joomla! 1.5修补和重新修补的软件开发人员引起了我的注意,因为他们更着眼于未来。这也是一个运转良好的企业的标志,因此会投资其产品,并在我们达到Joomla! 4和5时肯定会出现。虽然我可能会犹豫在用于生产环境且持续时间很重要的网站上使用1.x版本的扩展,但我肯定会成为采用这种扩展的先驱,帮助它以与Joomla!本身相同的速度发展。
场景 #3
大型网站。大量内容。许多用户不断更新内容。拥有超过1,000个变体的电子商务网站。包含社交网络组件的会员网站。自定义模板。不应被破坏。
詹 : Joomla! LTS(长期支持版本)通过时间或金钱预算,以便在下一个LTS版本发布时进行升级。
为什么?网站必须稳定。它必须能正常运行。它拥有许多不断变化的内容元素。如果我们使用STS版本,模板可能需要在未来几个月内更新。如果我们使用LTS版本,它可以在一段时间后更新,并且只需要更新一次。迁移将会非常庞大,但与当前的LTS版本兼容,直到需要进行测试。总是浮现出“糟糕”这个词。话虽如此,如果所有希望使用的扩展都适用于当前的STS版本,具有可靠的更新历史,并且有出色的支持,如果我对未来的情况有很好的把握,我会选择STS版本。
杜克 : 她到底说了什么?真的吗?
网站建设和测试完成后,包括关键问题在内的单点更新风险非常低,并且可以在应用到生产网站之前在开发服务器上完全测试。但是,如果数据库存在问题,一个关键网站会复杂吗?为什么要冒这个风险,尤其是在有许多部分在演进的情况下?在响应式网站和JavaScript重要依赖的时代,尤其是在电子商务网站的计算和验证表单时,只需要一个单点更新的模块,只要JavaScript文件编写错误,就会使所有其他网站功能的JavaScript“崩溃”。
我们希望这篇文章能帮助您提出正确的问题,以便获得引导您做出正确选择的答案。请随时评论,提供您的反馈、选择或问题。我们在这里提供帮助,我们很高兴分享!詹和杜克
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能并不与Joomla项目的官方立场一致
通过接受,您将访问由https://magazine.joomla.net.cn/之外第三方提供的服务
评论