Кросс-платформа ( кросс-платформа ) - қобилияти нармафзор барои кор бо платформаҳои сахтафзор ё системаҳои оператсионӣ . Тавассути истифодаи забонҳои барномасозии сатҳи баланд, муҳитҳои таҳия ва вақти корӣ, ки тартиб додани шартӣ, пайвастшавӣ ва иҷрои кодро барои платформаҳои гуногун дастгирӣ мекунанд, фаъол карда шудааст. Намунаи маъмулӣ нармафзорест, ки барои ҳамзамон дар системаҳои оператсионии Linux ва Windows кор кардан пешбинӣ шудааст.

Свинг дар ҳама OS якхела менамояд.
Mozilla Firefox, ки XUL -ро истифода мебарад, тирезаҳоро дар услуби ОС (дар ин ҳолат, Linux ) услуб мекунад.

Пайвандҳо

вироиш

Аксари забонҳои барномасозии сатҳи баландро метавон кросс-платформа номид. Масалан, C, C++, Free Pascal, FreeBASIC, PureBasic забонҳои байниплатформавӣ дар сатҳи компиляция мебошанд, яъне барои ин забонҳо компиляторҳо барои платформаҳои гуногун мавҷуданд. Ин имкон медиҳад, ки - бо сифати дурусти код - муҳаррики асосии барнома аз нав навишта нашавад, танҳо қисмҳои махсуси аз система вобастагӣ иваз карда мешаванд.

Барои фаъолияти кросс-платформаҳо китобхонаҳои стандартии вақти корӣ низ муҳиманд. Аз ҷумла, китобхонаи забони C ( POSIX ) ба стандарт табдил ёфт. Дар байни китобхонаҳои калони кросс-платформа - Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL .

Кросс-компиляторҳо мавҷуданд - компиляторҳо, ки рамзи иҷрошавандаро барои платформаи дигаре, ки дар он худи компилятор кор мекунад, тавлид мекунанд.

Вақтҳои иҷроиши кросс-платформа

вироиш

PHP, Perl, Python, Tcl ва Ruby забонҳои байниплатформавӣ тафсиршавандаанд ва тарҷумонҳои онҳо барои бисёр платформаҳо мавҷуданд.

Муҳитҳои корӣ ActionScript Мошини виртуалӣ, Java Virtual Machine ва . NET низ кросс-платформа мебошанд, аммо вуруди онҳо на рамзи сарчашма, балки рамзи фосилавӣ мебошад. Аз ин рӯ, барномаҳоеро, ки дар ActionScript, Java ва C# навишта шудаанд, метавонанд дар зери системаҳои гуногуни амалиётӣ бидуни такрори пешакӣ иҷро шаванд.

Интерфейси корбари кросс-платформа

вироиш

Дар системаҳои оператсионӣ ва муҳитҳои гуногун - новобаста аз он ки онҳо аз ҷиҳати техникӣ пешрафтаанд - унсурҳои интерфейси стандартӣ андозаҳои гуногун доранд. Аз ин рӯ, ҷойгиркунии оддии қатъии унсурҳои интерфейс ғайриимкон аст - дар дигар системаи амалиётӣ (муҳит) онҳо метавонанд ҳамдигарро «ҳамдигар» кунанд, «норавшан», «маст шаванд». Якчанд равиш вуҷуд дорад:

  1. Услуби ягона барои ҳама системаҳои оператсионӣ маъмул аст; барномаҳо дар ҳама системаҳо якхелаанд. Ҳамин тавр китобхонаҳои пешрафтаи Java ба монанди Swing кор мекунанд.
    • Плюс: шумо метавонед назоратҳоро бо услуби Delphi, услуби аслӣ ба таври қатъӣ тартиб диҳед.
    • Камбудӣ: система бояд шрифтҳои экрани худро дошта бошад ва услуб аз услуби ОС фарқ мекунад.
  2. Интерфейси худидоракунӣ, ки шабакаро ба андозаи воқеии идоракунӣ танзим мекунад. Намунаҳои маъмулӣ Qt, wxWidgets, XUL мебошанд.
    • Плюс: услуби стандартии системаи амалиётӣ, хеле зуд ва мувофиқ бо Windows XP, Vista ва Windows 7 ва баъзе автоматикунонии маҳаллисозӣ .
    • Камбудӣ: Барои васл кардани шабакаи худидорашаванда (мутобиқшаванда), як барномасози бомаҳорат лозим аст ва тарҳбандии зич низ душвор аст.
  3. Равиши гибридӣ дар GTK+ амалӣ карда мешавад.
    • Плюс: шрифтҳоро аз система гирифтан мумкин аст, на аз худатон кашола кардан, инчунин баъзе автоматикунонии маҳаллисозӣ.
    • Камбудӣ: ҳамаи камбудиҳои ду равиши аввалро мегирад. Услуб аз услуби системаи оператсионӣ фарқ мекунад ва тарҳбандии зиччиро душвор мегардонад.

