Багатоплатформність

Багатоплатфо́рмність[джерело?] (кросплатформність[джерело?], мультиплатформність[джерело?]) — властивість програмного забезпечення працювати більш ніж на одній програмній (в тому числі — операційній системі) або апаратній платформі; технології, що дозволяють досягти такої властивості. Кросплатформність дозволяє суттєво скоротити витрати на розробку нового або адаптацію існуючого програмного забезпечення.

Залежно від засобів реалізації поділяється на кросплатформність на рівні мов програмування (а також інструментів таких мов: компіляторів та редакторів зв'язків), середовища виконання, операційної системи та апаратної платформи.

Технології та засоби досягнення кросплатформності

Кросплатформність мов програмування

Кросплатформність на рівні мов програмування досягається шляхом забезпечення незалежності програмного коду від платформи. Багатоплатформними є більшість сучасних високорівневих мов програмування, для яких реалізовані транслятори, що можуть виконуватись на різних платформах. Наприклад, C, С++ і Pascal — кросплатформні мови на рівні компіляції, тобто для цих мов є компілятори під різні платформи.

Кросплатформність на рівні редакторів зв'язків досягається реалізацією для різних платформ кросплатформних бібліотек, які реалізують незалежний від платформи інтерфейс, в тому числі — стандартизованих бібліотек. Зокрема, стандартизовані багато бібліотек мови Сі (див. POSIX). Існує також велика кількість нестандартних кросплатформних бібліотек: Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL.

Кросплатформність на рівні середовища виконання

Кросплатформність на рівні середовищ виконання забезпечується реалізацією в цих середовищах можливостей, необхідних програмам незалежно від платформи. Декларований набір таких можливостей прийнято називати «контрактом» — обов'язком який покладається на середовище, щоб забезпечити виконання програми. Ці обов'язки реалізуються через інтерпретатор, файлові потоки, системні виклики, протоколи, віртуальну машину тощо.

Мови кросплатформні на рівні виконання, коли їх виконавчі файли можна запускати на різних платформах без попередньої перекомпіляції. Найбільш поширені[1] приклади: Java, C#, SQL. Інтерпретовані мови кросплатформні, коли їх інтерпретатори існують для багатьох платформ. Найбільш поширені[1] приклади: Python, JavaScript, PHP, Ruby, Perl, R, MATLAB.

Кросплатформність на апаратному рівні

Кросплатформність на апаратному рівні досягається реалізацією однакових машинних команд та форматом їх представлення, систем переривань, механізмів адресації пам'яті, регістрів тощо. Може досягатись шляхом віртуалізації відповідних ресурсів та механізмів.

Емуляція

Якщо програма не призначена для виконання (запуску) на певній платформі, але для цієї платформи існує емулятор платформи, базової для цієї програми, то програма може бути виконана в середовищі емулятора.

Зазвичай виконання програми в середовищі емулятора призводить до зниження продуктивності в порівнянні з аналогічними програмами, для яких платформа є базовою, тому що значна частина ресурсів системи витрачається на виконання функцій емулятора.

Кросплатформність програм

Кросплатформність прикладних програм

Велика кількість прикладних програм є кросплатформними. Особливо ця якість виражається у програм, що були спершу розроблені для UNIX-подібних операційних систем. Важливою умовою їх переносимості на інші платформи є сумісність платформ з рекомендаціями POSIX, а також існування відповідних компіляторів (наприклад, GCC) або інтерпретаторів для платформи, на яку здійснюється перенесення.

Приклади:

Кросплатформність операційних систем

Сучасні операційні системи також здебільшого є багатоплатформними. Наприклад, операційні системи з відкритим вихідним кодом, наприклад, NetBSD, GNU/Linux, FreeBSD, AROS можуть працювати на різних платформах, найчастіше: x86, m68k, PowerPC, DEC Alpha, AMD64, SPARC. Microsoft Windows може працювати як на платформі Intel x86, так і на Intel Itanium. Операційна система NetBSD є найбільш здатною до перенесення, вона працює на більшості існуючих платформ.

Багатоплатформовий користувальницький інтерфейс

На різних ОС — незалежно від того, як технічно досягнута робота в них — стандартні елементи інтерфейсу мають різні розміри. Тому просте жорстке позиціонування елементів інтерфейсу неможливо — під іншою ОС вони можуть налазити один на одного. Існує кілька підходів:

  • Єдиний стиль, загальний для всіх ОС. Програми виглядають однаково під усіма ОС. Так працюють інтерфейсні бібліотеки Java на зразок Swing.
    • Плюс: можна жорстко розставляти елементи управління на манер Delphi; оригінальний стиль.
    • Мінус: системі доводиться мати свої екранні шрифти; стиль відрізняється від стилю ОС.
  • Самоадаптований інтерфейс, який налаштовує сітку під реальні розміри елементів управління. Типові приклади — wxWidgets, XUL.
    • Плюс: стандартний стиль ОС, дуже швидкий і «скіни» під Windows XP, Vista і 7; деяка автоматизація локалізації.
    • Мінус: щоб зібрати самоадаптовану сітку, потрібен кваліфікований програміст; утруднене щільне компонування.
  • Гібридний підхід реалізовано у GTK +.
    • Плюс: шрифти можна брати з системи, а не «тягнути» свої; деяка автоматизація локалізації.
    • Мінус: бере всі недоліки від перших двох підходів. Стиль відрізняється від стилю ОС; утруднене щільне компонування.

У будь-якому випадку, під іншими ОС потрібне хоча б мінімальне тестування, оскільки можливі помилки компонування.

Кросплатформність відеоігор

Багатоплатформна відеогра, кросплатформна відеогра — відеогра, яку випускають для декількох апаратних платформ комп'ютера. Для кожної окремої платформи така гра має окрему версію, яка призначена для запуску саме на цій платформі. Залежно від особливостей гри й цільових платформ версії однієї гри для різних платформ можуть відрізнятися одна від одної в різних ступенях.

Цільові платформи

Всі платформи, на які виходять мультиплатформні ігри, умовно діляться на кілька груп:

  • Персональні комп'ютери (ПК). Ігри для ПК називаються ПК-іграми, а версії мультиплатформних ігор для ПК — ПК-версіями ігор. У свою чергу, ПК-ігри діляться в залежності від операційних систем, на яких можуть працювати. Більшість ПК-ігор розроблено для сімейства ОС Microsoft Windows.
  • Ігрові консолі. Ігри для ігрових консолей називаються консольними іграми, а версії мультиплатформних ігор для консолей — консольними версіями ігор. Всі ігрові консолі діляться на два типи — портативні ігрові консолі (являють собою автономні пристрої, які містять в одному компактному корпусі всі необхідні для гри пристосування — засоби управління, дисплей, звукові динаміки і т. д.) і «префіксальні» консолі (які підключаються до зовнішніх дисплеїв, звуковим динаміків і іншим пристроям). Відповідно, консольні ігри поділяються для цих двох типів ігрових консолей. Ігрові консолі — спеціалізовані комп'ютери, основний акцент при розробці яких був зроблений саме на виконання комп'ютерних ігор. Однак, крім свого основного завдання, ігрові консолі, особливо починаючи з сьомого покоління, здатні відтворювати відео, музику, здійснювати доступ в Інтернет і виконувати деякі інші функції.
  • Кишенькові персональні комп'ютери (КПК). Кишенькові персональні комп'ютери (або надолонники), як і універсальні персональні комп'ютери, є ігровими платформами. Внаслідок своїх невеликих габаритів, специфічних засобів управління і виведення інформації, а також через відносно невисоку продуктивність й обсяг пам'яті ігри для КПК істотно відрізняються від ігор для інших платформ. Так, на КПК найбільше поширені казуальні ігри.
  • Мобільні телефони. Згодом вдосконалення науково-технічного прогресу дозволило мобільних телефонів виступати в ролі ігрових платформ. Однак внаслідок свого мінімального серед інших ігрових платформ рівня продуктивності серед ігор для мобільних телефонах найпоширеніші казуальні ігри, прості аркади, платформери й інші міні-ігри.
Файтінг, запущений на аркадних автоматах

Відмінності між версіями мультиплатформних ігор

У залежності від бажань і можливостей розробників, а також технічних відмінностях між цільовими платформами, на яких виходить мультиплатформна гра, версії мультиплатформної гри для різних платформ можуть тією чи іншою мірою відрізнятися між собою.

Деякі розробники прагнуть зробити так, щоб гра для різних платформ виглядала максимально однаково. Наприклад, розробники гри BioShock 2, яка вийшла на ПК і ігрових консолях Xbox 360 і PlayStation 3, прагнули зробити гру максимально однаковою на цих платформах. «Найголовнішою нашою метою, поставленої на початковій стадії розробки, було те, що гра повинна була виглядати практично ідентично на всіх платформах», — заявив з цього приводу головний дизайнер локацій гри Хогарт Де Ла Плант (англ. Hogarth De La Plante). Він заявив, що це робиться для того, щоб не дати користувачам гри на який-небудь одній платформі переваг перед користувачами цієї гри на інших платформах.[2] Аналогічне прагнення показали розробники з Eidos Montreal при розробці Deus Ex: Human Revolution: продюсер гри Девід Анфоссі (англ. David Anfossi) заявив, що враження від гри і геймплей будуть ідентичними на всіх цільових платформах (ПК, Xbox 360, PlayStation 3).[3]

Версії однієї гри для різних платформ можуть виходити в різний час, причому цей час може обчислюватися роками. Наприклад, гра Ballistics[en] для ПК вийшла в 2001 році[4], а для аркадних автоматів — у 2002-му[5].

Іноді версії однієї мультиплатформної гри мають більше відмінностей, ніж загальних ознак. Наприклад, гра «Tom Clancy's Ghost Recon Advanced Warfighter» була розроблена різними компаніями для різних платформ на різних ігрових рушіях, версії для яких були випущені в різний час. Ця гра вийшла для платформ Xbox 360, Xbox, PlayStation 2 і ПК (Microsoft Windows), причому ці версії виходили протягом всієї весни 2006 року. Версія для Windows розроблялася компанією GRIN на ігровому рушію Diesel. Версія для Xbox розроблялася компанією Ubisoft Shanghai, а версія для PlayStation 2 — Ubisoft Paris. Ці дві версії (для Xbox і PlayStation 2) використовували ігровий рушій Unreal Engine 2. Версія для Xbox 360 розроблялася на ігровому рушію YETI engine двома компаніями — Ubisoft Paris робила однокористувацький режим гри, а Red Storm Entertainment — розрахований на багато. Серед загальних елементів цих версій були лише концепція і загальний сюжет. Геймплей, сценарій, місії та рівні, особливості озброєння і оснащення протагоністів для кожної версії були індивідуальними. Це призвело до того, що деякі оглядачі, як, наприклад, GameTech, написали окремі рецензії для версій цієї гри під різні платформи.[6][7]

Багато агрегаторів оцінок комп'ютерних ігор поділяють оцінки для кожної платформи. Наприклад, онлайновий агрегатор GameStats для кожної із семи платформ, на яких вийшла гра James Cameron's Avatar: The Game, скомпонував окремий профіль з окремою оцінкою.

Примітки

  1. а б За індексом TIOBE на липень 2022 року.
  2. -bin/show.pl? option = news & id = 11164 Розробникам BioShock 2 довелося йти на компроміси. GameTech. 8 лютого 2010. Процитовано 18 травня 2010.[недоступне посилання з травня 2019]
  3. Однаковий Deus Ex: Human Revolution на всіх платформах. GameTech. 13 липня 2010. Архів оригіналу за 26 квітня 2012. Процитовано 26 липня 2010.
  4. web/20050212232603/www.grin.se/ballistics/ballistics_retailpr.htm Press Release: Fellow speedfreaks, it is now official!. GRIN. 18 жовтня 2001. Процитовано 3 вересня 2009.
  5. Sheila McGovern (2002-04). montreal_gazette/business_april8_2002.pdf Off to the races (PDF). The Gazette. Процитовано 3 вересня 2009.[недоступне посилання з червня 2019]
  6. Віталій Казунов (Lockust) (2007). GRAW2 - навіть на своїх помилках не вчаться. GameTech. Архів cgi-bin/show.pl? fltr_pltfm = all & option = review & id = 84 оригіналу за 31 серпня 2009. Процитовано 18 травня 2010.
  7. Віталій Казунов (Lockust) (2007). Огляд GRAW 2. GameTech. Архів оригіналу за 26 квітня 2012. Процитовано 18 травня 2010.

Джерела

Read other articles:

عبد الله بن إبراهيم الشرائحي معلومات شخصية الحياة العملية المهنة عالم  تعديل مصدري - تعديل   هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (ديسمبر 2018) عبد الله بن إبراهيم الشَرائحي المعروف بـ الحافظ جمال الدين...

 

Ізабель Ітурбуруфр. Isabelle Ithurburu Isabelle Ithurburu interviewe Anthony Floch MHR vs Clermont.jpgНародилася 24 лютого 1983 (40 років)(19830224)ПоКраїна  ФранціяДіяльність журналісткаAlma mater University of Pau and Pays de l'AdourdЗнання мов французькаЗаклад Infosport+d і TF1Роки активності 2009 — тепер. часУ шлюбі з Gonzalo QuesadadН...

 

Mountain in Bolivia For the mountain on the border of the provinces of Ingavi and Los Andes, La Paz Department, Bolivia, see Q'ilani (Ingavi-Los Andes). Q'ilaniQ'ilaniLocation in Bolivia Highest pointElevation4,686 m (15,374 ft)[1]Coordinates17°04′18″S 68°21′48″W / 17.07167°S 68.36333°W / -17.07167; -68.36333GeographyLocationBoliviaLa Paz DepartmentParent rangeAndes Q'ilani (Aymara q'ila a kind of flower, similar to the lupin,[2&#...

1973 book by Tim O'Brien If I Die in a Combat Zone, Box Me Up and Ship Me Home First editionAuthorTim O'BrienCountryUnited StatesLanguageEnglishSubjectVietnam War autobiographyGenreMemoirPublisherDelacorte PressPublication date1973Media typePrintISBN0-7679-0443-5OCLC41211584Dewey Decimal959.704/3/092 21LC ClassDS559.5 .O27 1999Preceded byn/a Followed byNorthern Lights (1975)  If I Die in a Combat Zone, Box Me Up and Ship Me Home (sometimes printed as If I Die In ...

 

  لمعانٍ أخرى، طالع جون هولاند (توضيح). هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) جون هولاند معلومات شخصية الميلاد سنة 1961 (العمر 61–62 سنة)  مواطنة الولايات المتحدة  الحياة العملية المهنة إذا

 

Indian TV series or programme MadhaviGenreSoap operaWritten byV. ThiruselvamScreenplay byV. ThiruselvamDirected byV. Thiruselvam S.N.ShakthivelStarringSara Vanitha Krishnachandran Seenu Bhavana Nalini Subhalekha Sudhakar VandhanaMusic byNavneet SundarOpening themeKadhal Oru MayamaDivya Ramani (Vocal)Aandal Priyadharsini (Lyrics)Country of originIndiaOriginal languageTamilNo. of episodes482ProductionProducersSujatha Vijakumar VijakumarCinematographyC. Denisten B.ThiyagarajanEditorD. Pream...

Сім'я Гамбіно Місце заснування Нью-Йорк, СШАЗасновник Карло ГамбіноРоки діяльності 1910 - по теперішній часТериторія Різні райони Нью-Йорка, а також території Лонг-Айленда, Нью-Джерсі, Західного Коннектикута, Тампи, Південної Флориди, Атланти, Лас-Вегаса та Лос-АнжелесаЕ...

 

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (January 2015) (Learn how and when to remove this template message) Harleian SocietyFormation1869TypeHistorical societyRegistration no.253659Legal statusCharityPurposeHeraldic and genealogical study and researchHeadquartersCollege of Arms, London, United KingdomActivitie...

 

Provider of mass transportation in Marshall County, Iowa Marshalltown Municipal TransitMarshalltown Municipal Transit #101, a 2010 Gillig Low Floor 29'.Headquarters24 North Center StreetLocaleMarshalltown, IowaService areaMarshall County, IowaService typeBus service, paratransitRoutes11HubsFisher Community CenterFleet6 (5 buses & 1 cutaway)Annual ridership75,629 (2019)WebsiteMarshalltown Municipal Transit Marshalltown Municipal Transit, also stylized as mmt, is the primary provider of mas...

AwanPossible location of Awan. The approximate Bronze Age extension of the Persian Gulf is shown.The territory of Awan and related polities in the Mesopotamia area circa 2000 BCE. Dynastic list of twelve kings of the Awan dynasty and twelve kings of the Shimashki Dynasty, 1800–1600 BCE, Louvre Museum.[1] Awan (Sumerian cuneiform:

 

British actor For other people with the same name, see Paul Child (disambiguation). This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may need to be rewritten to comply with Wikipedia's quality standards. You can help. The talk page may contain suggestions. (May 2019) This biography of a living person needs additional citations for verification. Please help by adding reliable s...

 

Egyptian airline Not to be confused with Cairo Aviation. Air CairoAir Cairo Airbus A320neo landing in Berlin Brandenburg Airport IATA ICAO Callsign SM MSC AIR CAIRO Founded2003; 20 years ago (2003)Operating bases Cairo International Airport Hurghada International Airport Sharm El Sheikh International Airport Fleet size31 (2023)Destinations61Parent companyEgyptair360 INVESTMENTSHeadquartersCairo, EgyptKey peopleHussein Sherif (CEO)Employees500[1]Websitewww.aircairo.co...

Part of a series onNigerians Comedians Writers Scholars Entrepreneurs Actors Film producers Film directors Screenwriters Media personalities Bloggers Musicians Poets Scientists Sportspeople List of Nigeriansvte This is a list of Nigerian writers. This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by adding missing items with reliable sources. Contents A B C D E F G H I J K L M N O P Q R S T U V W X Y Z See also A Chris Abani, 2019 Chinu...

 

Buddhist temple in Phetchaburi province, Thailand The topic of this article may not meet Wikipedia's notability guideline for geographic features. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.Find sources: Wat Tham Rong – news · news...

 

1993 American TV series or program GypsyPromotional posterGenreBiographyComedyDramaMusicalBased onGypsy: A Musical Fable1959 stage musicalby Arthur LaurentsScreenplay byArthur LaurentsDirected byEmile ArdolinoStarringBette MidlerPeter RiegertCynthia GibbMusic byJule Styne (Score)Stephen Sondheim (Lyrics)Country of originUnited StatesOriginal languageEnglishProductionExecutive producersBonnie BruckheimerRobert Halmi Sr.Neil MeronCraig ZadanProducersEmile ArdolinoCindy GilmoreBob Webe...

Plaza JewellPlaza Jewell with the grandstand at right, c. 1900AddressGould 865LocationRosario, ArgentinaOwnerAtlético del RosarioTypeStadiumGenre(s)Sporting eventsCapacity4,000SurfaceGrassOpened1889; 134 years ago (1889)TenantsAtlético del Rosario Plaza Jewell is the name given to Club Atlético del Rosario headquarters and sports ground. It is located in the city of Rosario in Argentina, close to Mariano Moreno bus station and Rosario Norte railway station. Having been op...

 

シャーロッツビル 基本情報建造所 ウォルター・バトラー造船艦歴起工 1943年7月30日進水 1943年6月17日就役 1944年4月10日退役 1945年7月12日その後 海上自衛隊に貸与要目基準排水量 1,430トン常備排水量 2,415トン全長 92.6m最大幅 11.4m吃水 4.1m機関 ボイラー3基 5,500軸馬力タービン2基 2軸推進最大速力 20ノット乗員 170名兵装 50口径3インチ単装緩射砲×3基56口径40mm連装機銃×2基70口...

 

Google搜尋趨勢简体中文版Google搜索解析的用户界面舊版简体中文版Google搜索解析的用户界面语言多國語言持有者Google创始人Google网址http://www.google.com/insights/search/商业性质免費注册否现状線上 Google搜尋趨勢(英語:Google Trends),舊稱Google搜索解析(Google Insights for Search),是Google开发的一款服务[1],该索引显示了与不同语言和地区在Google的搜索查询的频率。 计算方法 ...

Tour Down Under 2016 GénéralitésCourse18e Tour Down UnderCompétitionUCI World Tour 2016 2.UWTÉtapes6Dates19 – 24 janvier 2016Distance781,3 kmPays AustralieLieu de départProspectLieu d'arrivéeAdélaïdeÉquipes20Partants140Arrivants134Vitesse moyenne40,709 km/hSite officielSite officielRésultatsVainqueur Simon Gerrans (Orica-GreenEDGE)Deuxième Richie Porte (BMC Racing Team)Troisième Sergio Henao (Sky)Classement par points Simon Gerrans (Orica-GreenEDGE)Meilleur grimpeur Sergio Hena...

 

Relazioni tra Lituania e Russia Mappa che indica l'ubicazione di Lituania e Russia      Lituania     Russia Le relazioni tra Lituania e Russia sono quelle intrecciate a livello estero dalla Repubblica di Lituania e dalla Federazione Russa. Il Paese baltico conta un'ambasciata a Mosca e alcuni consolati a San Pietroburgo, Kaliningrad e Sovetsk, mentre la Russia ha un'ambasciata a Vilnius e un consolato a Klaipėda. I due paesi co...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!