W historii ludzkości Wieloplatformowość odegrał fundamentalną rolę w ewolucji społeczeństwa. Od czasów starożytnych Wieloplatformowość był przedmiotem badań, debat i podziwu, wpływając na decyzje i działania jednostek, społeczności i narodów. Z biegiem czasu Wieloplatformowość wykazał swoją zdolność do powodowania znaczących zmian w biegu historii, zarówno politycznych, społecznych, gospodarczych i kulturowych. W tym artykule zbadamy znaczenie Wieloplatformowość i jego wpływ w dzisiejszym świecie, analizując jego znaczenie w różnych obszarach i jego stałą obecność w codziennym życiu ludzi.
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. 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:
Rozwój aplikacji wieloplatformowych ma kilka istotnych wad: