Difference between revisions of "Browsers"

From PowerUI
Jump to: navigation, search
(What PowerUI can do)
Line 31: Line 31:
 
* Extremely customisable - design a new html element etc
 
* Extremely customisable - design a new html element etc
 
* Particle systems and camera's on your UI
 
* Particle systems and camera's on your UI
 +
* Use any part of the engine anywhere (It's all C# after all!). GIF's/ SVG's on meshes, or on other UI frameworks, for example.
 
* Lots more!
 
* Lots more!
  

Revision as of 21:05, 15 March 2017

PowerUI is not a web browser - it's a UI framework. PowerUI isn't simply a wrapper for Chrome - it's been built from scratch and it's now rapidly becoming the newest web engine in nearly 15 years. Standing at nearly 300,000 lines of code, PowerUI is a massive toolbox for all your UI needs. As it's also based on widely used standard technology, getting started with it is as simple as it gets!

Websites vs UI's

Every now and then, people ask why PowerUI isn't just a wrapper for some existing web engine. It's because websites and user interfaces have extremely different requirements. Consider this:

A browser must..

  • Load a website as fast as possible
  • Display very static websites; load time is more important than runtime performance
  • Be extremely secure

A UI must..

  • Tightly integrate with your code and the engine (opposite of secure!)
  • Be very dynamic - UI's are not static at all and can acceptably spend more time loading (opposite of the loading focus of a browser!)
  • Be easy to extend in order to represent as many UI concepts as possible
  • Not have awkward platform barriers

What PowerUI can do

PowerUI focuses on the goals of a UI framework. As a result it can:

  • Just work (and be exactly the same) on any platform
  • Advanced text formatting (like knockout text)
  • Shading/ Lighting
  • 3D text
  • Window system
  • Context menu's
  • Dialogue system
  • Easy to localise
  • Extremely customisable - design a new html element etc
  • Particle systems and camera's on your UI
  • Use any part of the engine anywhere (It's all C# after all!). GIF's/ SVG's on meshes, or on other UI frameworks, for example.
  • Lots more!

Many of these things are difficult or simply impossible for an embedded browser.

So can I use it like a browser?

Sort of, but that's not what it's designed for. PowerUI has extremely broad coverage of web technologies, but these things currently limit it from being a general purpose browser:

  • Stacking contexts aren't supported (for runtime performance reasons). This will make some elements on the web stack in strange orders.
  • Flexbox/ grid aren't supported yet.
  • JavaScript - Due to limitations on iOS and many consoles, PowerUI has a custom variant of JS called Nitro (but not for long! We've been working on a new JS engine which gets around the limitations and has suitable compliance).

Currently, these things are all being worked on - PowerUI compiles in under 10 seconds, so we can iterate on new features much, much faster than any conventional browser can (and we don't have the weight of a massive userbase limiting awesome new features either!).