Дар ҳар сурат, ҳадди аққал санҷиши ҳадди аққал дар дигар системаҳо ва муҳитҳои оператсионӣ талаб карда мешавад, зеро хатогиҳои пайвастшавӣ метавонанд рух диҳанд.

Забонҳои барномасозии кросс-платформа

вироиш

Ҳатто сарфи назар аз стандартизатсияи умумии сахтафзор ва нармафзор, барномасоз аксар вақт маҷбур мешавад, ки филиалҳо барои системаҳои оператсионӣ ва муҳитҳои гуногун, аз ҷумла ин ё он тавассути тартибдиҳии шартӣ таъсис диҳад.

Масалан, браузери Mozilla Firefox дорои маҷмӯи гуногуни нишонаҳо барои системаҳои гуногуни амалиётӣ мебошад.

Барномаҳои амалӣ

вироиш

Шумораи зиёди барномаҳои барномавӣ низ кросс-платформа мебошанд. Ин сифат махсусан дар барномаҳое, ки аслан барои системаҳои оператсионии ба Unix монанд таҳия шудаанд, зоҳир мешавад. Шарти муҳими интиқоли онҳо ба платформаҳои дигар ин мутобиқати платформаҳо бо тавсияҳои POSIX ва инчунин мавҷудияти компилятори GCC барои платформае мебошад, ки ба он порт анҷом дода мешавад.

Системаҳои оператсионии муосир низ аксар вақт кросс-платформа мебошанд. Масалан, системаҳои оператсионии кушодаасос (махсусан: NetBSD, Linux, FreeBSD, AROS ) метавонанд дар якчанд платформаҳои сахтафзори гуногун кор кунанд. Аксар вақт инҳоянд: x86, m68k, PowerPC, Alpha, AMD64, SPARC . (“ Elbrus OS ” ҷуз як версияи амиқ тағйирёфтаи платформаи Elbrus чизе нест. Аммо “Elbrus OS” барои платформаҳои Elbrus-SPARC низ мавҷуд аст, ки татбиқи платформаи SPARC аз MCST ва платформаи x86 мебошад. ) Нашри аввалини Microsoft Windows NT 4, ки соли 1996 бароварда шуд, чор платформаро (x86, Alpha, MIPS ва PowerPC) дастгирӣ мекард, дар версияҳои минбаъдаи Windows NT танҳо дастгирии платформаи x86 боқӣ монд. Windows муосири Microsoft Windows метавонад ҳам дар платформаҳои Intel x86 ва ҳам Intel Itanium кор кунад. (Аниқтараш, барои Itanium танҳо версияҳои Windows 2000/XP, Windows 2003 ва Windows 2008 вуҷуд доранд, ки пас аз он дастгирии Itanium қатъ карда шуд.) Системаи оператсионии NetBSD бисёрплатформатарин ба ҳисоб меравад [1] - он интиқол дода шудааст. ба аксари платформаҳои мавҷуда.

Муҳити рушд

вироиш

Як қатор IDE-ҳо, аз ҷумла Free Pascal, Lazarus, Qt Creator, дар системаҳои гуногуни амалиётӣ кор мекунанд: Linux, Windows ва дигарон [2] .

Тартиби шартӣ

вироиш

Агар барнома барои иҷрои (кор кардан) дар платформаи мушаххас пешбинӣ нашуда бошад, аммо барои ин платформа эмулятори платформа мавҷуд аст, ки барои ин барнома асос ёфтааст, он гоҳ барномаро дар муҳити эмулятор иҷро кардан мумкин аст.

Одатан, иҷрои барнома дар муҳити эмулятор дар муқоиса бо барномаҳои шабеҳе, ки платформа асоси онҳост, боиси паст шудани кор мегардад, зеро қисми зиёди захираҳои система барои иҷрои вазифаҳои эмулятор сарф мешавад.

Қайдҳо

вироиш
  1. Portability and supported hardware platforms(англ.). netbsd.org(пайванди дастнорас — таърих). 31 октябри 2021 санҷида шуд. Баргирифта аз сарчашмаи аввал 22 Декабри 2021.
  2. IDE Lazarus и Free Pascal(пайванди дастнорас — таърих). 8 Декабри 2013 санҷида шуд. Баргирифта аз сарчашмаи аввал 26 ноябри 2013.

Пайвандҳо

вироиш