download report

Transcript FireMonkey

FireMonkey Deep Dive
The Next Generation
of Business Application Development
Consumer Software Renaissance
Media and graphics Rich user experiences
Intuitive and interactive – easy to learn
Simulated real world physics
Touch and motion interaction
Business/Industry Software Stuck in Past
• 90’s Windows user experiences
• Confined to mouse/keyboard interaction
• Complex to learn - slow to use
Key Markets
ISV’s / Packaged Software
Healthcare / Medical
Financial Services
Aviation & Automotive
User Experience
UE Richness
UE Performance
Business SW
is stuck here
Introducing… FireMonkey!
Rich Application Platform for Business
Native CPU and GPU performance
Built-in Enterprise Database connectivity
Windows, Mac, and iOS
FireMonkey is not …
FireMonkey is…
App Development Platform
Mac OS
VCL and FireMonkey
Win Mac
Native CPU/GPU Application Platform
• Compile natively to Windows, Mac, and iOS
• Application, Database, and Animation are CPU powered
• All UI, Graphics, and Effects are GPU powered
HD Forms
High performance GPU powered Scalable Vector Uis
Maximum resolution on any device
Hundreds of visual UI components
GPU based Style Engine to control UI look & feel
HUDs with transparencies and transition effects
3D Forms
• GPU powered 3D Forms
• Hardware based lighting, textures, and animation
• 3D Forms can contain HD UI elements and effects
Effects & Animation
• 50+ Photoshop-like GPU Effects
• Simultaneous multiple effects without performance hit
• Path based animation for all HD and 3D UI and graphics
FireMonkey Overview
• Cross-platform
• Modern themed/skinned UIs
• Real-time image and animation effects
• Direct2D, D3D, Quartz and OpenGL
• Native Delphi and C++
• 100% Object Pascal Framework
FireMonkey technology
• Mac
• HD use Quartz
• 3D rendering on Mac is OpenGL
• Windows
• Direct2D for HD
• Direct3D for 3D
• FireMonkey use GDI+ for HD vector
forms/controls, when Direct2D is not
“FireMonkey” – HD, 3D, and GPU
• FireMonkey takes advantage of GPU whenever possible
• HD Form can be rendered on a computer without a GPU
with a few restrictions:
– No TViewport3D, No Shader based Filters
• A 3D Form requires a GPU - performs sophisticated
transitions and manipulations of the user interface…
… in other words, a 3D form may be the best choice for
building a sophisticated HD user interface
“FireMonkey” Architecture
• TFmxObject = class(TComponent)
Create, destroy and release object
Cloning, storing and loading object from a stream
Child object manipulations (add, remove, search)
Free notifications
Abstraction layer for tab order
Support for FireMonkey resources
Support for FireMonkey animations
• IControl
– Handles Focus, Mouse and Keyboard events
– Implemented by TControl and TControl3D
“FireMonkey” Architecture
• IRoot
– Interface for top-level containers
– Handles Focused, Captured, Active controls
– Implemented by TCustomForm
• IScene
– Container interface for 2D objects
– Implemented by TForm, TCustomLayer3D
• IViewport3D
– Container interface for 3D objects
– Implemented by TForm3D, TViewport3D
FireMonkey Styles
• FireMonkey Stylebook
Any object inherited from TBaseObject
Set StyleName to identify
Found using FindStyleResource method from parented object
Stored In / Loaded From a stream file
• FireMonkey Styles
A collection of FireMonkey resource style
WPF type of implementation
Styles can be inherited, saved, loaded
Look and Feel style files for Win7, MacOS, iOS and custom
“FireMonkey” – Animation
Used to modify property values over time
Machine speed independent
Can be looped and / or reversed
Can follow a variety of time / value curves
Can be triggered by MouseOver, Focus,
Visibility, etc.
“FireMonkey” – Effects / Filters
• Can be applied to bitmaps
• Can be applied to controls
• Can be triggered by MouseOver, Focus,
Visibility, etc.
• GPU shader based implementation
3D Programming
• One object model to target multiple platforms
• FM uses right-handed orientation in 3D
• Hardware acceleration
– Windows – DirectX
– MacOS – OpenGL
– iOS – OpenGL ES
FireMonkey and Cross Platform
• FM is a platform that supports
Operating System
• Compile / Run on all platforms we support *
• * subset for mobile platforms
Fire Monkey - Demos
Your first FireMonkey App
Mac OS X
HD / 3D
• FireMonkey - The Next Generation Business
Application Platform
• Fully harness the powerful GPU graphics hardware
• Rapidly build visually spectacular applications
• Invest in one platform and deploy to numerous OS-s
• Delphi and C++ compiled, native executable
• Fully programmable animations and effects
• Your imagination is the only limit !!!