想深入学习JAVASCRIPT吗?为您选择合适的框架

去年,Matt Mullenweg鼓励开发人员“深入学习JavaScript。”他说,我同意WordPress的未来将使用由WordPress REST API驱动的JavaScript驱动的接口。将JavaScript与REST API结合使用可以为开发人员和最终用户提供良好的体验,这就是为什么每个WordPress开发人员都应该对JavaScript有所了解。

为了使这个愿景成为现实,这不仅仅适用于WordPress核心。插件和主题需要提供类似的体验。一个伟大的JavaScript框架是在您的插件或主题中提供它的最快,最可扩展的方式。

也就是说,选择合适的框架并不容易。最近Roy Sivan和我发表了关于这个主题的免费迷你课程。您可以免费观看该系列中的所有4个视频,但我想深入了解一些最受欢迎的选项。

比较主要选项

有很多JavaScript框架,每天都会出现新的框架。每当我看到一个新的,我都无法抗拒尝试它的冲动。

一个好的JavaScript框架将您可以自己做的大量内容组合到一个系统中,该系统可以通过简单的API处理各种事务,如DOM操作,AJAX请求,事件处理等。同样,您可以自己完成所有这些工作,但是一个好的JavaScript框架可以使这更容易,减少代码重复并将大部分代码的维护卸载到更大的开发人员社区,通常需要大量的企业支持。

最重要的是,你将要使用一个框架,但它们并非都是平等的。以下是对主要选项的优缺点的一些快速思考。

Backbone

我对Backbone的看法很复杂。一方面,它包含在WordPress中,并附带一个用于WordPress REST API的Backbone客户端。与此同时,Backbone是我在这里讨论的最不神奇和最古老的选择。我对它的经验有限,但我总觉得与DIY相比不值得付出努力。

Backbone是最古老,最稳定的选择。这是好事还是坏事。它有点冻结,但它的工作原理并没有太大变化。它不是很现代,但它的工作原理并没有快速变化,有点像WordPress。在快速移动的React或Angular生态系统中经过一段时间之后,您可能不需要快速更改。

Angular

我对Angular 1(NG1)有一个真正的软点,这是我真正理解的第一个JavaScript框架。它帮助我学习了很多关于JavaScript和编程的知识。例如,我喜欢它如何使用服务为其他组件提供可重用的数据源,这是一个很好的设计原则。

另外,我喜欢NG1使用HTML进行视图。HTML是编写HTML的好方法 – 而不是在React中使用JSX。也就是说,您在NG1模板中使用的所有数据属性都可能很快失控。

NG1是开始使用JavaScript框架的好方法,我可能会继续使用它来处理某些事情。我没有时间检查Angular 2,因为它比我需要的更多,文档是用TypeScript编写的,我不知道。也就是说,如果你是原版的粉丝,那就值得一试。

此外,Angular 4在3月份问世。说实话,我现在跟不上。我没有时间生活和呼吸最新的JavaScript前沿。

React

React由Facebook开发,也被Automattic在WordPress.com和Jetpack上广泛使用。虽然Backbone是WordPress中唯一包含的JavaScript框架,但我预计很快就会包含它。目前正在使用React开发的新编辑器原型。因此,虽然我可能不是粉丝,但任何想要为WordPress做出贡献的人都应该学习它。

React不是唯一的反应框架,但它是最受欢迎的。对于WordPress开发人员来说,反应式框架非常舒适,因为应用程序生命周期发出的事件可以将事件绑定到。非常像WordPress钩子。

React也是非常非常模块化的,旨在创建可重复使用的模块,您可以将它们连接在一起以创建应用程序。我不喜欢视图是使用JavaScript,特别是JSX创建的,这就是为什么我不使用它,以及设置和一些依赖感觉对我的需求太过谦虚的事实WordPress插件开发人员。

我正准备自己给ReactJS另一个镜头。在今年的LoopConf上,Adam White对REST API进行了精彩的讨论,并展示了他在ReactJS中构建的一个简单的期刊应用程序。你可以观看谈话阅读代码,但是当我看到它时,我想给React另一个镜头。我喜欢组件是独立的,但可重复使用的单元。

VueJS

Caldera Forms中,我们最近发布了一个VueJS提供支持的前端入口查看器功能。我喜欢VueJS。它是一个反应式框架,因此它提供了您想要的所有好处,但它也非常简单。React可能是最具见解性的框架,如果你同意,对你有好处,而VueJS是礼貌和适应性框架。

由于它的简单性,您可能只需要一个非常小的文件。根据您的使用情况,这可能是好的也可能是坏的。虽然VueJS有一个官方的HTTP包,但我倾向于使用jQuery AJAX,因为无论如何它总是在WordPress网站的页面上。VueJS有路由器的包,但建议其他人尝试。我喜欢他们的路由器,它与Vue组件的集成程度如何。VueJS有一个用于状态管理的软件包,但如果您愿意,可以使用Redux。

我希望你能看到这种模式。React是固执己见的,所以我和我不同意React的意见。VueJS让我强加自己的意见。

此外,VueJS的模板是HTML。语法类似于NG1模板语法的统治版本。当然,他们有像JSX这样的东西,因为有时需要它,但在大多数情况下,HTML模板都是你需要的。

我和VueJS一直在建设越来越多,虽然它让我试着尝试React,但我对它非常满意。我目前正在开发一个使用VueJS作为UI的应用程序,所有内容都组织成单个文件组件,开发人员体验得非常好。

我知道足以理解为什么React或Angular可能更好,但作为一个没有全职生活和呼吸的人,VueJS是平易近人和强大的完美平衡。

哪个JavaScript框架是WordPress的最佳选择?

就个人而言,我曾经对Angular 1非常满意。但是,框架显示了它的年龄,并且随着时间的推移,我发现自己更多地被反应框架所吸引。在查看React,Preact,JSView和VueJS后,我开始越来越多地使用VueJS。我喜欢VueJS的轻量级以及学习和开始的速度。我仍然喜欢使用Angular 1,但是前进我可能会使用更多的VueJS。我们将它用于Caldera Forms中的前端条目查看器,它可能将在我们的管理表单构建器的未来版本中使用。

说点什么

500