Meta tags:
Headings (most frequently used words):
edit, software, cross, platform, navigation, web, applications, and, tools, languages, design, contents, platforms, implementation, programming, challenges, see, also, references, menu, hardware, traditional, video, games, approaches, toolkits, environments, personal, namespaces, views, search, contribute, print, export, in, other, projects, java, testing, binary, scripts, interpreted, play, graceful, degradation, multiple, codebases, single, codebase, third, party, libraries, responsive,
Text of the page (most frequently used words):
and (152), the (139), #platform (121), for (90), cross (70), #software (48), windows (44), web (44), that (43), applications (41), are (39), platforms (36), this (29), with (29), which (29), development (28), linux (28), java (28), edit (27), application (27), code (26), run (25), android (25), can (25), source (24), macos (24), one (22), ios (21), different (20), many (19), such (19), may (18), more (18), microsoft (18), open (18), x86 (18), language (18), example (18), mobile (16), framework (16), all (16), retrieved (15), games (15), used (15), programming (15), also (14), some (14), not (13), from (13), hardware (13), play (13), systems (13), written (13), game (13), languages (12), other (12), browser (12), supports (12), based (11), multiple (11), devices (10), design (10), features (10), binary (10), video (10), native (10), like (10), but (10), common (10), there (10), uses (10), runs (10), unix (10), developers (9), wikipedia (9), use (9), sdk (9), have (9), because (9), built (9), powerpc (9), functionality (9), available (8), using (8), create (8), toolkit (8), including (8), environment (8), into (8), executable (8), apps (8), compiled (8), oss (8), several (8), versions (8), same (8), arm (8), 2020 (7), office (7), popular (7), support (7), testing (7), apple (7), has (7), user (7), see (7), each (7), time (7), they (7), these (7), specific (7), architecture (7), architectures (7), page (6), simple (6), version (6), computing (6), app (6), 2021 (6), libraries (6), multimedia (6), gui (6), multi (6), write (6), desktop (6), another (6), javascript (6), access (6), api (6), firefox (6), where (6), system (6), only (6), script (6), single (6), computer (6), traditional (6), tools (5), org (5), still (5), xamarin (5), independent (5), first (5), raspberry (5), collabora (5), net (5), compatibility (5), widget (5), scripting (5), developing (5), through (5), engine (5), graphics (5), build (5), model (5), console (5), python (5), implemented (5), its (5), than (5), jvm (5), while (5), playstation (5), released (5), computers (5), interpreted (5), codebase (5), client (5), browsers (5), technique (5), view (4), about (4), was (4), cite (4), link (4), file (4), article (4), main (4), navigation (4), cs1 (4), maint (4), url (4), status (4), com (4), online (4), suite (4), new (4), 2014 (4), mono (4), need (4), must (4), often (4), when (4), result (4), ide (4), object (4), responsive (4), rapid (4), library (4), layer (4), level (4), both (4), visual (4), basic (4), provide (4), separate (4), between (4), files (4), third (4), include (4), xbox (4), executables (4), case (4), codebases (4), server (4), running (4), type (4), dos (4), text (3), additional (3), changes (3), here (3), search (3), articles (3), short (3), description (3), news (3), interfaces (3), tablets (3), just (3), 2011 (3), feature (3), wiki (3), openoffice (3), mac (3), technology (3), virtualization (3), list (3), toolkits (3), portability (3), agnostic (3), environments (3), bytecode (3), performance (3), interface (3), conventions (3), developed (3), most (3), though (3), does (3), advanced (3), once (3), challenges (3), x11 (3), low (3), includes (3), set (3), abstraction (3), proprietary (3), allows (3), natively (3), numerous (3), ruby (3), currently (3), bit (3), freebsd (3), designed (3), across (3), components (3), implementation (3), much (3), approach (3), release (3), approaches (3), work (3), edition (3), particular (3), sony (3), others (3), typically (3), range (3), examples (3), wide (3), mostly (3), well (3), generally (3), supported (3), processor (3), bsd (3), users (3), distinction (3), machine (3), requires (3), party (3), graceful (3), degradation (3), gmail (3), operating (3), smartphones (3), contact (2), privacy (2), policy (2), under (2), terms (2), apply (2), wikimedia (2), inc (2), commons (2), license (2), 2022 (2), links (2), english (2), bahasa (2), projects (2), wikidata (2), information (2), special (2), pages (2), upload (2), related (2), what (2), recent (2), help (2), contents (2), read (2), talk (2), personal (2), categories (2), clarification (2), july (2), https (2), php (2), wxwidgets (2), leadtools (2), recognition (2), document (2), medical (2), imaging (2), 2013 (2), quake (2), self (2), solution (2), optimized (2), ipados (2), chromebooks (2), better (2), alternative (2), libreoffice (2), variety (2), update (2), chrome (2), layout (2), maintenance (2), companion (2), services (2), 2012 (2), porting (2), amd64 (2), silicon (2), project (2), website (2), definition (2), ionic (2), sdd (2), sun (2), references (2), frameworks (2), formats (2), penalty (2), techniques (2), compilation (2), always (2), dialog (2), differences (2), subtle (2), working (2), even (2), data (2), loss (2), restricted (2), prohibit (2), denominator (2), bugs (2), problem (2), anywhere (2), oriented (2), xojo (2), makes (2), creates (2), cgi (2), integrated (2), tool (2), unreal (2), webassembly (2), unity (2), programmers (2), etc (2), tcl (2), editor (2), various (2), input (2), aimed (2), high (2), universal (2), react (2), latest (2), tizen (2), building (2), nintendo (2), family (2), controller (2), mendix (2), runtime (2), unmodified (2), compiler (2), creation (2), kivy (2), posix (2), juce (2), godot (2), deployment (2), blackberry (2), representation (2), pascal (2), google (2), flutter (2), itself (2), codename (2), cairo (2), free (2), methods (2), final (2), implementing (2), ease (2), plugins (2), xul (2), css (2), ways (2), might (2), macintosh (2), writing (2), minecraft (2), 360 (2), gamers (2), allow (2), could (2), consoles (2), disney (2), few (2), gaming (2), themselves (2), been (2), term (2), series (2), dynamic (2), administration (2), easy (2), instead (2), commonly (2), stored (2), considered (2), will (2), little (2), modification (2), scripts (2), distributions (2), openbsd (2), without (2), intel (2), distributed (2), calls (2), called (2), especially (2), installation (2), test (2), similar (2), effort (2), blocks (2), conditional (2), needed (2), separation (2), execute (2), limited (2), mode (2), now (2), depend (2), any (2), standard (2), embedded (2), disk (2), network (2), appropriate (2), cpu (2), amigaos (2), m68k (2), sparc (2), known (2), tablet (2), either (2), combination (2), refer (2), two (2), redirects (2), television (2), interchange (2), jump (2), sep (2), cookie, statement, statistics, disclaimers, site, you, agree, registered, trademark, non, profit, organization, foundation, creative, attribution, sharealike, last, edited, september, utc, tiếng, việt, اردو, українська, türkçe, ไทย, தமிழ், svenska, suomi, کوردی, slovenčina, shqip, русский, română, português, polski, norsk, bokmål, 日本語, nederlands, မြန်မာဘာသာ, melayu, മലയാളം, magyar, lëtzebuergesch, latviešu, jawa, עברית, italiano, indonesia, hrvatski, 한국어, galego, français, فارسی, euskara, esperanto, español, ελληνικά, deutsch, dansk, čeština, català, български, беларуская, azərbaycanca, asturianu, العربية, afrikaans, printable, download, pdf, print, export, item, permanent, community, portal, learn, contribute, donate, random, current, events, history, views, namespaces, log, account, contributions, logged, menu, hidden, needing, 2018, matches, interoperability, index, title, platform_software, oldid, 1110451382, warren, tom, verge, bids, farewell, millions, pcs, mar, 2019, headworks, benefits, www, archived, 2008, 2009, original, faq, cribba, february, giant, bombcast, iii, arena, viable, hosted, muylinux, nextcloud, ubuntu, appliance, adds, image, touch, phone, screens, adfinis, got, mehrotra, pranob, year, major, brought, xda, gets, choudhary, 642, 645, 1903037, s2cid, 9781450327688, isbn, 1145, 2591062, 2591097, doi, proceedings, 36th, international, conference, engineering, icse, corti, sascha, october, january, msdn, magazine, detection, em64t, apache, newsroom, announces, transition, 2015, around, market, share, march, marketshare, groovy, lee, richardson, 2016, shootout, blog, guidelines, glossary, comparison, messaging, transcompiler, binding, execution, suffer, security, flaws, creating, fertile, malware, require, package, installers, address, installanywhere, msi, rpm, translated, imposing, alleviated, computational, overhead, unavoidable, accommodate, supposed, place, important, button, right, hand, side, window, whereas, opposite, convention, conform, feel, clunky, alien, quickly, opposing, confirming, whether, save, discard, box, kde, gnome, subset, hinder, lowest, considerably, complicated, since, exhibit, slightly, behaviors, led, deride, debug, everywhere, take, marketing, slogan, microsystems, rad, standalone, servers, recently, added, ability, browers, business, industrial, windev, hybrid, wavemaker, created, within, creator, uno, focused, productivity, sql, ultimate, wysiwyg, smartface, over, sound, apis, directmedia, provides, audio, fast, licenses, tvos, watch, webos, osx, kaios, renative, purebasic, switch, pixel, maker, opengl, typescript, mozilla, mosync, pattern, monocross, cloud, encapsulates, max, msp, freepascal, standing, graphical, macosx, wince, lazarus, commercial, inspired, hypertalk, livecode, integrate, technologies, change, haxe, gtk, dialect, generates, compilers, exotic, handhelds, glbasic, supporting, smart, foxpro, rpg, objective, cobol, knowledge, genexus, completely, fpgui, lightweight, restricts, fltk, configurable, add, ons, eclipse, emscripten, binaryen, ecere, delphi, wora, kotlin, cocos2d, vector, device, primitives, dimensional, drawing, number, backends, bindings, boden, workflow, enterprise, containers, present, html5, thus, facilitating, appeariq, works, indian, their, keyboards, appwallet, anant, utilizes, 8th, process, mix, lower, subtrees, implements, extending, addition, classic, style, netscape, hides, insulates, way, words, straightforward, compared, cost, pay, larger, team, products, slowly, tracked, fixed, nix, foss, trees, practice, deliberately, together, editions, pocket, fable, fortune, paragon, killer, instinct, street, fighter, fantasy, xiv, rocket, league, possess, leaving, decision, consumers, interactivity, valve, epic, psyonix, licensing, agreements, manufacturers, limit, intention, should, required, solely, indefinitely, harder, offset, then, later, happens, acquaint, wii, nhl, fifa, tomb, raider, legend, miner, 2049er, suitable, networking, aims, rails, focuses, efficiency, 1987, small, tasks, perl, modern, via, cygwin, shell, bash, unlike, interpret, trivial, issues, line, character, plain, facilities, likely, indeed, implementations, goes, ironpython, interpreter, armel, armhf, arm64, mips, mipsel, ppc64el, s390x, nettbsd, binaries, previous, generation, macs, cpus, ibm, power, powervm, lx86, rosetta, toolsets, enough, already, modified, potentially, merged, port, toolset, translates, transcompiles, four, although, come, largely, rare, cases, combined, fat, were, means, very, bloated, never, executes, selection, becoming, increasingly, rely, clear, overlap, blur, nevertheless, simplifying, useful, generalization, tests, scripted, covers, tested, target, them, substantial, manual, sometimes, workaround, full, integration, rwd, crafting, sites, optimal, viewing, experience, reading, minimum, resizing, panning, scrolling, phones, monitors, attempt, simplify, capability, hiding, complexities, differentiation, behind, unified, expense, vendor, lock, strategy, relies, having, repeated, relevant, certain, made, disables, delivering, complete, query, conditionally, concerns, maintained, distinct, equivalent, maintain, worthwhile, amount, attempts, diminishing, least, attempting, notice, switches, reduced, dependent, upper, lowermost, layers, layered, competing, interests, strategies, emerged, prominent, live, service, routinely, found, older, lack, rich, svg, html, ajax, bing, maps, perform, processing, pass, interaction, consists, exchanges, requests, responses, norm, early, phases, follow, identical, serving, today, relatively, simplicity, deemed, critical, static, transaction, world, stateless, described, ideally, accessible, employ, vary, widely, complexity, hard, reconcile, desire, automatically, 2006, did, processors, standards, ported, mean, function, consuming, task, subsets, resource, constrained, micro, card, real, privileges, granted, behalf, lets, decide, protection, depending, usually, enabled, jni, functions, applets, acl, part, enables, implement, executed, ecomstation, freedos, netbsdnet, mint, atari, tos, morphos, aros, minor, historical, vita, symbianos, solaris, below, above, less, compatible, variant, previously, novell, cli, infrastructure, exception, newer, variants, machines, netbsd, instruction, however, types, virtual, phonegap, nativescript, directly, preparation, being, portable, packages, interpreters, storytelling, railway, station, redirected, encyclopedia, wayback, http, archive, 20221006144046, timestamps, capture, fail, success, 2023, nov, oct, apr, 2004, 2026, 130, captures,
Text of the page (random words):
design 2 1 2 testing 2 2 traditional applications 2 2 1 binary software 2 2 2 scripts and interpreted languages 2 3 video games 2 3 1 cross platform play 3 programming 3 1 approaches 3 2 toolkits and environments 4 challenges 5 see also 6 references platforms edit main article computing platform platform can refer to the type of processor cpu or other hardware on which an operating system os or application runs the type of os or a combination of the two 4 an example of a common platform is the microsoft windows os running on the x86 architecture other well known desktop platforms are linux unix and macos both of which are themselves cross platform 4 there are however many devices such as smartphones that are also platforms applications can be written to depend on the features of a particular platform either the hardware os or virtual machine vm it runs on for example the java platform is a common vm platform which runs on many oss and hardware types 5 hardware edit a hardware platform can refer to an instruction set architecture for example x86 architecture and its variants such as ia 32 and x86 64 these machines often run one version of microsoft windows 6 though they can run other oss including linux openbsd netbsd macos and freebsd the 32 bit arm architectures and newer 64 bit version is common on smartphones and tablet computers which run android ios and other mobile operating systems software edit a software platform can be either an os or programming environment though more commonly it is a combination of both an exception is java which uses an os independent vm to execute java bytecode examples of software platforms are blackberry 10 android for smartphones and tablet computers x86 arm ios arm microsoft windows x86 arm microsoft s common language infrastructure cli also known as net framework cross platform variant mono previously by novell and now by xamarin 7 java web browsers more or less compatible with each other running javascript web apps linux x86 powerpc arm and other architectures macos x86 powerpc on 10 5 and below and arm 8 on apple silicon or 11 0 and above mendix solaris sparc x86 symbianos sparc playstation 4 x86 playstation 3 powerpc and playstation vita arm unix xbox minor historical amigaos m68k amigaos 4 powerpc aros x86 powerpc m68k morphos powerpc atari tos mint bsd many platforms see netbsdnet clarification needed for example dos type systems on the x86 ms dos pc dos dr dos freedos os 2 ecomstation java edit main article java software platform the java language is typically compiled to run on a vm that is part of the java platform the java vm jvm is a cpu implemented in software which runs all java code this enables the same code to run on all systems that implement a jvm java software can be executed by a hardware based java processor this is used mostly in embedded systems java code running in the jvm has access to os related services like disk i o and network access if the appropriate privileges are granted the jvm makes the system calls on behalf of the java application this lets users to decide the appropriate protection level depending on an acl for example disk and network access is usually enabled for desktop applications but not for browser based applets the java native interface jni can also be used to access os specific functions with a loss of portability currently java standard edition software can run on microsoft windows macos several unix like oss and several real time operating systems for embedded devices for mobile applications browser plugins are used for windows and mac based devices and android has built in support for java there are also subsets of java such as java card or java platform micro edition designed for resource constrained devices implementation edit for software to be considered cross platform it must function on more than one computer architecture or os developing such software can be a time consuming task because different oss have different application programming interfaces api for example linux uses a different api from windows software written for one os may not automatically work on all architectures that os supports one example is openoffice org which in 2006 did not natively run on amd64 or intel 64 processors implementing the x86 64 standards by 2012 it was mostly ported to these systems 9 just because software is written in a popular programming language such as c or c it does not mean it will run on all oss that support that language or even on different versions of the same os web applications edit web applications are typically described as cross platform because ideally they are accessible from any web browser the browser is the platform web applications generally employ a client server model but vary widely in complexity and functionality it can be hard to reconcile the desire for features with the need for compatibility basic web applications perform all or most processing from a stateless server and pass the result to the client web browser all user interaction with the application consists of simple exchanges of data requests and server responses this type of application was the norm in the early phases of world wide web application development such applications follow a simple transaction model identical to that of serving static web pages today they are still relatively common especially where cross platform compatibility and simplicity are deemed more critical than advanced functionality prominent examples of advanced web applications include the web interface to gmail a9 com google maps website and the live search service now bing from microsoft such applications routinely depend on additional features found only in the more recent versions of popular web browsers these features include ajax javascript dynamic html svg and other components of rich web applications older versions often lack these design edit because of the competing interests of compatibility and functionality numerous design strategies have emerged many software systems use a layered architecture where platform dependent code is restricted to the upper and lowermost layers graceful degradation edit graceful degradation attempts to provide the same or similar functionality to all users and platforms while diminishing that functionality to a least common denominator for more limited client browsers for example a user attempting to use a limited feature browser to access gmail may notice that gmail switches to basic mode with reduced functionality but still of use multiple codebases edit some software is maintained in distinct codebases for different hardware and os platforms with equivalent functionality this requires more effort to maintain the code but can be worthwhile where the amount of platform specific code is high single codebase edit this strategy relies on having one codebase that may be compiled to multiple platform specific formats one technique is conditional compilation with this technique code that is common to all platforms is not repeated blocks of code that are only relevant to certain platforms are made conditional so that they are only interpreted or compiled when needed another technique is separation of functionality which disables functionality not supported by browsers or oss while still delivering a complete application to the user see also separation of concerns this technique is used in web development where interpreted code as in scripting languages can query the platform it is running on to execute different blocks conditionally 10 third party libraries edit third party libraries attempt to simplify cross platform capability by hiding the complexities of client differentiation behind a single unified api at the expense of vendor lock in responsive web design edit responsive web design rwd is a web design approach aimed at crafting the visual layout of sites to provide an optimal viewing experience easy reading and navigation with a minimum of resizing panning and scrolling across a wide range of devices from mobile phones to desktop computer monitors little or no platform specific code is used with this technique testing edit cross platform applications need much more integration testing some web browsers prohibit installation of different versions on the same machine there are several approaches used to target multiple platforms but all of them result in software that requires substantial manual effort for testing and maintenance 11 techniques such as full virtualization are sometimes used as a workaround for this problem tools such as the page object model allow cross platform tests to be scripted so that one test case covers multiple versions of an app if different versions have similar user interfaces all can be tested with one test case traditional applications edit web applications are becoming increasingly popular but many computer users still use traditional application software which does not rely on a client web server architecture the distinction between traditional and web applications is not always clear features installation methods and architectures for web and traditional applications overlap and blur the distinction nevertheless this simplifying distinction is a common and useful generalization binary software edit traditional application software has been distributed as binary files especially executable files executables only support platform they were built for which means that a single cross platform executable could be very bloated with code that never executes on a particular platform instead generally there is a selection of executables each built for one platform for software that is distributed as a binary executable such as that written in c or c there must be a software build for each platform using a toolset that translates transcompiles a single codebase into multiple binary executables for example firefox an open source web browser is available on windows macos both powerpc and x86 through what apple inc calls a universal binary linux and bsd on multiple computer architectures the four platforms in this case windows macos linux and bsd are separate executable distributions although they come largely from the same source code in rare cases executable code built for several platforms is combined into a single executable file called a fat binary the use of different toolsets may not be enough to build a working executables for different platforms in this case programmers must port the source code to the new platform for example an application such as firefox which already runs on windows on the x86 family can be modified and re built to run on linux on the x86 and potentially other architectures as well the multiple versions of the code may be stored as separate codebases or merged into one codebase an alternative to porting is cross platform virtualization where applications compiled for one platform can run on another without modification of the source code or binaries as an example apple s rosetta which is built into intel based macintosh computers runs applications compiled for the previous generation of macs that used powerpc cpus another example is ibm powervm lx86 which allows linux x86 applications to run unmodified on the linux power os example of cross platform binary software the libreoffice office suite is built for microsoft windows macos many linux distributions freebsd nettbsd openbsd android ios ipados chrome os web based collabora online and many others 12 13 many of these are supported on several hardware platforms with processor architectures including ia 32 x86 64 arm armel armhf arm64 mips mipsel powerpc ppc64el and s390x 9 14 scripts and interpreted languages edit a script can be considered to be cross platform if its interpreter is available on multiple platforms and the script only uses the facilities built into the language for example a script written in python for a unix like system will likely run with little or no modification on windows because python also runs on windows indeed there are many implementations e g ironpython for net framework the same goes for many of the open source scripting languages unlike binary executable files the same script can be used on all computers that have software to interpret the script this is because the script is generally stored in plain text in a text file there may be some trivial issues such as the representation of a new line character some popular cross platform scripting languages are bash a unix shell commonly run on linux and other modern unix like systems as well as on windows via the cygwin posix compatibility layer perl first released in 1987 used for cgi programming small system administration tasks and more php mostly used for web applications python a language which focuses on rapid application development and ease of writing instead of run time efficiency ruby an object oriented language which aims to be easy to read can also be used on the web through ruby on rails tcl a dynamic programming language suitable for a wide range of uses including web and desktop applications networking administration testing and many more video games edit cross platform or multi platform is a term that can also apply to video games released on a range of video game consoles examples of cross platform games include miner 2049er tomb raider legend fifa series nhl series and minecraft each has been released across a variety of gaming platforms such as the wii playstation 3 xbox 360 personal computers and mobile devices some platforms are harder to write for than others to offset this a video game may be released on a few platforms first then later on others typically this happens when a new gaming system is released because video game developers need to acquaint themselves with its hardware and software some games may not be cross platform because of licensing agreements between developers and video game console manufacturers that limit development to one particular console as an example disney could create a game with the intention of release on the latest nintendo and sony game consoles should disney license the game with sony first it may be required to release the game solely on sony s console for a short time or indefinitely cross platform play edit main articles cross platform play and list of video games that support cross platform play several developers have implemented ways to play games online while using different platforms psyonix epic games microsoft and valve all possess technology that allows xbox 360 and playstation 3 gamers to play with pc gamers leaving the decision of which platform to use to consumers the first game to allow this level of interactivity between pc and console games was quake 3 15 games that feature cross platform online play include rocket league final fantasy xiv street fighter v killer instinct paragon and fable fortune and minecraft with its better together update on windows 10 vr editions pocket edition an...
|