硬件和软件的融合已经到了一个转折点——两者不再相互独立,而是越来越多地呈现出一种镜像依赖关系。硬件和软件系统的合作比以往任何时候都要更加密切,它们之间的界限也日趋模糊,两者的功能彼此关联。作为开发人员,重要的是要引领趋势,确保我们掌握的技能不落后于最新技术,否则就有掉队的危险。

1980年,史蒂夫·乔布斯(Steve Jobs)曾经说过:“越来越多的软件正在整合到硬件中…昨天的软件成了今天的硬件。软硬年正在融合。它们之间的界限越来越小。”

这一观点在现在看来更是如此,因为在我们的日常生活中,融合已经发生好多年了。像Uber和Lyft这样的打车服务,通过技术创新融合物质世界,而像Alexa和Fitbit这样的专业个人设备,通过硬件和软件构件的结合,提升我们的日常生活品质。也许软硬件融合最明显的例子应该算是蓬勃发展的物联网。物联网涵盖了从智能建筑等大规模系统到自主控件这样的小型单元,而整个系统如同一个大型硬件设备一样工作。

那么,开发人员的最佳应对方式是什么?继续阅读,我们将深入探讨您现在需要了解的情况,并提供有关如何在未来引领趋势的意见。

今天3股塑造软件的力量

从打孔资料卡到大型机,一路走来我们取得了长足的进步。但是,即使在5-10年前,大多数软件就是在设备执行一项任务而已,虽然也可能连接到网络,但其本身几乎是孤立存在的。例如网页浏览器或文字处理程序。现在,我们对于软件的期望要大得多。

以下是非思丸认为影响今天软件开发的三大关键因素:

普遍存在:由于硬件方面取得了长足的进步,更加轻巧便携,因此,人们希望软件可以随时随地运行。

情景感知:今天的软件不仅执行任务,还能够识别出其所运行的更广泛环境,并作出相应的响应,自主决定或向用户提供数据分析结果的建议。

超连接性:今天的软件不再孤立存在,而是具有连接性——连接其他设备、物理世界、各种通信渠道等。

硬件扩展

如果说普遍存在、情境感知和超连接性正在塑造软件,那么可以说是硬件决定了这些体验。

同样,这些因素也扩展了硬件的潜力:

普遍存在:处理器和传感器的尺寸越来越小、价格日趋便宜,而功能更加强大,意味着在更多种类的对象中拥有了更强的计算能力

情景感知:各种各样的传感器和处理器使得设备可以识别周围物理世界的各个方面及自身状态。例如,可以判断设备是否以20mph的速度移动,是否跟随某个物体,或者是否有碰撞其他物体的危险…或一次性判断上述三个方面。

超连接性:通过多种连接方案,硬件正成为集合系统的一部分,决定了我们的体验。这包括智能家居、智能眼镜等。

不止是软件或硬件

鉴于今天影响软件和硬件的各种因素,开发工作比以前更为复杂,这一点不足为奇。看待融合的一种方法是要认识到今天的软件“不仅仅是运行一个程序”,而今天的硬件也不只是“提供引擎”。

例如,今天的软件需要各种各样的输入,进行综合逻辑分析,从而使物理世界中的系统(本地或系统)产生反应。可以是机器和机器之间,也可以是人和传感器与机器组成的系统之间。今天的硬件通过向软件提供重要的外部输入和数据,并允许程序与外部世界进行交互,从而带来价值。

了解软硬件是如何融合的固然不错,但这一点对于今天的开发人员来说又意味着什么呢?

虽然专家在许多令人印象深刻的软硬件进步中功不可没,但是希望构建下一代响应式应用程序的开发人员可以从更广泛的视角来应对挑战。从多(或反)学科思维的角度处理新项目,可以为新的见解和创新思维提供巨大的机会。