写点什么

JavaScript 进入太空,真正成为“火箭科学”

  • 2020-07-16
  • 本文字数:1655 字

    阅读完需:约 5 分钟

JavaScript进入太空,真正成为“火箭科学”

SpaceX 公司发射的“龙飞船”(Dragon)2 号将 JavaScript 技术带入了太空。飞船系统的用户界面采用了 Chromium 和 JavaScript,所以很大一部分依赖了 Web 技术。


Twitter 上的相关讨论以及与 SpaceX 软件团队成员进行的 Reddit AMA 会话出现了一些非常幽默的内容,比如“node_modules 真的是太空中最重的模块吗”,但不管怎样,JavaScript 确实在为 SpaceX 龙飞船上的触摸 UI 提供支持。


正如美国宇航局(NASA)宇航员 Christina Koch 在最近的OpenJS世界大会上所说的那样,SpaceX 拥有非常现代的显示器。“龙飞船”是第一艘搭载触摸屏的航天器。“龙飞船”上的宇航员穿着带有特殊手套的宇航服,以便能够在极其恶劣的环境下使用触摸屏。他们使用几个按钮来执行非常关键的任务和访问冗余系统。


Koch 说,在空间站里,团队通过平板电脑使用 Web 应用程序,这些平板电脑连接的是与空间站其他系统相独立的网络。他们使用基于 Web 的调度软件和程序,并定期通过网站(如 YouTube)完成专业和娱乐方面的事情。


https://youtu.be/j2-mrQDJ_Sk


NASA 目前正在研发猎户座(Orion)飞船,用于登月和执行火星任务。最初,NASA 通过一个快速原型实验室为航天员设计界面,关注的是用户驱动型的需求,而非自上而下型的需求。虽然“猎户座”目前还没有使用触摸功能,但他们计划提供一些可编程按钮和程序,以便获得高效的飞行体验。


在龙飞船上,界面使用了大量 Web 组件和自定义响应式框架。SpaceX 公司软件工程师 Sofian Hnaide 在 Reddit AMA 上解释说:


在关键任务环境中使用 Chromium 和 JavaScript 是一个普遍的问题。我们必须明白,在这些情况下,Chromium 只是作为一个 UI 渲染引擎。带有显示和容错功能的飞行软件的交互层定义良好,并位于显示边界之外。 就是说,无论采用怎样的技术栈,我们都遵循相同的开发流程。 我们对开发人员进行交叉培训,使用 C++编写代码,并怀着相同的心态开发出可靠的软件。我们非常重视可靠性和性能,就像其他飞行软件一样,我们在不同条件下进行测试,以便了解所有可能出现的故障模式。我们有警报系统和处理程序,在出现故障时可采取相应的行动。

虽然我们一路上遇到了很多挑战,但我们对自己的表现非常满意。最重要的是,我们的两个客户(到目前为止)也感到非常满意。飞船的地表软件已经在使用这些显示技术栈,用不了多久,我们就会开始为飞船设计人机界面。


SpaceX 龙飞船软件团队经理 Wendy Shimata 补充说:


你可能从某些图像中注意到了,显示屏下方仍然有一些硬件按钮。这是为了确保在显示器出现故障无法使用时,宇航员仍然可以使用硬件按钮来启动关键任务,例如响应机舱火灾。


为了保证软件的可靠性,团队采用了很多方法进行测试。在 SpaceX 团队负责 Demo-2 的 John Dietrick 解释说:


我们进行所有能够想到的测试!单元测试、容器化集成测试(借助物理模拟在本地机器上执行这些测试)以及在真实硬件上进行的完整“HITL”(硬件环路)测试(完全仿真)。使用模拟器来测试软件是我们拥有的最强大的工具,尤其是在真实硬件上运行的时候。我们将硬件放在实验室的桌子上,然后模拟整个任务过程,甚至是一些故障。在飞船上这么做非常容易。为了深入研究,我们通过通信通道和网络快速地从飞船上获取大量数据。


这个项目最初是一个模拟器原型,为了向 NASA 展示设计愿景。然后,团队对其进行了修改并在硬件上运行,取得了一些进展。在开发原型时,SpaceX 团队对基于 Web 的方法有了更强的信心。正如 Hnaide 解释的那样:


