Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie...

30
Nadchooooodzi… FireMooooooooonkey!

Transcript of Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie...

Page 1: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

Nadchooooodzi… FireMooooooooonkey!

Page 2: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 3: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

User Experience

VCL

MFC

UE Performance

UE

Ric

hn

ess

Oprogramowanie biznesowe

dzisiaj

FireMonkey

Page 4: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

FireMonkey nie jest…

Zarządzalne RIA

HTML5/CSS3 Silnikiem dla gier

Page 5: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

VCL & FireMonkey

Win Mac iOS

VCL

FM

Page 6: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

Wieloplatformowośd FireMonkey

Demonstracja

Page 7: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 8: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 9: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 10: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 11: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

Komponenty FireMonkey

Animacje HD

Grafika 3D

Demonstracja

Page 12: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 13: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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)

Page 14: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

“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

Page 15: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

Nowa aplikacja

Demonstracja

Page 16: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –
Page 17: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

Proces tworzenia

RAD Studio Xcode

Projekt FireMonkey

Delphi

iOS HD / iOS 3D

Projekt

Xcode

Pascal +

Bilioteka FireMonkey

dpr2xcode

Page 18: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

• 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

Page 19: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

FireMonkey iOS - Demo

Page 20: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –
Page 21: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

Czym jest LiveBindings?

“Provides a way for developers to create a

read/write link between components/objects and their data in the the application.”

Page 22: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

LiveBinding Scenario

CONTROL TLabel

SOURCE TField

LiveBinding Engine

Control Expression Text

Source Expression DisplayName

Page 23: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

LiveBindings - podstawy

LiveBindings - obiekty

Demonstracja

Page 24: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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

Page 25: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

LiveBindings 3D

Demonstracja

Page 26: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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!

Page 27: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

FireMonkey

Page 28: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

“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

Page 29: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

“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

Page 30: Nadchooooodzi FireMooooooooonkey! · Platforma do budowania aplikacji nowej generacji Wykorzystanie karty graficznej do obróbki grafiki Komponenty znane z VCL Jedna aplikacja –

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