日落是如此美丽,以至于它们看起来就像我们透过天堂之门在观看。日落只是小小的一瞥,但日落的美丽是对白日的一种告别之吻。所以这次 GSoC 旅程就像是我生命中的一次日落。它照亮了我的职业生涯,是一次真正的生活改变经历。我从过去学习,梦想未来,并别忘了享受生活。别忘了美丽的日落需要多云的天空。
Joomla! 照亮了这段旅程,并赋予了它真正的价值。Google Summer of Code 2017 旅程已经结束。但每个结束都是新的开始。这篇文章将给你提供关于 Joomla! 4 的 JavaScript 测试的洞见,以及 GSoC 期间发生的事情和项目成果。
时间飞逝,Google Summer of Code 2017 旅程在 8 月 29 日结束了。
在 GSoC 期间,我参与了 Joomla! 4 的 JavaScript 测试项目。这不仅仅是添加针对 Joomla! 的 JavaScript 测试,我们还在尝试变得更轻更快。 为此,我们需要解释为何决定替换 jQuery。众所周知 jQuery 是 JavaScript,jQuery 可以被 Vanilla JavaScript 和 CSS3 替代。在这个项目中,我为几个 jQuery 库进行了 Vanilla JavaScript 转换。Joomla! 4 中的新媒体管理器使用了 vue.js 组件,通过这个项目我们添加了针对 vue.js 组件的新测试配置并进行了测试。在所有工作测试完成并实施后,我们提交了一些 PR 以供审查。我在之前的文章中解释了重要性和项目细节,你可以在这里找到它 这里。
对于 Joomla! 4 来说,增加新的测试覆盖率是一项非常重要的任务。我们改进了 Joomla! 4 的现有测试套件,并添加了新的 JavaScript 单元测试。所以我们的想法是添加更多测试,并对单元测试库进行测试。
Google Summer of Code不仅仅是关于编码和提交最终成果,它还帮助您发展软技能、文档编写技能等多方面的能力。如果您足够幸运能与Joomla合作,您肯定能从中获得最大的收益。导师们提供清晰的指导,并帮助学生解决他们遇到的任何障碍。我学到了很多理论知识,JavaScript ES6,他们还帮助我培养良好的编码习惯。导师们审查了我们提交的所有PR,添加了他们的评论,并讨论了是否有任何特别之处。这段经历对我的职业生涯来说非常宝贵。
这次GSoC旅程中的每一件小事都非常有趣和激动人心。
可能不是。在Joomla! 4中,jQuery和VanillaJS之间有一场冷战。在Joomla! 3.X版本中,我们到处使用jQuery,在那个阶段这对我们来说是一个很大的优势。
但是,如果我告诉你,
Vanilla JavaScript的性能比jQuery快9倍?你能相信吗?
早期的IE6和更老的浏览器不支持大多数JavaScript函数,这就是我们转向jQuery的原因。但是现在,IE11和最新版本支持JavaScript,所以现在是向前迈进的时候了。没有必要将自己限制在JavaScript库中。现在,战斗已经来到了非常关键的时刻。超过90%的jQuery复杂库已经被完全转换为Vanilla JavaScript。目标是让Joomla! 4摆脱jQuery。不要犹豫,去访问这个项目的GitHub仓库。
所有的PR都已经准备好转换为VanillaJS,以及为现有测试套件编写的新单元测试。我们必须将单元测试中的jQuery部分移动到Vanilla JavaScript,然后Joomla 4中就不再有jQuery了。这些PR需要尽快合并,并使用Javascript转换单元测试。在不久的将来看到没有jQuery的Joomla! 4,并拥有完整的JavaScript库测试套件,将是一件真正的乐事。
我要感谢Joomla!社区,特别是我的导师们:Ruchiranga Wickramasinghe、Ashan Fernando、Yves Hoppe和Dimitris Grammatikogiannis,在GSoC期间给予我的巨大支持。他们传授给我的知识和智慧在我的职业生涯中一直是一个巨大的帮助和支持。我相信我的成功至少有一部分是因为他们真诚的支持和指导。