FireMonkey

advertisement
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
Manufacturing
Financial Services
Telecommunications
•
•
•
•
•
Energy
Aviation & Automotive
BioSciences
Pharmaceuticals
Utilities
User Experience
FireMonkey
UE Richness
VCL
MFC
UE Performance
Business SW
is stuck here
Introducing… FireMonkey!
FireMonkey
•
•
•
•
Rich Application Platform for Business
Native CPU and GPU performance
Built-in Enterprise Database connectivity
Windows, Mac, and iOS
Managed
RIA
FireMonkey is not …
HTML5/CSS3
Game
Engine
FireMonkey is…
App Development Platform
C++Builder
Windows
Delphi
Mac OS
iOS
VCL and FireMonkey
Win Mac
VCL
FM
iOS
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
available
“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
themes
“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
–
–
–
–
RTL
GUI
Database
Operating System
• Compile / Run on all platforms we support *
• * subset for mobile platforms
Fire Monkey - Demos
•
•
•
•
•
Your first FireMonkey App
Windows
Mac OS X
HD / 3D
GPU/Shaders
Summary
• 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 !!!
• Go FIREMONKEY !!!
Download