Windows API
Windows API to zestaw interfejsów programistycznych (w języku angielskim interfejs programowania aplikacji lub API) dostępnych w systemach operacyjnych Microsoft Windows . Aby korzystać z Windows API, Microsoft udostępnia bezpłatnie Platform SDK , które obecnie przekształciło się w bardziej nowoczesny Windows SDK , który ujednolica Platform SDK z .NET Framework SDK (z kolei dedykowanym dla środowiska .NET). Platform SDK (Windows SDK) to zbiór narzędzi i dokumentacji do połączenia z kompilatorem języka C .
Wersje Windows API
Windows API można podzielić na następujące grupy:
- Win16 , początkowa 16-bitowa wersja Windows API, której specyfikacje są również dostępne jako ECMA Standard z kodem ECMA-234 .
- Win32 , 32-bitowa ewolucja dla nowoczesnych wersji systemu Windows.
- Win32s , podzbiór Win32 do zainstalowania w 16-bitowych wersjach systemu Windows w celu uruchamiania 32-bitowych skompilowanych aplikacji.
- Win64 , 64-bitowa ewolucja wersji systemu Windows przeznaczona dla nowych 64-bitowych procesorów Intel i AMD .
- WinRT , nowe API dla uniwersalnych aplikacji na PC, Tablet, Smartfon, Hololens .
Struktura API Windows
Interfejsy API składają się z zestawu funkcji języka C zaimplementowanych w bibliotekach dynamicznie dołączanych ( w języku angielskim biblioteki dołączane dynamicznie lub DLL).
Windows API, mimo że został napisany, ze względu na wydajność, w mieszance języka C i języka asemblera , ma złożony model obiektowy o bardzo jednolitej strukturze i stylu, który był inspiracją dla wielu innych projektów.
Podstawowa struktura Windows API pozostała prawie niezmieniona od Windows 1.0 do dzisiaj. Istnieją trzy główne grupy interfejsów API: kernel , GDI i user .
API jądra
Interfejsy API jądra zapewniają aplikacjom interfejs wysokiego poziomu do usług jądra systemu operacyjnego (zarządzanie pamięcią, zarządzanie procesami, synchronizacja itp.). W wersjach Windows 1.0 do Windows 4.9 ( Windows Me ) wiele z tych API to po prostu wywołania usług dostarczanych przez przerwania programowe MS-DOS . W systemach z jądrami NT te API wywołują niskopoziomowe API NT, zwane Native API .
API GDI
Interfejsy API GDI ( Graphics Device Interface ) tworzą bibliotekę graficzną systemów Windows. GDI wirtualizuje wszystkie urządzenia graficzne (monitory, drukarki, plotery) w celu uzyskania jednolitego interfejsu (zwanego Kontekstem Urządzenia ) pomiędzy różnymi typami urządzeń. Ponadto GDI pozwala tworzyć i manipulować serią obiektów graficznych, w tym czcionkami , pisakami, pędzlami, mapami bitowymi itp.
Użytkownik API
Interfejs API użytkownika (z interfejsu użytkownika ) udostępnia usługi interfejsu graficznego, oparte na pojęciach „okna” i „wiadomości”.
Implementacje firm innych niż Microsoft
Chociaż implementacja Windows API podlega prawu autorskiemu , istnieją zastrzeżone implementacje innych producentów , a także kilka projektów open source , w tym WINE do emulacji Windows API w systemach uniksopodobnych oraz ReactOS , którego celem jest stworzenie całego systemu operacyjnego kompatybilnego z Windows API i może natywnie wykonywać programy napisane dla niego.
Biblioteki wyższego poziomu
Nawarstwianie się nowych funkcji w czasie, potrzeba pełnej kompatybilności wstecznej i ogromna ogólna liczba dostępnych funkcji (do tej pory kilka tysięcy) sprawiły, że programowanie w systemie Windows za pomocą interfejsów API jest trudne i nieodpowiednie dla obecnie akceptowanych standardów. Z tego powodu z czasem narodziło się wiele bibliotek (w językach takich jak C++ i inne), które proponują bardziej abstrakcyjny i łatwy w użyciu model obiektowy, skutecznie przekształcając Windows API w interfejs niskopoziomowy.
Przykłady bibliotek, które hermetyzują Windows API to:
- Microsoft Foundation Classes (MFC), szeroko stosowana biblioteka C++, ale ma obniżony poziom abstrakcji.
- Object Windows Library (OWL), biblioteka Borland C++ o wyższym poziomie abstrakcji.
- Active Template Library (ATL), biblioteka oparta na szablonach C++ firmy Microsoft.
- Windows Foundation Classes (WFC), biblioteka dla Javy nie jest już używana w następstwie sprawy sądowej wniesionej przez Sun Microsystems przeciwko Microsoftowi.
- .NET Framework , biblioteka niezależna od języka firmy Microsoft, ponieważ jest przeznaczona dla kompilatorów CLR .
Przyszłość Windows API
Na przestrzeni lat Windows API w zamierzeniu Microsoftu musiało ustąpić miejsca bibliotece .NET, w szczególności za sprawą komponentu Windows Presentation Foundation , dostępnego w wersji 3.0 .NET Framework. W rzeczywistości niektóre projekty, takie jak Singularity of the Microsoft Research , eksperymentowały z nowymi systemami operacyjnymi całkowicie opartymi na nowym typie jądra, całkowicie napisanym z zarządzanym kodem opartym na .NET, porzucając w ten sposób starą architekturę opartą na Windows API. Ale wraz z pojawieniem się smartfonów i tabletów w ostatnich latach Microsoft wolał wprowadzić nowy zestaw API o nazwie WinRT do tworzenia aplikacji, ze wszystkimi standardami aplikacji, kodem, który może być używany na wielu architekturach, zarówno 32, jak i 64-bitowych, z piaskownicą oraz z interfejsami, które można dostosować do każdego typu urządzenia.
Powiązane pozycje
Linki zewnętrzne
- Microsoft Platform SDK , pod adresem msdn.microsoft.com .
- Wprowadzenie do Windows API na negusweb.it .