写点什么

新兴趋势:反应性编程

  • 2013-08-30
  • 本文字数:1110 字

    阅读完需:约 4 分钟

InfoQ 在几年以前就开始跟踪这一范式,数周前 Gartner 研究公司也在其出版的“ 2013 年应用开发成熟度曲线”中论及了“反应性编程”和“事件驱动 Web”(“新兴产物”章节)。

大约一个月前, Bruce Eckel (著有多部编程书籍)和 Jonas Boner (Akka 的缔造者和 Typesafe 的 CTO)发表了“反应性宣言”,在其中尝试着定义什么是反应性应用

这样的应用应该能够:

  • 对事件做出反应:事件驱动的本质,让反应性应用能够支持文中提到的若干特性。
  • 对负载做出反应:聚焦于可扩展性,而不是单用户性能。
  • 对失败做出反应:建立弹性系统,能够从各个层级进行恢复。
  • 对用户做出反应:综合上述特征,实现交互式用户体验。

在这份宣言公布之后,Scala 的创造者 Martin Odersky Reactive Extensions 的创造者 Erik Meijer 和 Akka 科技公司的领导者 Roland Kuhn ,在 Coursera 上发布了一套免费课程,名为“反应性编程原理”:

该课程的目标在于讲授反应性编程的原理。反应性编程是一门新兴的学科,结合了并发、事件驱动和异步系统。对于编写任何类型的 Web 服务或分布式系统来说,它都至关重要;同时它在众多高性能并发系统中占有核心位置。反应性变成可以被视作高阶函数式编程对并发系统的自然拓展,通过协调和编排 Actor 交换的异步数据流,来处理分布的状态。

Netflix 是已经将 RP 广泛投入使用的公司里的一员,它也贡献了一份 RX 的 Java 接口

使用 RxJava 函数式反应性编程,让 Netflix 开发者们能够利用服务器侧的并发,而无需触及典型的线程安全和同步问题。该 API 服务层的实现控制了并发原语,让我们能够追求系统性能的提升,而不必担心破坏客户端代码。对我们来说,RxJava 在服务器端非常有效,而且我们越多地使用它,它也就将愈发深入地根植于我们的代码中。

Facebook 也于近期发布了 React JavaScript library ,用来构建下一代用户界面。Facebook 工程师 Stoyan Stefanov 描绘了 React 背后的主要理念

React 让我们能够使用组件——它们知道如何去展现某些数据——来构建自己的应用。当数据发生变更的适合,组件会用一种非常高效的方式自动升级,而且仅在必要处升级。而且全部附加和卸除事件处理器的工作都会为我们处理好。使用委托模式(delegation)也是同样高效的。

值得注意的是,RP 已经在前端开发者社区中吸引了大量关注。这始于 2009 年的 the original Flapjax paper [PDF],随后也涌现了若干实现了 RP 原理的库,例如 Bacon.js Knockout Meteor React.js Reactive.coffee RxJS

在 2013 年旧金山 QCon 大会上,培训和常规专题都将广泛地覆盖反应性变成的内容,一如其他主要软件和IT 趋势和创新。欢迎大家积极参与并享受预先注册的优惠

查看英文原文: Reactive Programming as an Emerging Trend

2013-08-30 03:024879
用户头像

发布了 256 篇内容, 共 75.9 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

阿里云如何基于边缘云设计终端云化场景的架构?

阿里云CloudImagine

边缘技术 边缘云

数据库系统助力企业降本增效的技术要点|Meetup 回顾与预告

OceanBase 数据库

云对象 - 重新定义前后端交互

崔红保

uni-app Serverless unicloud

构建AI原生的智能计算基础设施,百度百舸·AI异构计算平台2.0发布

Baidu AICLOUD

模型训练 异构计算 智算中心

吃透JAVA的Stream流操作,多年实践总结

Java快了!

stream java;

华为云WeLink直播助力高校毕业典礼:这届毕业生,我们云上嗨

科技怪咖

得物云原生全链路追踪Trace2.0架构实践

得物技术

云原生 监控 链路追踪 OpenTelemetry 企业号九月金秋榜

不容错过的技术盛宴,4场全是 eBPF 技术干货,今天见 | 第 44-47 期

OpenAnolis小助手

Linux 开源 ebpf sig 龙蜥大讲堂

MySQL 数据库 - 函数 约束 多表查询 事务

喜羊羊

MySQL 9月月更

5年专业研究,这份云原生安全指南请查收!

博文视点Broadview

XDR的技术栈参考

极盾科技

网络安全 数据安全 xdr

对话杨传辉:国产数据库新战绩背后,OceanBase坚持自研的初心与决心

OceanBase 数据库

库调多了,都忘了最基础的概念-《线程池篇》

知识浅谈

线程池 9月月更

Servent

喜羊羊

9月月更

力扣20 - 有效的括号【暴力、分支判断、哈希表】

Fire_Shield

算法 哈希表 9月月更

MobTech秒验 Android端如何在授权界面添加短信登录按钮

MobTech袤博科技

android sdk

红象云腾(Redoop Enterprise)V9 与龙蜥(Anolis OS)8 完成兼容认证

OpenAnolis小助手

大数据 开源 适配 龙蜥操作系统 红象云腾

如何理解「数字化转型的本质是人的转型」?

BizFree

数字化转型 工业4.0 智能制造 机器换人 数字化工具

企业即时通讯IM能给移动办公带来哪些便利?

BeeWorks

高性能数据访问中间件 OBProxy(四):一文讲透连接管理

OceanBase 数据库

LeetCode-9. 回文数(java)

bug菌

9月日更 9月月更

C++ STL【常用算法】详解

Fire_Shield

算法 stl 9月月更

有了QQ和微信,企业是否还需要另外一个即时通讯工具?

BeeWorks

合阔智云核心生产系统切换到服务网格 ASM 的落地实践

阿里巴巴中间件

阿里云 Kubernetes 云原生 服务网格 合作

MySQL 数据库 - 通用语法 DDL DML DQL DCL

喜羊羊

MySQL 9月月更

上海华为云SaaS应用创新创业大赛暨828 B2B企业节发布仪式

科技怪咖

ShareSDK Android端微信回调冲突解决方案

MobTech袤博科技

android sdk

FreeRTOS记录(四、FreeRTOS任务堆栈溢出问题和临界区)

矜辰所致

堆栈溢出 临界区保护 FreeRTOS 9月月更

数字人技术在直播场景下的应用

百度Geek说

人工智能 直播 企业号九月金秋榜

从采集到存储:时序数据库到底怎么处理时间?

Apache IoTDB

IoTDB Apache IoTDB

LeetCode-13. 罗马数字转整数(java)

bug菌

9月日更 Leet Code 9月月更

新兴趋势:反应性编程_JavaScript_Dio Synodinos_InfoQ精选文章