Blends of native and global

It’s not as simple today as it was when applications were developed for Windows, sometimes considering a Mac port, and wondering how Linux could recoup development costs. Now we have not only different form-factors (big multiscreen desktops, little pocket phones, in-between tablets and looming TVs) but we’re split on mobile between Apple OS, Google OS, Microsoft OS and other options. Fragmentation is big.

Some say the choices are “web apps vs native apps”. Some of the more enlightened also mention bridging technologies (AIR or other cross-device frameworks/compilers/runtimes). I don’t think it’s so cut-and-dried as “completely global” versus “completely native”.

For direct OS coding, unless you’re planning to deliver to only one brand of device, you’re going to divide up the work with both portable and native aspects… you’re going to make it easy to port to other environments later. You’ve got your core data structure, media assets and business logic, and then will handle specific devices in a separate layer.

Same when using the browser as your runtime, although inverted… here the instructions are mostly portable, but you’ll still have to build switches for slightly different runtime behaviors, or very different permitted services. The great variance in mobile HTML/JS/CSS performance pushes its promise of full-functioned cross-device compatibility off into the hazy future… you’ll have to handle the edge-cases.

That’s what I think it’s not “all native” or “all universal”. There’s always a blend between portable aspects and idiosyncratic aspects. People who argue polarities may not provide the best investment in listening time.

(Adobe’s role? To make it easier for creators to reach their audiences, however they choose to do so. Adobe tooling is used in even Microsoft-only development or Apple-only native-code development… used in most every webpage in the world… and Adobe also creates great runtimes for those seeking a more portable codebase with lower testing and support costs. Adobe supports varying blends of native and global — your choice.)