Cross platform apps and programing languages...how is it done? I always wondered how various certain languages like Java, HTML5 and browser extensions are made with cross platform(operates and functions the same, regardless of OS, being Linux/Windows/BSD not specifically CPU architecture)  compatibility in mind...

Is there a certain developmental process semantic or otherwise that one would have to follow, in order to create such?

Can some one give me the "nitty gritty" of how it's done , how  it works ... i.e. system calls(if any)
First word: consistent API across platforms - when programming on different platforms, the same API is presented to programmers.

Second word: layered architecture - this hides the low level differences under a consistent layer.