W dzisiejszym świecie Wieloplatformowość stał się tematem rosnącego zainteresowania i debaty w różnych obszarach. Od polityki po naukę, przez kulturę i społeczeństwo, Wieloplatformowość zdołał przyciągnąć uwagę dużej liczby ludzi na całym świecie. Jego implikacje, wpływ i znaczenie zaowocowały szeroką gamą opinii, teorii i badań, które mają na celu dogłębne zrozumienie i analizę tego zjawiska. W tym artykule zbadamy różne aspekty związane z Wieloplatformowość, od jego początków po dzisiejsze wpływy, w celu przedstawienia pełnej i aktualnej wizji tego tematu, który jest dziś tak istotny.
Wieloplatformowość – cecha aplikacji, języków programowania, systemów operacyjnych oraz innego oprogramowania i jego implementacji, pracujących na różnych platformach sprzętowych. Przykładowo, wieloplatformowa aplikacja będzie działać pod kontrolą systemu Microsoft Windows na architekturze x86 oraz systemu Linux na architekturze ARM.
Platforma to kombinacja sprzętu i oprogramowania, na którym uruchamiamy aplikacje. Mówiąc najprościej, platforma to system operacyjny lub architektura procesora.
Aplikacja może być napisana dla konkretnej platformy (zarówno w rozumieniu sprzętu, jak i oprogramowania), lub maszyny wirtualnej, na której jest uruchamiana.
Platforma sprzętowa to ogólne pojęcie, odnoszące się zarówno, do architektury procesora lub architektury komputera. Kilka najpopularniejszych obecnie architektur procesorów:
Platforma systemowa może być systemem operacyjnym lub maszyną wirtualną, zwykle jednak jest kombinacją obydwu. Najpopularniejsze systemy operacyjne:
oraz maszyny wirtualne:
Aplikacja jest wieloplatformowa, gdy działa na więcej niż jednym systemie operacyjnym i architekturze komputera. Rozwój takiego oprogramowania jest zazwyczaj bardzo trudny i czasochłonny, chociażby ze względu na to, że różne systemy operacyjne posiadają odmienne API. Trzeba mieć również na uwadze, iż fakt że system działa na wielu architekturach, nie musi oznaczać, iż program napisany dla tego systemu będzie z powodzeniem działał na wszystkich architekturach sprzętowych, obsługiwanych przez ów system. Przykładem jest pakiet biurowy OpenOffice.org, który wciąż nie ma swojego natywnego portu na architekturę x86-64[1]. Podobnie jest z językami programowania. Program napisany w tak popularnych językach jak C lub C++, nie musi działać na wszystkich systemach operacyjnych, które obsługują ten język programowania.
Oto kilka najważniejszych przedstawicieli bibliotek i narzędzi dostępnych na wielu platformach:[2]
Rozwój aplikacji wieloplatformowych ma kilka istotnych wad: