SlideShare a Scribd company logo
1 of 49
#DotNet2018
Desarrollando un motor
gráfico en C# para
Virtual Reality y
Augmented Reality
ORGANIZATION
SPONSORS
#DotNet2018
Thank you!
#DotNet2018
@jcant0n
jcanton@plainconcepts.com
Javier is a Computer Science Engineer who has always had a passion for
3D graphics and software architecture. His professional achievements
include being MVP for Windows DirectX and DirectX XNA for the last
nine years, Xbox Ambassador, as well as Microsoft Student Partner and
Microsoft Most Valuable Student during his years at college. Currently
he works at Plainconcepts as Research Team Lead.
Javier Cantón
Research Team Lead
#DotNet2018
Wave Engine on VR,
AR and MR
#DotNet2018
Wave Engine
• 7 years ago
• Latest C# features
• Unified cross-platform API
• Component-based engine
#DotNet2018
Video
#DotNet2018
C# features to keep in
mind
#DotNet2018
Access Modifiers
• Public
Assembly 1
Assembly 2
Class 1
Class 2
Class 3
#DotNet2018
Access Modifiers
• Public
• Protected
Assembly 1
Assembly 2
Class 1
Class 2
Class 3
#DotNet2018
Access Modifiers
• Public
• Protected
• Internal
Assembly 1
Assembly 2
Class 1
Class 2
Class 3
#DotNet2018
Access Modifiers
• Public
• Protected
• Internal
• Private
Assembly 1
Assembly 2
Class 1
Class 2
Class 3
#DotNet2018
Access Modifiers
• Public
• Protected
• Internal
• Private
• Protected Internal
Assembly 1
Assembly 2
Class 1
Class 2
Class 3
#DotNet2018
Access Modifiers
• Public
• Protected
• Internal
• Private
• Protected Internal
• Private protected
Assembly 1
Assembly 2
Class 3
Class 2
Class 1
#DotNet2018
Explicit interface implementation
#DotNet2018
Explicit interface implementation
#DotNet2018
Stack Heap
Value Type vs Reference Type
Reference Type
Memory Location
Int var = 10
Value Type
Int var = 10
#DotNet2018
Boxing and Unboxing
Stack Heap
#DotNet2018
Stack Heap
Boxing and Unboxing
i (Reference type)
Int i = 4
#DotNet2018
Boxing and Unboxing
Stack Heap
i (Reference type)
4
o (Reference Type)
Memory Location
4
Boxing
Value to Reference
#DotNet2018
Stack Heap
Boxing and Unboxing
i (Value type)
4
o (Reference Type)
Memory Location
4
Unboxing
Reference to value
j (Value type)
4
#DotNet2018
Attributes
• System.Runtime.CompilerServices
• Custom attributes
#DotNet2018
Lazy evaluation or deferred execution
• Not all values needed
• Useful for other datastructs
• Easy to code
#DotNet2018
Writing C# code when
performance is the
most important thing
#DotNet2018
Micro-optimization are for
• BCL and Runtime
• You expect it
• Real Time applications
• Graphics development
• 16 ms per frame
#DotNet2018
Benchmarking best practices
@andrey_akinshin
JetBrainsRider developer
• Warmup
• Cleanup
• Enable compiler optimizations (Release Mode)
• Run benchmarks without an attached debugger
• Run benchmark several times
#DotNet2018
Simple example
• 1920x1080 resolution
• 4x4 nearpixels
• 30 frames per second
• 995.328.000 ~ 1 billion
#DotNet2018
Simple example
119 times faster
#DotNet2018
Loops
#DotNet2018
Loops
#DotNet2018
Loops
#DotNet2018
Inlining
• Do not use throw new
• Do not use virtual
• Less than 32 bytes of IL
• Up to 20% performance
#DotNet2018
#DotNet2018
#DotNet2018
Structs (fields order)
40 bytes 24 bytes
#DotNet2018
Object memory Layout
Byte
Byte
Byte
Double
Double
Byte Byte Byte
Double
Double
#DotNet2018
Repository and builds
#DotNet2018
Repository
• Visual Studio Online
• Git based repository
• Git Flow
• SourceTree
• GitKraken
• Branch Policies
• Develop needs Pull Requests
• Partial Github mirror
#DotNet2018
Builds
• TeamCity connected to VS online
• Agents
• Azure (Linux, Windows)
• MiniMacs (MacOS)
• Fake using F#
• Continue Integration
• New Release
• Nightly builds
• Samples builds
#DotNet2018
Testing
• Visual Tests
• Custom tool
• Pixel based comparison
• Unit tests
• Performance Tests
• DotnetBenchmarks
#DotNet2018
VR/AR/MR devices
#DotNet2018
VR devices
Oculus Rift
HTC Vive Pro
HTC Vive
PlayStation
#DotNet2018
Name Resolution Field Of View Weight Refresh Pricing
Oculus Rift 2160x1200 110 470 grams 90hz $399
HTC Vive 2160x1200 110 555 grams 90hz $439
HTC Vive Pro 2880 x 1600
(615 PPI)
110 470 grams 90hz $799
PlayStation 1920x1080 100 610 grams 90 – 120 hz $329
VR devices
#DotNet2018
Windows 10 VR devices
#DotNet2018
Name Resolution Field Of View Weight Release date Pricing
Acer WMR headset 2880x1440 95 350 grams October 17, 2017 $299-$399
ASUS HC102 2880x1440 95 400 grams Spring 2018 $449
Dell Visor 2880x1440 110 834 grams October 17, 2017 $329-$449
HP WMR headset 2880x1440 95 380 grams October 17, 2017 $349-$399
Lenovo Explorer 2880x1440 105 Unspecified October 17, 2017 $349-$449
Samsung Odyssey 2880x1600 110 645 grams November 6, 2017 $499
Windows 10 VR devices
#DotNet2018
VR standalone devices
Oculus Go
DayDream
Gear VR
Google VR180
#DotNet2018
MR devices
HoloLens Meta 2 Magic Leap
#DotNet2018
AR devices
ARKit
ARCore
• Iphone 6S
• Iphone 6S Plus
• Iphone SE
• Iphone 7 / 7 Plus
• Iphone 8 / 8 Plus
• Iphone X
• Asus Zenfone AR / Zenfone Ares
• Google Pixel 2 / 2 XL / Pixel / Pixel XL / Nexus 5X / Nexus 6P
• Huawei P20 / P20 pro
• Motorola Z2 Force / G6 Plus
• OnePlus 5 / 3T
• Samsung A5 / A7 / A8 / A8+ / Note 8 / S7 / S7 Edge / S8 / S8+ / S9 / S9+
• Sony XZ Premium / Xperia XZ1
• Xiaomi Mi Mix 2S
#DotNet2018
Questions & Answers
#DotNet2018
Thanks and …
See you soon!
Thanks also to the sponsors.
Without whom this would not have been posible.

More Related Content

Similar to WaveEngine Dotnet 2018

Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device MatrixCarly Vanderwert
 
ProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate ProfileProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate ProfileProtoTech Solutions
 
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...Codemotion
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesiFunFactory Inc.
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingGlobant
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...DevClub_lv
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJSFestUA
 
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...mstonis
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation VitaSlide_N
 
Your Data in Unreal: How to bring your data into real-time environments
Your Data in Unreal: How to bring your data into real-time environmentsYour Data in Unreal: How to bring your data into real-time environments
Your Data in Unreal: How to bring your data into real-time environmentsSafe Software
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSITCamp
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentDavid Galeano
 
The road to AI is paved with pragmatic intentions
The road to AI is paved with pragmatic intentionsThe road to AI is paved with pragmatic intentions
The road to AI is paved with pragmatic intentionsJean-Georges Perrin
 
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...Amazon Web Services
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Lee Stott
 
The fight for surviving in the IoT world
The fight for surviving in the IoT worldThe fight for surviving in the IoT world
The fight for surviving in the IoT worldRadu Vunvulea
 

Similar to WaveEngine Dotnet 2018 (20)

Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 
ProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate ProfileProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate Profile
 
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
 
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation Vita
 
Your Data in Unreal: How to bring your data into real-time environments
Your Data in Unreal: How to bring your data into real-time environmentsYour Data in Unreal: How to bring your data into real-time environments
Your Data in Unreal: How to bring your data into real-time environments
 
Back to Space
Back to SpaceBack to Space
Back to Space
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
 
IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...
 
The road to AI is paved with pragmatic intentions
The road to AI is paved with pragmatic intentionsThe road to AI is paved with pragmatic intentions
The road to AI is paved with pragmatic intentions
 
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
AWS re:Invent 2016: Powering the Next Generation of Virtual Reality with Veri...
 
Look ma! no hands!
Look ma! no hands!Look ma! no hands!
Look ma! no hands!
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
 
Hacking for salone: drone races
Hacking for salone: drone racesHacking for salone: drone races
Hacking for salone: drone races
 
The fight for surviving in the IoT world
The fight for surviving in the IoT worldThe fight for surviving in the IoT world
The fight for surviving in the IoT world
 

More from Javier Cantón Ferrero

More from Javier Cantón Ferrero (10)

Writing high performance code in Net 7.pptx
Writing high performance code in Net 7.pptxWriting high performance code in Net 7.pptx
Writing high performance code in Net 7.pptx
 
Writing high performance code in NetCore 3.0
Writing high performance code in NetCore 3.0Writing high performance code in NetCore 3.0
Writing high performance code in NetCore 3.0
 
Freakend 2019: Preparing for Vulkan
Freakend 2019: Preparing for VulkanFreakend 2019: Preparing for Vulkan
Freakend 2019: Preparing for Vulkan
 
Todo lo que no sabías sobre HoloLens
Todo lo que no sabías sobre HoloLensTodo lo que no sabías sobre HoloLens
Todo lo que no sabías sobre HoloLens
 
Phong and Blinn Phong
Phong and Blinn PhongPhong and Blinn Phong
Phong and Blinn Phong
 
Optimizing a C# engine
Optimizing a C# engineOptimizing a C# engine
Optimizing a C# engine
 
Screen space Techniques
Screen space TechniquesScreen space Techniques
Screen space Techniques
 
Light Pre Pass Deferred lighting
Light Pre Pass Deferred lightingLight Pre Pass Deferred lighting
Light Pre Pass Deferred lighting
 
Xamarin Tecnhologies
Xamarin TecnhologiesXamarin Tecnhologies
Xamarin Tecnhologies
 
Introduction to wave engine
Introduction to wave engineIntroduction to wave engine
Introduction to wave engine
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

WaveEngine Dotnet 2018

Editor's Notes

  1. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
  2. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
  3. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
  4. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
  5. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
  6. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
  7. ¿Donde se almacenan los arrays? Struct no permiten herencia 192 Bytes en las guias de Windows phone. Stack = static memory Heap = Dynamic memory
  8. .NET foundation
  9. https://github.com/dotnet/corefx/commit/8c3a1bac543c7654b37a9506e3382f184849ba16#diff-f1285172a2a161542ccf657778f0852c
  10. SharpLab
  11. https://marketplace.visualstudio.com/items?itemName=StephanZehetner.InliningAnalyzer
  12. https://github.com/SergeyTeplyakov/ObjectLayoutInspector