SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
#PAUG – Dec. 2013
Build 3D web, mobile and desktop applications with C++11

Warren Seine
CTO and co-founder of Aerys
warren@aerys.in
@warrenseine
Join!

WebGL France
http://www.meetup.com/WebGL-France
@WebGLFrance
by
3D. Everywhere.
Deliver engaging, interactive and rich 3D content and applications on
desktops, mobiles and the web.
Focus on design. Boost with code.
Minko « Studio » Edition
Designers integrate 3D content, customize materials, setup lights and animations.
Developers plug in scripts and interactivity.
The sky is the limit.
Minko « Community » Edition

Build desktop, web and mobile 3D applications with
Minko’s free and open source SDK including
a fully-featured 3D engine and plugins.
IronForce (EA/Coolfish)
« We chose Minko to be the 3D engine in one of our new Flash-based
games because we think it’s a highly professional solution in terms of
development ecosystem and high performance. »
André Weissflog, Head of Development at BigPoint
Features
§  100% compatible with Windows, Mac,
Linux, iOS, Android and WebGL
§  WYSIWYG Scene editor
§  3D scene graph API

§  80+ 2D/3D file formats supported
§  Dynamic assets loading
§  Über-shaders

§  Components & scripts system

§  3D compression, simplification and
streaming

§  Physics (Bullet)

§  Plugin system (Oculus, Leap, ….)

§  Data-driven rendering engine

§  Particles engine
Why C++?
§ Performances
§  You can’t beat C++ and its static optimizations

§ Integration
§  It’s the common standard for big projects

§ Expressiveness
§  C++11 lambdas, type inference, memory management

§ Cross-platform
§  Windows, Mac, Linux, iOS, Android, Flash, Windows Phone, HTML5
Emscripten https://github.com/kripken/emscripten
§  Atwood’s Law

–  « Anything that can be done with JavaScript will be done in JavaScript »

§  Open source project driven by Mozilla

–  Based on LLVM, which is supported by Google, Apple, Intel and many more

§  Cross-compile C++ code to Javascript code
–  Binds OpenGL to WebGL
–  Provide virtual file system
–  C++ ó JavaScript bindings

§  Code optimizations
– 
– 
– 
– 

LLVM and C++ specific optimizations
Closure compiler
asm.js (2x performances of native code!)
LZMA compression
ASM.js –Benchmarks

Source:	
  h*p://kripken.github.io/mloc_emscripten_talk/#/28	
  
http://minko.io/showcase/sponza-html5

EXAMPLE: SPONZA HTML5!
Conclusion
My Feedback – The Good Parts
§ Working with C++ 2011 is amazing

§  More complex but so much powerful/expressive than AS3/JS
§  Useful and reliable STL containers (list, maps, sets, etc…)
§  Shared pointers make memory management just as easy as with
managed languages: not a single memory leak so far!

§ Visual Studio/Xcode/Eclipse are very good IDEs
§ Minko 3 is much lighter and yet just as much powerful
§ Vagrant + Premake: efficient cross-compilation build
My Feedback – The Good Parts
§ Compatibility
§  The app runs on Windows, Mac, Linux, iOS, Android and WebGL
without a single modification!
§  Targeting Android was just a 2-day job

§ Speed
§  Native speed on Windows, Mac, Linux, iOS and Android
§  2x speed of native code in HTML5/WebGL thanks to asm.js!
Don’t forget to check http://minko.io !

Merci !

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Presentation Cloud9 at sudweb
Presentation Cloud9 at  sudwebPresentation Cloud9 at  sudweb
Presentation Cloud9 at sudweb
 
Build 2016 - B836 - Cross-Platform Mobile with Xamarin
Build 2016 - B836 - Cross-Platform Mobile with XamarinBuild 2016 - B836 - Cross-Platform Mobile with Xamarin
Build 2016 - B836 - Cross-Platform Mobile with Xamarin
 
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & MoreCreating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
 
TechDays Wrap-up Seven Stars Shares
TechDays Wrap-up Seven Stars SharesTechDays Wrap-up Seven Stars Shares
TechDays Wrap-up Seven Stars Shares
 
Xamarin: The Future of App Development
Xamarin: The Future of App DevelopmentXamarin: The Future of App Development
Xamarin: The Future of App Development
 
