想要打通Windows和Linux的任督二脉,少不了API这层功力

Windows 3月前 280


每每Windows一更新,都伴随着一波又一波的高潮,从界面UI到系统布局,再到各种新功能,每个版本的Windows都带给我们耳目一新的感觉。

 

当然,在用户眼中,所关心的无外乎是新版本Windows有哪些新功能,又支持了哪些新设备,会不会有BUG什么的。就比如最近更新的Win102004版」,新增了诸如独立的Cortana、网页预览、任务管理器显示GPU温度等全新功能,但也有不少BUG


2004版搜索预览功能

 

而在开发者眼中,他们所关心的是有没有新框架,新接口的支持,能够让Windows 应用的开发变得更加容易,受众更广。而在这些的背后,少不了今天的主角——「API」。

 

 

那什么是API

其实到目前为止,API在业界中一直没有一个明确的定义。这是因为作为「专有名词」的API,随着互联网技术和数字经济的高速发展,最初所表达的含义已经容纳不下这些新的内容,而且它的外延还在不断扩大,所包含的内容也越来越多。

 

我们先来看看网络上对API的描述:

In computer programming, an Application Programming Interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components.

这就是我们暂时知道的API。在这段描述中,可以了解到 API又被称为「应用程序编程接口」,它能通过定义一组函数、协议和数据结构,来明确APP中各个组件之间的交互方式,然后通过接口的形式,将Web应用、操作系统、数据库等提供给外部使用 (这样解释可能有些复杂) 。说人话就是:有了API作为接口,系统就能利用它在各大APP中来回切换。

 

 

随着近年来,软件规模日益庞大,开发者们常常需要把复杂的系统划分成小的组成部分,而其中的API接口设计就显得十分重要。只有使软件系统的职责得到合理划分,良好的接口设计就能降低系统各部分的相互依赖,从而提高系统的可维护性和可扩展性。说人话就是:通过API接口合理分工,APP的开发和使用才会更加便捷。

 

作为用户的我们,平时能够直接接触的API几乎没有(因为API是面向开发者的)。但是我们平常基本上都会使用到,比如朋友发来的并夕夕拼单连接,你点击进入后会直接跳转到并夕夕APP当中(当然这是较为简单的API接口)

 

 

API的分类:

 

如果说操作系统是用户与硬件系统之间的接口,那么API就是硬件系统与软件之间相互连通的枢纽(简单来说就是起「插头」的作用)。因为用途、功能和使用环境的不同,一般将API分为「类库型API」、「操作系统型API」、「远程应用型API」和「web应用型API」这四大类,而我们多数时间能够接触到的API,一般是操作系统型和web应用型这两类。

 

1.操作系统型API

就如字面意思那样,通常是操作系统层对外部提供的接口,可以让开发者在不了解应用程序「工作原理」的情况下,使用它的功能,完成对操作系统的操作。就像我们需要使用电时,只需要插上插头就会有电流过来,而不用了解电流的产生原理。比如,在Windows API环境下,我们下载东西时,可以通过浏览器调用客户端程序进行下载。

 

2. web应用型API

这类API通过使用「http协议」,在企业与不同的应用程序之间、企业与企业之间,通过web开发架构的方法,以服务的形式,对外提供调用接口,从而满足消费者的需求。这在我们生活中很常见,例如各类APP的用户登录界面,就是使用的这类API

 

 

 

在任一平台的开发者眼中,最让他们抓狂就是混乱了,而我们熟知的Windows平台就是这样的。然而,在今年520日的微软「Build开发者大会」上,微软为开发者们带来了福报,展示了全新的Windows 开发工具「Project Reunion」。


 

单从字面上,就能感受到一股浓浓的「Microsoft Window Family」的味道(是不是很香?)。

 

根据微软的介绍,Project Reunion 是一组库、框架、组件和工具的集合体,结合了 Win32 本机应用程序的功能和现代API技术(新 API、聚合 API API 子集),简单来说就是集合了几乎所有类型的API,让开发者可以在Windows 平台中的任何应用程序中使用它。如果开发者想将自己的应用发布至不同 的Windows 平台,只需要通过Project Reunion工具即可,无需再进行重新编写。

 

目前,Project Reunion 中已有的组件包括:

WinUI 3 for XAML 利用 XAML 的功能,可以帮助开发者为各种应用程序构建流畅的 UX

C++/WinRTRUST/WinRT C#/WinRT 提供自定义类型的语言本地投影,方便开发人员调用 Windows API,更轻松地使用自己熟悉的语言构建各类 Windows 应用和组件。

MSIX-Core 用于打包应用程序,以通过商店或自己的交付管道分发到 Windows 桌面计算机。

来源自OSCHINA

 

更为可怕的是,Project Reunion为新的应用程序提供一个共同的平台,从而让开发者能够紧跟平台步伐,而不在乎用的是C++.NET还是React Native。这意味着可以在LinuxWindows系统下,进行并行计算,彻底打通了LinuxWindows之间的隔阂!(在Win 102004版中加入Linux子系统就是体现)


Linuxer们可能万万没想到,最终敲破LinuxWindows之间窗户的石头,居然来自微软自己。

 

随着Windows的不断更新,相信Project Reunion这个工具向的技术也会包含更多的API,为我们想要的下一代Windows提供最为牢固的基础。目前物联网和5G技术的飞速发展,各种新的API仍在不断地涌现,而API技术的安全将会是下一个浪潮的开端。

 

 


最新回复 (0)
返回
声明:网站中可能存在第三方网站链接,如有侵权,请联系我们aomeikeji@qq.com删除;破解软件仅供学习交流,下载后24小时内删除。