面试造火箭:各大前端框架争相游说SpaceX,要为马斯克做大屏

2020 年 6 月 5 日 新智元



  新智元报道  

编辑:鹏飞、白峰

【新智元导读】马斯克的龙飞船直接采用了超大触控屏,操作界面也是非常炫酷的赛博朋克风。但让很多人没想到的是,网传龙飞船的操作界面是用JS写的,瞬间引发了网友热议。如果你看的有点手痒也想试着做一个SpaceX相关的应用,文中还有一个GitHub仓库能够帮到你!

 

朋友,你有没有好奇过,SpaceX送上天的龙飞船,炫酷的控制界面,是用什么语言开发的?

 

航空航天爱好者一定对宇宙飞船的操控台非常熟悉。宇宙飞船驾驶舱的操作界面经历了几十年的发展,已经从完全的物理按键和仪表的蒸汽朋克风格,发展到了加入屏幕的原子朋克风格。

              

 但龙飞船的操控界面做的更彻底,步子迈的更大,直接用上了超大触控屏!

 

从目前公开的画面中可以看到,龙飞船的控制界面看起来非常接近我们想象中的宇宙飞船的界面:没有密密麻麻看着就让人头大的仪表盘和按钮,几个屏幕紧凑的排列在一起,很多信息一目了然,特别的赛博朋克。

       

       

看到这个图的一瞬间,我脑补出一堆人戴着耳机,桌面上放着咖啡、可乐、零食,在昏暗的、霓虹光闪烁的房间里,每个人都对着好几个显示屏,噼里啪啦的敲机械键盘,写出一行行汇编、C/C++代码。

       


除了最后一句,前面的多少都有点离谱对不对?但SpaceX他们的做法,比这更离谱!你能猜到他们用什么做的龙2的飞行界面吗?Chromium和JavaScript。

 

没错,当我刚刚知道这个事实的时候,内心的想法和你是一样的:妙啊!

 

             

 

这个消息最早是从HN上传出来的。一位叫elteto的匿名网友声称:

 

首先,飞船系统基于ARM而非x86,运行在定制板上;其次,只有实际的图形显示应用使用了Chromium/JS。系统的其他部分都是C++。显示代码有100%的测试覆盖率,低至图形输出的验证(比如说你有一个进度条,你把它设置成X%,测试就会验证它的实际绘制是否正确)。

链接:

https://news.ycombinator.com/item?id=23369065

         

这个消息对整个业界来说,有什么重大意义呢?知乎网友doodlewind给出了非常「到位」的评价:

 

  1. 仅在一夜之间,Electron 风评即由「笨重臃肿的 Chrome 马甲套壳」变成了「稳定安全的航天级 GUI 基础架构」。
  2. 在飞船 UI 系统宕机时,宇航员手册中记载了最后的应急方案,那就是删掉 node_modules 然后 npm install。
  3. 「面试造火箭」一语成谶,「宇宙飞船 UI 架构设计」现已加入 BAT 前端面试题库。
  4. 前端培训班题材纷纷由「高仿美团饿了么首页」转向「高仿宇宙飞船控制台」,全套教学视频 + 源码仅需 998。
  5. 各大前端框架争相游说各国载人航天团队,史称前端太空竞赛。
  6. 社区开始争论 React Hooks 和 Vue Composition API 哪个更适合登月。SpaceMVC 项目取代 TodoMVC,成为了下一个前端框架的 battle 标准。
  7. 工程师一旦发现飞船超重,第一个排查问题的位置就是 node_modules。
  8. 某国湿婆神号飞船任务失败,原因竟是该国程序员屏幕上的咖喱混淆了 == 和  ===,导致类型比较出错。


链接:

https://www.zhihu.com/question/396878847/answer/1261374042

 

没错,当我们的编辑同事看完上述评价以后,内心的想法和你是一样的:xswl

               

他还提到这里还有一个有趣之处,那就是这位 UI/UX 设计师此前并非来自「航空航天体制内」,而是做 App 与 Web 的设计出身的。他的代表作品包括索尼的全球设计规范和图片编辑器,还有 iOS 的社交应用等。

 

doodlewind觉得,这体现了 SpaceX 在组建精英团队时的多元文化(例如做上面介绍的飞控软件的团队,其背景就来自于游戏、消费者软件、Web 开发、金融、电信、航空、学术界等)。所以做交互的同学们还是要有点志气,万一哪天我国的宇宙飞船也要招人做设计稿了呢?

 

以后,前端开发、UI/UX设计师,可以骄傲的说:我要成为宇宙飞船飞行系统开发者的男/女人!

 

终于,最好的语言PHP、人人都在学的Python没有完成的宏愿,可能要被JS完成了:JS一统江湖!


SpaceX的软件团队里,都是一群什么人?

现在是不是开始好奇在SpaceX公司的软件团队了?团队分工是怎样的?每个人的角色如何?那些让火箭和飞船升空的程序都是由谁编写出来的?
 
