软件开发:至今的历史回顾

软件开发:至今的历史回顾

软件开发:至今的历史回顾

软件开发(SD)自诞生以来就具有鲜明的特征。从一开始,软件开发领域就分为两大类:自由开源软件开发和专有闭源软件开发。

而这一切反过来又引发了各个分布式系统领域竞相开发类似软件的竞赛,最终催生了各种类型的应用程序。因此,分布式系统催生了第一个也是至今仍在使用的系统软件(SS),随后是编程软件(SP),最终是应用软件(AS)。而这些应用软件又涵盖了从传统的本地应用程序(即可安装且特定于每个操作系统的软件)到运行在区块链上、通过互联网运行的创新型分布式应用程序。

软件开发:内容1

软件

几乎与 SS 诞生的同时,SP 和 SA 也诞生了。SS 基本上就是操作系统本身,包含了设备驱动程序、系统实用程序以及所有用于特定控制计算机特性的工具,即所有有助于管理硬件 (HW) 元素(如内存、磁盘、端口、设备和外围设备)的程序。

软件程序包(SP)包含程序员用来开发其他计算机程序的软件产品,这些程序使用不同的编程语言和/或数据库。软件程序包通常包括文本编辑器、编译器、解释器、链接器和调试器。它们还包括集成开发环境(IDE),IDE 是一种将上述所有必要工具集成到一个环境(通常是图形用户界面,或 GUI)中的软件包,以涵盖完整的程序开发生命周期。

软件应用(SA)类别涵盖了(最终)用户用于完成任务的软件。SA通常包括办公套件、图形设计或多媒体软件、会计或行政软件等等,这只是该类别中所有应用类型的一小部分。因此,SA,或者简称为应用程序,指的是……

允许最终用户在计算机,笔记本电脑,平板电脑,移动电话或其他类型的设备或技术平台上执行不同任务的任何程序。

软件开发:内容2

应用

计算机发展初期,应用程序(App)的特点是必须安装才能使用,而且只能在特定的原生操作系统上运行。然而,随着时间的推移和计算机科学技术的进步,应用程序不断发展,获得了可移植性、跨平台兼容性、模块化和可扩展性等特性。因此,如今我们拥有多种类型的应用程序,从传统的原生应用程序到创新的分布式应用程序,应有尽有。

首页

原生应用程序是专门为特定操作系统开发的,通常使用软件开发工具包 (SDK),它们是最早出现的应用程序类型。这些应用程序的关键特点是与设备或平台的功能和特性完全集成,从而带来更佳的用户体验。因此,它们在原生环境中往往外观和性能更佳,运行也更流畅、更可靠。然而,如果每个原生操作系统版本都需要开发新的应用程序,那么它们的开发成本通常会更高。

随着科技进步,Web应用程序(也称WebApp)应运而生。这些应用程序通过网络浏览器嵌入到网页或网站中运行。因此,它们几乎可以在任何网络浏览器以及任何类型的计算机、设备或平台上运行。而且,几乎所有能在Web格式中实现的功能,都可以在可安装的原生应用程序格式中实现。

混合应用是前两种方法的结合产物。这类应用使用典型的 Web 应用语言开发,使其能够在不同平台上运行,同时又具备原生应用访问运行所在计算机、设备或平台大部分硬件功能的能力。换句话说,它们充分利用了 Web 开发的灵活性和原生应用的硬件适配性。

新闻

如今,渐进式 Web 应用 (PWA) 正在蓬勃发展。它们本质上是利用 Service Worker 和其他技术的网页,其运行方式更接近原生应用,而非传统 Web 应用。Service Worker 和其他技术在后台运行,而应用本身则在 Web 浏览器中运行。

最后,当前的应用程序正在向分布式应用程序(也称为去中心化应用程序,简称 DApp)格式迁移。这些去中心化应用程序使用区块链平台,允许用户直接交互和进行交易(协议),而无需管理服务的中心实体进行中介。因此,在 DApp 中,每个用户都是去中心化网络中的一个节点,所有节点共同充当平台上所有交易的全球公证人。

结论

软件开发领域身处科学技术的核心,因此不断发展进步。也正因如此,从可安装软件(原生应用)发展出了许多其他形式的应用(Web应用、混合应用、渐进式应用、分布式应用)。

现有的应用程序形式肯定会很快被新的、创新的应用程序形式所取代,这些应用程序形式将受到当前和不断变化的技术的影响,例如大数据、深度学习、人工智能,以及仍在不断发展的技术,例如云计算和区块链。


在 Google 中将其添加为首选来源