反应式编程的概念并不是一个新概念,但在当前的web和应用程序设计中,它正变得越来越流行。一切都遵循一个简单的原则——将异步数据流合并到编程框架中的需要和能力。但是反应式编程的实现,以及更深层次的原则,可能非常复杂——即使对于有经验的开发人员来说也是如此。
实践中的反应式编程
首先,它有助于理解异步数据流的价值,以及通过反应式编程范式可以实现的结果。现代形式和应用程序具有高度交互的UI和实时反馈,技术专业人员和最终用户都很熟悉,并提供了一些有力的演示,说明反应式编程在传播变化和影响用户体验方面的威力。
通过使用异步数据流,反应式编程可以创建高度动态的体验。不同于由于某些完整数据集而发生的更改,来自同一页面或表单的多个数据流可以在内容和时间方面相互独立地进行评估。提要可以根据点击或活动实时更新,表单可以变成交互式的,而不是静态地等待完整数据集的完成,等等。
开发人员的灵活性和能力
一旦掌握并实施了反应式编程技术,就有了超越最终用户体验的好处。通过独立地侦听或订阅不同的数据流,程序员可以实现更高级别的抽象,从而更符合业务规则和需求。代码可以更简洁,新规则或侦听方法的实现可以隔离到一个离散的数据流中,而不是嵌入到一个必须考虑整个数据集的方法中。这使得程序员的更改和开发更加灵活和直观——也就是说,如果程序员对反应式编程有很强的工作知识的话。
反应式编程允许开发人员处理复杂且可能变化的依赖项。对于一系列相互依赖的值,必须异步接收数据,以便以正确的方式传播更改。即使在只能通过反应式编程解决的问题之外,这些原则的威力通常也可以提高性能,并允许更健壮的工具更容易地实现。
如何开始
对于希望获得成功的开发人员来说,有多种语言和框架有助于实现反应式编程范式。命令式语言和面向对象语言都可以与反应式编程方法合并,具有不同的优点和缺点。虽然斯卡拉、C++、C++、Python和露比等语言都支持和使用反应式编程,但是现在,java、JavaScript和javaEE的工作知识将有助于有志的反应式编程开发人员在创建事件驱动程序的过程中能够实时地进行变化。
不仅基于Java的语言具有普遍的认识和理解价值,特别是对于反应式编程,这些面向对象的语言还具有直观实现所需依赖关系的所有适当工具。此外,这些语言具有与反应式编程相关的健壮库。
对于一个现代开发人员来说,学习这些语言和相关框架是一个很好的起点,比如高级Java培训课程。Java课程不仅仅是关于Java的知识,它还被推荐作为向更深层的反应式编程实现的过渡,因为它同时