根据7年前Reddit上一个SpaceX团队提供的信息,我们知道他们有4个独立的软件团队:
 
飞行软件团队
 
飞行软件团队大约有35人。为包括猎鹰9号和龙飞船使用的应用程序编写所有代码;并在这些飞行器上进行核心平台工作。同事他们还编写模拟软件;测试飞行代码;编写部署在地面站的通信和分析软件。此外,还在任务控制部门工作,为现役任务提供支持。
 
企业信息系统小组
 
企业信息系统团队构建了使SpaceX公司运行的内部软件系统。他们身兼多职,包括创建采购订单和填写零件库存,设计零件以及工单、技术人员在现场打卡,并根据这些设计查看今天的工作内容.........以及中间的一切。他们使用C#/MVC4/EFC/SQL、Javascript/Knockout/Handlebars/LESS等和一个超级性感的REST API。
 
地面软件团队
 
地面软件团队大约有9人,主要用LabVIEW进行编码。负责「任务」和「发射控制」中使用的GUI,供工程师和操作人员监控飞行器遥测和指挥火箭、航天器和平台支持设备。团队在一个高度分布式系统中推送高带宽数据,并实施复杂的用户界面,对操作人员有严格的要求,以确保操作人员能够及时控制和评估航天器。        

航电测试团队
 
航电测试团队与航电硬件设计人员合作,编写软件进行测试。能够及时找出硬件存在的问题。他们的主要目的是写出非常全面和强大的软件,以便能够在大批量的情况下自动发现硬件的问题。这个软件通常是在机械环境测试的时候运行。
 

来吧少年们,让我们动手开发自己的SpaceX项目

 

开发SpaceX飞行控制系统可能有难度,但做一个SpaceX相关的应用可行性还是挺高的。前端的各种技术都很成熟了,花几天时间学习一个js框架,就能开搞了。
 
但是任何应用都要数据驱动啊,之前看过很多关于SpaceX的报道,但总感觉有点零散信息不全,有没有一个数据源可以包办SpaceX一切,让人一目了然?
 
知识不懂上Wiki,代码不会找GitHub。
 
万能的GitHub上,还真就有这么一个神奇的项目SpaceX-API,这个repo真的是「一文读懂」!
       

这个项目是r/SpaceX社区开源的,现在已经有4500星了。你想了解关于SpaceX的火箭、太空船、发射时间等等这里一应俱全。
 
项目提供了REST API,不管你用哪种编程语言,都可以轻松获取相关的数据。你可以利用这些数据搭建自己的网站或者app,但是也许有人已经帮你做好了一切。项目还提供了一个app集合。
       

我们看下SpaceX WiKi这个网站,历次的发射细节、火箭汇总、还有龙飞船的介绍应有尽有。
       

如果你想看哪个型号的火箭执行的发射任务最多,或者谁的成功率最高,可以去SpaceX Stats,还可以学一波精美的可视化。
       


感兴趣的读者朋友们,也来做一个自己的SpaceX主页吧!


登录查看更多
0

相关内容

【2020新书】现代C++初学者指南,301页pdf
专知会员服务
157+阅读 · 2020年7月24日
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
【综述】交通流量预测,附15页论文下载
专知会员服务
128+阅读 · 2020年4月23日
简明扼要!Python教程手册,206页pdf
专知会员服务
46+阅读 · 2020年3月24日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
一箭60星,特朗普宣称的6G或已开始启动
全球人工智能
11+阅读 · 2019年5月27日
郭台铭的王权之路
君临
3+阅读 · 2019年4月29日
已删除
将门创投
18+阅读 · 2019年2月18日
马斯克最感性专访:我期待失败,也期待真爱
中国企业家杂志
4+阅读 · 2018年2月8日
徐小平讲了个投资奇迹,3年不到75万变3亿
商业价值
3+阅读 · 2017年12月15日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
无人驾驶汽车
劲说
5+阅读 · 2016年8月26日
Arxiv
3+阅读 · 2018年10月18日
Rapid Customization for Event Extraction
Arxiv
7+阅读 · 2018年9月20日
Arxiv
5+阅读 · 2018年6月12日
VIP会员
相关VIP内容
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
157+阅读 · 2020年7月24日
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
【综述】交通流量预测,附15页论文下载
专知会员服务
128+阅读 · 2020年4月23日
简明扼要!Python教程手册,206页pdf
专知会员服务
46+阅读 · 2020年3月24日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
相关资讯
一箭60星,特朗普宣称的6G或已开始启动
全球人工智能
11+阅读 · 2019年5月27日
郭台铭的王权之路
君临
3+阅读 · 2019年4月29日
已删除
将门创投
18+阅读 · 2019年2月18日
马斯克最感性专访:我期待失败,也期待真爱
中国企业家杂志
4+阅读 · 2018年2月8日
徐小平讲了个投资奇迹,3年不到75万变3亿
商业价值
3+阅读 · 2017年12月15日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
无人驾驶汽车
劲说
5+阅读 · 2016年8月26日
Top
微信扫码咨询专知VIP会员