Difference between revisions of "Browsers"
(→Websites vs UI's) |
(→What PowerUI can do) |
||
Line 27: | Line 27: | ||
* Widget system | * Widget system | ||
* Context menu's | * Context menu's | ||
+ | * Style scrollbars and carets | ||
* Dialogue system | * Dialogue system | ||
* Easy to localise | * Easy to localise |
Revision as of 04:22, 4 April 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!
Contents
Websites vs UI's
Every now and then, people ask why PowerUI isn't just a wrapper for some existing web engine. Why are we going to the effort of building an entirely new one 'inside' Unity. 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
- Widget system
- Context menu's
- Style scrollbars and carets
- 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!).