Build An Automated Testing Pipeline
Build An Automated Testing PipelineBuild An Automated Testing Pipeline
Build An Automated Testing Pipeline
 
Developing Inside the Cloud
Developing Inside the CloudDeveloping Inside the Cloud
Developing Inside the Cloud
 
Cloud computing projects by inspire-groups (Pravin Hanchinal)
Cloud computing projects by inspire-groups (Pravin Hanchinal)Cloud computing projects by inspire-groups (Pravin Hanchinal)
Cloud computing projects by inspire-groups (Pravin Hanchinal)
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 
Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch Event
 
Build 2016 - B829 - Project Centennial: Bringing Existing Desktop Application...
Build 2016 - B829 - Project Centennial: Bringing Existing Desktop Application...Build 2016 - B829 - Project Centennial: Bringing Existing Desktop Application...
Build 2016 - B829 - Project Centennial: Bringing Existing Desktop Application...
 
Cloud native principles
Cloud native principlesCloud native principles
Cloud native principles
 
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsBienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
 
What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!
 
Cloud based mobile app development cit 2017
Cloud based mobile app development cit 2017Cloud based mobile app development cit 2017
Cloud based mobile app development cit 2017
 
MadridJug From Monolith to k8s with Jenkins X and Zeebe
MadridJug From Monolith to k8s with Jenkins X and ZeebeMadridJug From Monolith to k8s with Jenkins X and Zeebe
MadridJug From Monolith to k8s with Jenkins X and Zeebe
 
Everyday React Native
Everyday React NativeEveryday React Native
Everyday React Native
 
Azure App Service Helpers
Azure App Service HelpersAzure App Service Helpers
Azure App Service Helpers
 
Lessons learned while going serverless in production
Lessons learned while going serverless in productionLessons learned while going serverless in production
Lessons learned while going serverless in production
 
Identify potential cost savings on public cloud
Identify potential cost savings on public cloudIdentify potential cost savings on public cloud
Identify potential cost savings on public cloud
 

Destaque

Minko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should careMinko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should care
Minko3D
 
Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++
Minko3D
 
Minko - Flash Conference #5
Minko - Flash Conference #5Minko - Flash Conference #5
Minko - Flash Conference #5
Minko3D
 
Minko stage3d 20130222
Minko stage3d 20130222Minko stage3d 20130222
Minko stage3d 20130222
Minko3D
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525
Minko3D
 
Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with Minko
Minko3D
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko3D
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
Minko - Build WebGL applications with C++ and asm.js
Minko - Build WebGL applications with C++ and asm.jsMinko - Build WebGL applications with C++ and asm.js
Minko - Build WebGL applications with C++ and asm.js
Minko3D
 
Hutan rahmawaty12
Hutan rahmawaty12Hutan rahmawaty12
Hutan rahmawaty12
Debby Ochta
 
Hutan rahmawaty12
Hutan rahmawaty12Hutan rahmawaty12
Hutan rahmawaty12
Debby Ochta
 

Destaque (17)

Minko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should careMinko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should care
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
 
BIG DATA MANAGEMENT - forget the hype, let's talk about the facts!
BIG DATA MANAGEMENT - forget the hype, let's talk about the facts! BIG DATA MANAGEMENT - forget the hype, let's talk about the facts!
BIG DATA MANAGEMENT - forget the hype, let's talk about the facts!
 
Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++
 
Minko - Flash Conference #5
Minko - Flash Conference #5Minko - Flash Conference #5
Minko - Flash Conference #5
 
Minko stage3d 20130222
Minko stage3d 20130222Minko stage3d 20130222
Minko stage3d 20130222
 
Daotaonguonnhanluc
DaotaonguonnhanlucDaotaonguonnhanluc
Daotaonguonnhanluc
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525
 
Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with Minko
 
đề Ktra hóa
đề Ktra hóađề Ktra hóa
đề Ktra hóa
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
 
Minko - Build WebGL applications with C++ and asm.js
Minko - Build WebGL applications with C++ and asm.jsMinko - Build WebGL applications with C++ and asm.js
Minko - Build WebGL applications with C++ and asm.js
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
 
Hutan rahmawaty12
Hutan rahmawaty12Hutan rahmawaty12
Hutan rahmawaty12
 
D010202
D010202D010202
D010202
 
Hutan rahmawaty12
Hutan rahmawaty12Hutan rahmawaty12
Hutan rahmawaty12
 

