2017 新兴技术企业大会:首日回顾

  • Michael Redlich
  • 肖鹏

2017 年 5 月 3 日

话题:JavaJavaScriptScalaAndroid语言 & 开发

本周二(4 月 18 日),第十二届年度新兴技术企业大会(Emerging Technologies for the Enterprise Conference,ETE)在宾州费城山喜来登酒店迎来了首个活动日。ETE 大会由来自坐落于宾州福特华盛顿的 IT 咨询公司Chariot Solutions组织举办。大会首日包括了一个主题演讲,由增强现实先驱Blair MacIntyre主持。首日活动还包括了如下演讲嘉宾:甲骨文公司 JVM 性能优化顾问Monica Beckwith、Corgibytes 公司 CEO Andrea Goulet、Ember.js 框架联合作者Yehuda Katz 、Atomist 首席工程师Jessica Kerr 和来自于 Square 公司的安卓工程师Jake Wharton

专题演讲

增强现实先驱、Mozilla公司首席研究员、乔治亚理工学院教授Blair MacIntyre呈现了名为The Web as Platform for Augmented Reality Experiences (在网络平台上体验增强现实)主题演讲,拉开了首日大会的序幕。在演讲中,MacIntyre 将增强现实定义为“实时地混合多媒体设备来影响用户在三维环境中的感知”。

MacIntyre 探索了从古至今的增强现实设备,并展望了未来增强现实的愿景。如下面的照片所示,增强现实的设备最早可追溯到 1968 年由 Ivan Sutherland 设计的The Ultimate Display (终极显示设备),而未来某一天可能会出现普通眼镜那样的头戴显示器。

图一:Ivan Sutherland 和他的终极显示设备

图二:头戴增强现实显示器

图三:(也许便携头戴显示设备在长成这个样子的时候就能主宰消费者市场,但科技离此目标还很远)

MacIntyre 提出了一个问题:“我们是否可以利用网络体验增强现实?”。他还建议开发者们应当“把所有硬件或是非硬件设备互联网化”。在如今,尽管开发者们已经可以使用诸如WebVR或是WebRTC这样的技术实现简单的增强现实,但他质疑这些技术是否已足够满足人们的需要。

如今已是英特尔实验室首席工程师和研究经理的Ron Azuma曾在 1997 年发表了一份名为 A Survey of Augmented Reality(增强现实调查报告)的白皮书。基于这份白皮书,MacIntyre 分析了在当时由 Azuma 设计的视频混合增强现实流程图:

MacIntyre 意识到增强现实存在以下挑战:

  • 必须保证显示的实时性
  • 只能基于用户已知或感知的世界,将内容展示在显示设备为基准的空间里

为了保证更好地理解我们的世界,MacIntyre 主张了如下在未来需要完善的增强现实领域:

  • 展示设备
  • 传感技术
  • 服务

最后,MacIntyre 介绍了 JavaScript 框架argonjs.io 。argonjs.io 由乔治亚理工大学Argon项目组开发,旨在为网页提供增强现实体验。你可以在他的网站找到演讲的幻灯片

重要演讲

Automating at a Higher Level with Atomist(使用 Atomist 平台实现高水平自动化)演讲中,Atomist 首席工程师Jessica Kerr展示了 Atomist 工程师们如何使用诸如 Slack、GitHub、Travis、Docker 和 Kubernetes 等技术实现构建自动化。她现场演示了构建一个随机小猫收养应用,提出依靠 Atomist 提供的自动化开发方案,可以使更改产品需求更为便捷,并且让流程更正确。

来自Hazelcast公司的资深解决方案架构师Viktor Gamov带来了Java Puzzlers Next Generation: down the Rabbit Hole(深入下一代 Java 版本谜题)演讲。基于Java Puzzlers: Traps, Pitfalls, and Corner Cases(《Java 解惑:陷阱、误区和极端案例》)这本书,Gamov 向现场观众提出了几个为 Java 8 专门设计的谜题,解答谜题的听众可以获得的奖品是一件 Hazelcast 公司的 T 恤衫。他的演讲幻灯片可以在 SideShare 上面找到。

Sqaure 公司的安卓工程师Jake Wharton带来了Managing the Reactive World with RxJava(使用 RxJava 库管理响应式应用)演讲。他在演讲中提出:“除非使用同步模型描述整个系统,否则一个单独的非同步数据源就可能破坏命令式编程范式”。Wharton 用一个简单的例子展示了RxJava的使用方法。示例中,他比较了Observable<T>Flowable<T>数据源,介绍了观察这两种数据源的方法,并介绍了多种操作数据源事件的运算符。最后,他简要讨论了 Java 9 和JEP 266引入的新类Flow。这个新 Java 类封装了可以用作基于响应式发布和订阅模型框架的接口。Wharton 的幻灯片可以在他的网站上找到。

来自于Lightbend公司的企业级应用架构师Kiki Carter带来了“Somm” Lagom: Building Systems That Age Like Wine(用 Lagom 框架构建如红酒般容易老化的系统)主题演讲。Carter 讨论了在当今快速开发企业级应用时开发者们经常会遇到的挑战:

  • 太多抉择,导致分析方案停滞
  • 难以保持结构完整性
  • 需要领域专家
  • 计划外的复杂设计或是混乱局面

之后,她介绍了 Lightbend 公司开发的微服务框架Lagom,并讨论了如何使用 Lagom 解决当今企业级应用中遇到的挑战。Carter 提出:“快速变化通常意味着快速老化”。总结中她还提出:“为了在跟上业务需求变化的同时保持架构的完整性,请尝试使用一个提供了基于应用层之上 - 也就是系统级别抽象的框架解决开发问题。”

总结

首日由 25 个演讲组成,话题包括:Java、Scala、响应式编程、微服务、安卓、Scio、JavaScript、Cassandra、DevOps 和 Clojure。

编者的话

Michael Redlich(原文作者)自 2008 年开始积极参与 ETE 大会,并在最近(2013 年)以成员的身份加入 ETE 指导委员会。

查看英文原文Emerging Technologies for the Enterprise Conference 2017: Day One Recap


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

JavaJavaScriptScalaAndroid语言 & 开发