Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie...
Transcript of Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie...
Nadchooooodzi… FireMooooooooonkey!
FireMonkey
Platforma do tworzenia aplikacji następnej generacji:
Efektywne i efektowne wykorzystanie możliwości CPU i GPU
Wbudowana obsługa baz danych, aplikacji wielowarstwowych i protokołów internetowych
Jeden kod – wiele systemów: Windows, Mac i iOS
User Experience
VCL
MFC
UE Performance
UE
Ric
hn
ess
Oprogramowanie biznesowe
dzisiaj
FireMonkey
FireMonkey nie jest…
Zarządzalne RIA
HTML5/CSS3 Silnikiem dla gier
VCL & FireMonkey
Win Mac iOS
VCL
FM
Wieloplatformowośd FireMonkey
Demonstracja
Aplikacje obsługiwane natywnie przez CPU/GPU
• Kompilacja natywna do Windows, Mac i iOS
• Aplikacje, obsługa baz danych i komunikacja oparte o CPU
• Cały UI, grafika i efekty oparte o GPU
Skalowalny, wektorowy UI oparty o możliwości GPU
Setki wizualnych komponentów UI
Synergia z wykorzystania CPU i GPU
Efekty przejśd i przezroczystości uzyskane za pomocą technologii HUD
Obiekty HD
Obiekty 3D
• Obiekty 3D oparte o GPU
• Światła, tekstury i animacje oparte o sprzęt (Hardware)
• Obiekty 3D mogą zawierad obiekty HD, elementy UI oraz ich efekty
Efekty & Animacje
• Ponad 50 efektów graficznych znanych z Photoshop-a
• Równoczesne animacje i efekty z zachowaniem wysokiej wydajności
• Animacje dostępne dla obiektów HD i 3D
Komponenty FireMonkey
Animacje HD
Grafika 3D
Demonstracja
FireMonkey Overview
Wieloplatformowe
Nowoczesne tematy/skórki w UI
Efekty animacji w czasie rzeczywistym
Natywne Delphi i C++
100% Object Pascal Framework
Technologie Direct2D, D3D, Quartz i OpenGL
FireMonkey technologicznie
Mac
HD - Quartz
Renderowanie 3D - OpenGL
iOS – OpenGL ES
Windows
HD - Direct2D
3D - Direct3D
FireMonkey używa GDI+ dla obiektów HD jeśli Direct2D nie jest dostępny
Klient wykorzystuje RDP (Remote Desktop Protocol)
“FireMonkey” – Efekty i Filtry
Można dodad do bitmap
Można dodad do kontrolek
Mogą byd wywoływane zdarzeniami takimi jak MouseOver, Focus, Visibility, itp.
Wykorzystują implementację „shaders”wykonywaną w GPU
Nowa aplikacja
Demonstracja
Proces tworzenia
RAD Studio Xcode
Projekt FireMonkey
Delphi
iOS HD / iOS 3D
Projekt
Xcode
Pascal +
Bilioteka FireMonkey
dpr2xcode
• Apple Mac – System: Snow Leopard / Lion
• Xcode – Xcode – do pobrania App Store (lub iOS Developer
Pages) (wersje od 4.1.1)
– iOS SDK wymaga subskrypcji Apple Developer Program (4.2, 4.3)
• FreePascal – Zainstalowane oficjalne biblioteki FreePascal 2.4.4 -
http://www.freepascal.org/download.var
Wymagania
FireMonkey iOS - Demo
Czym jest LiveBindings?
“Provides a way for developers to create a
read/write link between components/objects and their data in the the application.”
LiveBinding Scenario
CONTROL TLabel
SOURCE TField
LiveBinding Engine
Control Expression Text
Source Expression DisplayName
LiveBindings - podstawy
LiveBindings - obiekty
Demonstracja
LiveBindings Overview
Dostępne na platformach FireMonkey i VCL
Powiązania mogą byd tworzone w kodzie lub wizualnie
Oparte są o proste formuły, nazywane „binding expressions”
„Binding expressions” mogą byd jedno lub dwukierunkowe
LiveBindings 3D
Demonstracja
Podsumowanie
Platforma do budowania aplikacji nowej generacji
Wykorzystanie karty graficznej do obróbki grafiki
Komponenty znane z VCL
Jedna aplikacja – wiele platform
Błyskawiczne budowanie efektownych aplikacji
Tylko Twoja wyobraźnia Cię ogranicza!
FireMonkey
“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