Semelhante a Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
bryan costanich
 

Semelhante a Paris Android User Group - Build 3D web, mobile and desktop applications with C++11 (20)

Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
Intel AppUp Day Bologna
Intel AppUp Day BolognaIntel AppUp Day Bologna
Intel AppUp Day Bologna
 
.NET Core on Mac
.NET Core on Mac.NET Core on Mac
.NET Core on Mac
 
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
C++ on the Web: Run your big 3D game in the browser
C++ on the Web: Run your big 3D game in the browserC++ on the Web: Run your big 3D game in the browser
C++ on the Web: Run your big 3D game in the browser
 
Visual Studio for Mac (AltConf 2017)
Visual Studio for Mac (AltConf 2017)Visual Studio for Mac (AltConf 2017)
Visual Studio for Mac (AltConf 2017)
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
 
Top 11 Front-End Web Development Tools To Consider in 2020
 Top 11 Front-End Web Development Tools To Consider in 2020 Top 11 Front-End Web Development Tools To Consider in 2020
Top 11 Front-End Web Development Tools To Consider in 2020
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development waySharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Webgl 기술동향 2011.8
Webgl 기술동향 2011.8Webgl 기술동향 2011.8
Webgl 기술동향 2011.8
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Eclipse summit-2010
Eclipse summit-2010Eclipse summit-2010
Eclipse summit-2010
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

  • 1. #PAUG – Dec. 2013 Build 3D web, mobile and desktop applications with C++11 Warren Seine CTO and co-founder of Aerys warren@aerys.in @warrenseine
  • 3. by
  • 4. 3D. Everywhere. Deliver engaging, interactive and rich 3D content and applications on desktops, mobiles and the web.
  • 5. Focus on design. Boost with code. Minko « Studio » Edition Designers integrate 3D content, customize materials, setup lights and animations. Developers plug in scripts and interactivity.
  • 6. The sky is the limit. Minko « Community » Edition Build desktop, web and mobile 3D applications with Minko’s free and open source SDK including a fully-featured 3D engine and plugins.
  • 8. « We chose Minko to be the 3D engine in one of our new Flash-based games because we think it’s a highly professional solution in terms of development ecosystem and high performance. » André Weissflog, Head of Development at BigPoint
  • 9. Features §  100% compatible with Windows, Mac, Linux, iOS, Android and WebGL §  WYSIWYG Scene editor §  3D scene graph API §  80+ 2D/3D file formats supported §  Dynamic assets loading §  Über-shaders §  Components & scripts system §  3D compression, simplification and streaming §  Physics (Bullet) §  Plugin system (Oculus, Leap, ….) §  Data-driven rendering engine §  Particles engine
  • 10. Why C++? § Performances §  You can’t beat C++ and its static optimizations § Integration §  It’s the common standard for big projects § Expressiveness §  C++11 lambdas, type inference, memory management § Cross-platform §  Windows, Mac, Linux, iOS, Android, Flash, Windows Phone, HTML5
  • 11. Emscripten https://github.com/kripken/emscripten §  Atwood’s Law –  « Anything that can be done with JavaScript will be done in JavaScript » §  Open source project driven by Mozilla –  Based on LLVM, which is supported by Google, Apple, Intel and many more §  Cross-compile C++ code to Javascript code –  Binds OpenGL to WebGL –  Provide virtual file system –  C++ ó JavaScript bindings §  Code optimizations –  –  –  –  LLVM and C++ specific optimizations Closure compiler asm.js (2x performances of native code!) LZMA compression
  • 15. My Feedback – The Good Parts § Working with C++ 2011 is amazing §  More complex but so much powerful/expressive than AS3/JS §  Useful and reliable STL containers (list, maps, sets, etc…) §  Shared pointers make memory management just as easy as with managed languages: not a single memory leak so far! § Visual Studio/Xcode/Eclipse are very good IDEs § Minko 3 is much lighter and yet just as much powerful § Vagrant + Premake: efficient cross-compilation build
  • 16. My Feedback – The Good Parts § Compatibility §  The app runs on Windows, Mac, Linux, iOS, Android and WebGL without a single modification! §  Targeting Android was just a 2-day job § Speed §  Native speed on Windows, Mac, Linux, iOS and Android §  2x speed of native code in HTML5/WebGL thanks to asm.js!
  • 17. Don’t forget to check http://minko.io ! Merci !