Čo je cross platform development - vysvetlenie pojmu | Coderama
Remote / Rotácie na projektoch / Refferal bonus 2000€ / Work&Travel.
Získaj odhad platu

Vieme, že ak si najlepší, môžeš pracovať pre kohokoľvek.

Preto ti ponúkame okrem skvelých BENEFITOV aj adekvátne platové ohodnotenie. Vyplň náš dotazník a my ti na základe tvojich skúseností vypracujeme odhad tvojej budúcej výplaty v CODERAMA.

Napíšte nám:

Späť
Cross platform development

Cross platform development

Cross-platform development je spôsob vývoja softvérových produktov a služieb tak, aby dokázali bežať na viacerých platformách alebo prostrediach.

Myšlienkou cross-platform developmentu je zabezpečenie toho, aby aplikácia plnohodnotne fungovala vo viacerých prostrediach, či už ide o rôzne platformy ako PC a mobilné telefóny (ak chceme aplikáciu používať na desktope alebo na smartfóne), alebo viacero operačných systémov (napríklad ak chceme, aby aplikácia fungovala rovnako na Windowse a Linuxe). Motiváciou je zvyčajne to, aby mohol byť produkt predávaný viacerým používateľom používajúcim rôzne typy zariadení.

Niektoré zo základných stratégií pre cross-platform development zahŕňajú kompiláciu rôznych verzií tej istej aplikácie pre rôzne operačné systémy, alebo vymedzenie častí alebo modulov aplikácie a ich prispôsobenie konkrétnemu operačnému systému. Ďalším možným prístupom je urobiť aplikáciu abstraktnejšou, a použitie inej aplikácie pre komunikáciu s operačným systémom (napríklad webové aplikácie sú abstraktné v tom, že komunikujú s webovými prehliadačmi a nie s operačným systémom, to má na starosti až prehliadač). Takýto sotfvér sa označuje v angličtine ako „platform agnostic“, teda že neuprednostňuje jednu platformu pred ostatnými.

Ak chceme mať aplikáciu cross-platformovú, znamená to že bude menej efektívna. Každá abstrakcia totiž znamená zvýšenie hardvérových nárokov, hoci dnes už bežný používateľ rozdiel skoro vôbec nevidí. Navyše z hľadiska biznisu výhody ktoré cross platform development prináša (väčší dosah aplikácie a tým väčšie zisky) ďaleko prevyšujú jeho nevýhody.

Existuje niekoľko prístupov k cross-platform vývoju:

  1. Hybridné aplikácie: Hybridné aplikácie sú vytvorené pomocou kombinácie webových technológii (HTML, CSS, JavaScript) a platformovo špecifických nástrojov. Tieto aplikácie môžu byť zabalené do kontajnera, ktorý umožňuje spustenie na rôznych platformách. Frameworky ako Apache Cordova (predtým PhoneGap) a Ionic umožňujú vývoj hybridných aplikácií.
  2. Multiplatformové frameworky: Multiplatformové frameworky umožňujú vývoj aplikácií pomocou jedného kódu, ktorý môže byť nasadený na viacerých platformách. Príklady takýchto frameworkov sú React Native, Xamarin a Flutter. Tieto frameworky poskytujú sadu nástrojov a komponentov, ktoré umožňujú vývojárom písať kód raz a nasadiť ho na rôznych platformách.
  3. Nízkoúrovňové jazyky: V niektorých prípadoch je možné použiť nízkoúrovňové programovacie jazyky, ako je C++ a ich frameworky, na vývoj aplikácií, ktoré môžu byť prenesené na rôzne platformy. Tieto jazyky umožňujú prístup k natívnym rozhraniam jednotlivých platforiem, čo poskytuje vyššiu flexibilitu pri vývoji.

Výhody cross-platform vývoja zahŕňajú:

  • Jednoduchšie správa kódu: Vývojári môžu písať a spravovať jediný kód pre viaceré platformy, čo zjednodušuje údržbu a aktualizáciu aplikácie.
  • Nižšie náklady na vývoj: Vývoj jednej aplikácie, ktorá je nasaditeľná na viacerých platformách, môže byť efektívnejší a lacnejší ako vývoj samostatných aplikácií pre každú platformu.
  • Rýchlejšie nasadenie a aktualizácie: Cross-platform riešenia môžu umožniť rýchlejšie nasadenie aplikácie na viaceré platformy s menším úsilím.
  • Väčší dosah a používateľská základňa: Vytvorením aplikácie pre viacero platformách je možné získať širšiu používateľskú základňu a zvýšiť dosah aplikácie.

Je dôležité si všimnúť, že cross-platform vývoj nemusí byť vždy najvhodnejším riešením pre všetky typy aplikácií. V niektorých prípadoch môže byť natívny vývoj pre konkrétnu platformu lepšou voľbou, ak je dôležitá vysoká optimalizácia, prístup k špecifickým funkciám platformy alebo maximálna výkonosť aplikácie.