AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

新兴趋势:反应性编程

  • 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:024966
用户头像

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

关注

评论

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

腾讯云入选Gartner®首份AI代码助手魔力象限报告

极客天地

Python并发编程:多线程(threading模块)

我再BUG界嘎嘎乱杀

Python 编程 并发编程 后端 多线程

DDD-15-数据库设计

南山

领域驱动设计 DDD 数据库设计

AI 驱动的产品全生命周期:从概念设计阶段到生命周期的全面管理

Altair RapidMiner

人工智能 AI 数据分析 仿真 智能制造

5 大场景上手通义灵码企业知识库 RAG

阿里云云效

阿里云 云原生 通义灵码

活动回顾丨云原生开源开发者沙龙上海站回放 & PPT 下载

阿里巴巴云原生

阿里云 开源 云原生

聚合博客网址导航大全代码分享

博客趣

个人博客 博客导航 博客大全 博客趣

豆瓣评分7.6!Python大牛教你如何采集网络数据

我再BUG界嘎嘎乱杀

Python 编程 爬虫 后端 数据采集

从构思到上线:深入解析海外1v1视频聊天应用核心功能与技术开发指南

山东布谷科技胡月

一对一视频聊天系统 海外直播 国际版社交APP 社交APP源码 聊天APP源码

豆包大模型全面落地行业,助力企业打造专属智能体

极客天地

如何快速分析新代币:15 分钟内做出明智的交易决策

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

打造敏捷开发环境:JNPF低代码平台的实践与探索

不在线第一只蜗牛

敏捷开发 低代码

Steam全球服务器遭遇大规模DDoS攻击,崩溃细节曝光!!!

网络安全服务

服务器 DDoS steam DDoS 攻击 黑神话悟空

十种超赞的 MyBatis 写法!

秃头小帅oi

Spring中的动态表达式SpEL

SpEL表达式 SpEL @Value

5 大场景上手通义灵码企业知识库 RAG

阿里巴巴云原生

阿里云 云原生 通义灵码

DDD-13-仓储设计

南山

领域驱动设计 DDD 仓储 资源库

超级自动化:流程资产开启企业数字化转型新纪元

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能

加密游戏的未来:Telegram机器人如何彻底改变加密挖矿

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

解锁豆包MarsCode奥秘,打造你的专属创意工坊!|动手实验室新一期又来啦

Trae

人工智能 编程 程序员 AI 计算机

Python 实时聊天室搭建:发布订阅频道API实战应用

幂简集成

Python API

探究Python中的函数与模块

我再BUG界嘎嘎乱杀

Python 编程 后端 函数 开发语言

操作系统笔记 day5

万里无云万里天

操作系统

DDD-14-工厂设计

南山

领域驱动设计 DDD

DDD-17-CQRS

南山

领域驱动设计 DDD CQRS

云知声多模态模型:实时多模态输入输出;独立于 Siri ,苹果或开发新 AI 用于机器人丨 RTE 开发者日报

声网

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