我们喜欢浏览器附带的所有现代化功能,也喜欢那些已经受过相关技术栈训练的人才。我们并不担心在这里做一些不一样的事情会影响我们。我们喜欢采用“第一原则”方法来解决问题,而不是只遵循行业标准。


在一篇很长的推文中,JavaScript 作者和 Brave 首席执行官 Brendan Eich 对此进行了幽默的评论,并就如何利用 TypeScript、Flow 或 Hegel 的类型安全性来确保 TypeScript 在太空中的安全使用做出了严肃的回应。


很显然,JavaScript 现在实际上已经成了一门“火箭科学”。


原文链接


JavaScript Reaches the Final Frontier: Space


2020-07-16 08:002645

评论

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

亲身体验告诉你:亚马逊云科技海外服务器是否值得一试?

热爱编程的小K

服务器 亚马逊 #科技 Amazon EC2 云服务器

用友在ICDAR发表论文,AI实力获国际顶级学术会议认可

用友BIP

人工智能

Xmind for Mac(思维导图软件) 24.01中文版

展初云

Mac 思维导图 XMind

玩转 Cgroup 系列之一: Cgroup 的起源、重要性和基本工作原理

小猿姐

Linux 内核 资源管理 Cgroup

AI应用新时代的起点,亚马逊云科技加速大模型应用

不叫猫先生

人工智能 大语言模型 Amazon CodeWhisperer

Perfectly Clear Workbench for mac 智能图像清晰处理工具推荐

加油,小妞!

图像处理

环境变量配置无效?

矩视智能

深度学习 机器视觉

Amazon EC2使用测评

查拉图斯特拉说

服务器 亚马逊云科技 EC2

玩转 Cgroup 系列之二:使用 CPUShares 管理 Cgroup

小猿姐

Linux Cgroup CPUShares I/O 调度

阿里云严重故障,全线产品受影响(已恢复)

轶天下事

利用uni-app 开发的iOS app 发布到App Store全流程

雪奈椰子

Xmind for Mac(思维导图软件) 24.01中文激活版

mac

XMind 思维导图软件 苹果mac Windows软件

聚力未来!云起无垠成为光合组织成员单位

云起无垠

服务器 突然断电有什么危害

Geek_f19a80

轻松理解 Transformers (4) :Decoder 和 Output 部分

Baihai IDP

人工智能 深度学习 AI Transformer 白海科技

如何正确执行 DORA 指标

SEAL安全

DevOps 持续部署 DORA 企业号11月PK榜

AWS云服务器EC2实例进行操作系统迁移

乌龟哥哥

AWS Amazon EC2

华大北斗荣获2023年度卫星导航定位科技进步奖特等奖

江湖老铁

mac上好用的图像清晰处理工具:Perfectly Clear Workbench 激活中文版

mac大玩家j

Mac软件 图像处理工具 图像清晰度处理

强大好用的shell:shell命令

小齐写代码

CSP直通车“助你成为优秀的专业敏捷教练”| 12月线上面授双周末班

ShineScrum捷行

敏捷教练 专业敏捷教练

Fig Player for Mac(多媒体播放器)

展初云

播放器 Mac软件 Fig Player

从“浮云”到“冰山”:华为云安全的绝世“五功”

轶天下事

低代码观点分享文,邀您来讨论

inBuilder低代码平台

低代码平台

数据流图:一篇文章教你如何轻松画出来

职场工具箱

流程图 教程分享 绘图工具

一起学Elasticsearch系列-Query DSL

Java随想录

Java 大数据 ES

Mac电脑硬件信息查看 EtreCheckpro 激活最新版

胖墩儿不胖y

Mac软件推荐 硬件信息检查工具

MacOS系统的硬件信息扫描工具:EtreCheck pro for Mac

加油,小妞!

etrecheckpro 硬件信息扫描工具

MouseBoost Pro for Mac(右键助手)

展初云

Mac软件 鼠标辅助

JavaScript进入太空,真正成为“火箭科学”_大前端_Dylan Schiemann_InfoQ精选文章