android++ a cross platform framework
Post on 08-May-2015
232 Views
Preview:
DESCRIPTION
TRANSCRIPT
Android Plus Plus A Cross Platform Framework
A Brief History
• Cocos2d-‐x – Cross Pla6orm Open Source 2D Game Engine
– Good for games – Not as good for view-‐based applicaEons
– Augment?
A Brief History
• Android – Great feature set – Open Source – Support for mulEple screen sizes and resoluEons
– Java and C++ similar – Android wriJen in C/C++
A Brief History
• Android++ Born – Goal: Port a minimal version of Android to C++ – Leverage exisEng MoneyMobile Android project
Android++ • Loopers, and Handlers, and Threads (oh my) – Mindroid Open Source Project – Basic Run Loop – Message Queues – Threading Support
Android++ • Layout Engine – View & ViewGroup – View Hierarchy – Measure & Layout – XML Layouts
Android++ • Widgets
– ViewGroups • FrameLayout • RelaEveLayout • LinearLayout
– Views • ImageView (BJ) • ListView • Custom Views
Android++ • Touch Handling – Touch Traversal – Consuming Touches
Android++
Android++ • Rendering Pipeline
Android++ • Rendering Pipeline
Android++ • Rendering Pipeline
Android++ • Rendering Pipeline
– libpng • Load PNGs naEvely
– Skia • 2D Graphics Library (OS) • WriJen in C++ • Used in Firefox, Chrome, Sublime, and Android
– HWUI • Display List • OpenGL Rendering • Glue for Font Renderer
Android++ • Font Rendering
– Cocos2d-‐x does not do any true font rendering
– Open Source • ICU (Unicode Character Handling) • Har_uzz (Shaping Unicode Characters)
• Freetype (Renders text based on font file)
– Simply Draw Text
Current State
• Port Android MoneyMobile Project • ConEnue work on Android++ framework
DEMO
Benefits
• One Code Base to Rule Them All! – Write once deploy to mulEple pla6orms – Fewer bugs across pla6orms – Bug fixes across pla6orms – Efficient developer usage
• BeJer app parity • Fast and Efficient Feature Rollout
Challenges
Challenges
• Staying true to pla6orm’s look & feel • Differing C libraries per pla6orm • Pla6orm specific features • C++/Java Differences – Memory Mgmt. – Data Structures – Language Features
Roadmap
• Open Source Project • Port framework features
• Port MoneyMobile Android
QuesEons?
top related