Exploring FireMonkey: A Deep Dive into Cross-Platform App Development
180 likes | 322 Vues
This presentation by Mr. Olatunde Francis offers a comprehensive introduction to FireMonkey, a cutting-edge cross-platform application framework. Designed for GPU-accelerated vector graphics, FireMonkey enables rapid development of visually stunning applications across Windows, OSX, and mobile platforms. The session covers essential topics including object-oriented programming in Pascal, detailed architecture of FireMonkey, real-time effects, and the unique features that make it suitable for HD and 3D rendering. Enhance your understanding of modern app development with this informative deep dive into FireMonkey technology.
Exploring FireMonkey: A Deep Dive into Cross-Platform App Development
E N D
Presentation Transcript
03 October2011 Microteaching on Deep Dive FireMonkey PGCE ICT 2011/2012 Presented by Mr. Olatunde Francis Curriculum Tutor : Dr. John Woollard
Aims 1 Introduction 2 FireMonkey in Details Summary 5 3 Demo 4 Overview
Aims • Awareness of latest technology (Introducing FM) • Object Oriented Programming (Pascal continue) • Demonstrate FireMonkey Demo
Introducing… FireMonkey! FireMonkey is a cross-platform application framework that uses GPU-Accelerated vector graphics to render its UI, D2D/D3D on Windows and OpenGL on OSX.
Introducing… FireMonkey! FireMonkey is… App Development Platform
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 for forms/ • controls, when Direct2D is not available
“FireMonkey” Architecture • TFmxObject = class(TComponents) • 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 • TControl • 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 • Free notifications • Abstraction layer for tab order • Support for FireMonkey resources • Support for FireMonkey animations • IScene • Container interface for 2D objects • Implemented by TForm, TCustomLayer
“FireMonkey” Architecture • 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 file for Win7, MacOS, iOS and • custom theme
“FireMonkey” HD, 3D, and GPU • FireMonkey takes advantage of GPU whenever possible • 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 • HD Form can be rendered on a computer without a GPU with a few restrictions: • No TViewport3D, No Shader based Filters
RAD Studio XE2 …and more!
Native mobile apps for DataSnap • iOS, Android, Blackberry, and Windows Phone 7 • Delphi and C++Builder DataSnap Servers • Mobile-optimized PHP web apps • Web apps that look great • Web apps that work great on mobile devices • Package applications for distribution • Sell on Apple App Store and Android Marketplace
FireMonkey and Platform • FM is a platform that supports • RTL • GUI • Database • Operating System • Compile/Run on all platforms subset for mobile platforms
Summary • FM – Next Generation Application platform • Fully harness the powerful GPU graphics hardware • Rapidly build visually spectacular applications • Invest in one platform and deploy to numerous Oss • Delphi and C++ compiled, native executable • Fully programmable animations and effects
And one more thing… • Embarcadero Website • EDN • DEMOS Source codes: • http://radstudiodemos.svn.sourceforge.net/viewvc/radstudiodemos/branches/RadStudio_XE2/ • http://blogs.embarcadero.com/mathewd/2011/08/29/company-tweet-sample-datasnap-mobile-application/ • http://www.devia.be/news/article/configuring-delphi-xe2-and-your-mac-to-develop-test-and-deploy-ios-apps/ • http://www.youtube.com/watch?v=h93CZV9bRaQ Video Tutorial