SlideShare a Scribd company logo
1 of 35
Download to read offline
Real world Windows Phone
development
Igor Kulman
igor@kulman.sk
About Igor Kulman
• Windows Phone and Microsoft Azure
developer at Inmite
• Developing for Windows Phone since
2011
• web: http://www.kulman.sk, blog: http://blog.kulman.sk, github: https://github.com/igorkulman
Goal
Develop maintanable and testable
Windows Phone applications
Agenda
• Model-View-ViewModel (MVVM)
• Caliburn.Micro
• INotifyPropertyChanged (Fody)
• Nuget
• Portable Class Libraries (PCL)
• Testing (MSTest, Moq)
Model-View-ViewModel
• Design pattern from Microsoft simillar to
MVC
• Separating UI, app logic and business
logic
• Data binding, messaging, commands
• Typically also DI
• Popular frameworks: MVVMLight,
Caliburn.Micro, PRISM
Model-View-ViewModel
Advantages
• more testable
• more maintanable
• easier to do DI
Notes
• View-specific stuff should be still handled
in code-behind
Model-View-ViewModel
Bindings
• Referencing properties from ViewModel or
ther componetns in View
• One-Way, Two-Way
Converters
• Convert data used in bindings from one
format to another
• Keep your ViewModel "clean"
• Implement IValueConverter
• Use as StaticResource
INotifyPropertyChanged
• Interface telling the UI that a property in
ViewModel has changed
• Necessary for data binding
Fody.PropertyChanged
• Fody is a il-weaver for .NET
• Fody.PropertyChanged adds to
INotifyPropertyChanged every property so
you do not have to
Commands
Commands provide a separation between a user interface
and logic.
• A command is an object that implements the ICommand
interface.
• Generally, it is associated with a function in some code.
• User interface elements bind to commands - when they
are activated by the user the command is fired - which
calls the associated function.
• Commands know if they are enabled or not.
• A function can disable the command object -
automatically disabling any user interface elements
associated with it.
Commands
Implement ICommand
• Execute - method to execute
• CanExecute - determines whether the
command can execute in its current state
Binding in XAML
Messaging
• Sending messages between ViewModels
and Views avoid tight coupling
• Communication between View and
ViewModel when a binding cannot be
used (e.g: animations)
Nuget
• package manager for .NET project
• open to everyone (my packages)
• web repository, search
• Visual Studio and PowerShell integration
• handling dependencies, upgrades
• restoring packages at build
DEMO
Creating a new Windows Phone
project with packages from Nuget
Portable Class Libraries
• Libraries that target more than one .NET
Framework platform
• WP8, WP81, WinRT, Silverlight, XBOX,
• Support for Mono (Xamarin.iOS / Android)
• No platform specific stuff (I/O, Settings,
etc.)
Portable Class Libraries
When to start with PCL
• more platforms
• no platform specific stuff
Recommendation
• start with a Windows Phone Class Library
• convert to PCL later
DEMO
Adding PCL with business logic to
the project
Testing the PCL
• Testing your business logic is a good
practice
• Many testing frameworks: MSTest, NUnit,
xUnit
• Testing async method is not a problem
MSTest
• built into Visual Studio
• run from Visual Studio, Resharper, FAKE
• decorating methods with attributes
DEMO
Add test project and tests for PCL
Caliburn.Micro
• mature MVVM framework for WPF,
Sliverlight, Windows Phone, Windows 8
• based on conventions
• simple DI container
• messaging model based on
System.Interactivity (Blend support)
• works with Fody.PropertyChanged
Caliburn.Micro
Bootstrapper
• registered in App.xaml
• app strating point
• register ViewModels and Services
• override things like frame creation
Caliburn.Micro
Conventions
• Views directory with {X}View
• ViewModels directory with {X}ViewModel
• Binding button click event to methods by
name
• Binding ListBox item source and selected
item by name
• TextBox two way binding by name
Caliburn.Micro
Actions
• used instead of Commands for iteractions
from View
• can be bound to any event
• Parameters: $eventArgs, $dataContext,
$source, $view, $executionContext, $this
Caliburn.Micro
Services
• INavigationService
• IEventAggregator
INavigationService
• No need to register, always available
• ViewModel first
• (Multiple) navigation parameters
IEventAggregator
• No need to register, always available
• Publishing messages
• Need to subscribe for handling, implement
IHandle<T>
DEMO
Add Caliburn.Micro to project,
implement Views and ViewModels
Testing the ViewModel
• Testing ViewModels is "nice to have"
• Mocking services, testing just the
ViewModel
• Mocking framework: Moq
Moq
• Mocking an interface
• Mocking with distinct behaviour
DEMO
Add tests for ViewModel
And design matters!
Do not be one of the boring black
pivot apps
Resources
Demo source code:
• https://github.com/igorkulman/muni-talk-2014
Fody
• http://blog.kulman.sk/inotifypropertychanged-the-easy-
way-in-windows-phone-and-windows-8/
Caliburn.Micro
• http://wp.qmatteoq.com/first-steps-with-caliburn-micro-in-
windows-phone-8-the-theory/

More Related Content

What's hot

Ektron 8.5 Web Content Managemnt
Ektron 8.5 Web Content ManagemntEktron 8.5 Web Content Managemnt
Ektron 8.5 Web Content ManagemntSean_OLeary
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsDor Kalev
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternTeamstudio
 
Micro frontends with react and redux dev day
Micro frontends with react and redux   dev dayMicro frontends with react and redux   dev day
Micro frontends with react and redux dev dayPrasanna Venkatesan
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt ofVictor_Cr
 
Azure Cloud Services
Azure Cloud ServicesAzure Cloud Services
Azure Cloud ServicesGuy Barrette
 
SofiaDev L9 Source Control Management
SofiaDev L9 Source Control ManagementSofiaDev L9 Source Control Management
SofiaDev L9 Source Control ManagementMartin Kulov
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!_Dewy_
 
Mainframe, the fast PHP framework
Mainframe, the fast PHP frameworkMainframe, the fast PHP framework
Mainframe, the fast PHP frameworkbibakis
 
Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Visug
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
What's New in PowerCLI 5.0
What's New in PowerCLI 5.0What's New in PowerCLI 5.0
What's New in PowerCLI 5.0jonathanmedd
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationVan Staub, MBA
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPagesMark Roden
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business ToolkitVan Staub, MBA
 
WPF with MVVM: From the Trenches
WPF with MVVM: From the TrenchesWPF with MVVM: From the Trenches
WPF with MVVM: From the TrenchesBrent Edwards
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 

What's hot (20)

Backbonemeetup
BackbonemeetupBackbonemeetup
Backbonemeetup
 
Ektron 8.5 Web Content Managemnt
Ektron 8.5 Web Content ManagemntEktron 8.5 Web Content Managemnt
Ektron 8.5 Web Content Managemnt
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
Micro frontends with react and redux dev day
Micro frontends with react and redux   dev dayMicro frontends with react and redux   dev day
Micro frontends with react and redux dev day
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt of
 
Azure Cloud Services
Azure Cloud ServicesAzure Cloud Services
Azure Cloud Services
 
SofiaDev L9 Source Control Management
SofiaDev L9 Source Control ManagementSofiaDev L9 Source Control Management
SofiaDev L9 Source Control Management
 
IBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with AngularjsIBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with Angularjs
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
 
Mainframe, the fast PHP framework
Mainframe, the fast PHP frameworkMainframe, the fast PHP framework
Mainframe, the fast PHP framework
 
Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
What's New in PowerCLI 5.0
What's New in PowerCLI 5.0What's New in PowerCLI 5.0
What's New in PowerCLI 5.0
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme Customization
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPages
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
WPF with MVVM: From the Trenches
WPF with MVVM: From the TrenchesWPF with MVVM: From the Trenches
WPF with MVVM: From the Trenches
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 

Viewers also liked

Viewers also liked (7)

Imunologi das11
Imunologi das11Imunologi das11
Imunologi das11
 
Úvod do vývoja pre Windows Phone 7 II
Úvod do vývoja pre Windows Phone 7 IIÚvod do vývoja pre Windows Phone 7 II
Úvod do vývoja pre Windows Phone 7 II
 
Sarah Fahy Reshaping Your Team
Sarah Fahy Reshaping Your TeamSarah Fahy Reshaping Your Team
Sarah Fahy Reshaping Your Team
 
Imunologi dasa1
Imunologi dasa1Imunologi dasa1
Imunologi dasa1
 
Dhf
DhfDhf
Dhf
 
Imunologi das10
Imunologi das10Imunologi das10
Imunologi das10
 
Hipersensitivitas
HipersensitivitasHipersensitivitas
Hipersensitivitas
 

Similar to Real World Windows Phone Development

Highlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceHighlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceChristopher Miller
 
Getting started with Xamarin forms
Getting started with Xamarin formsGetting started with Xamarin forms
Getting started with Xamarin formsSolTech, Inc.
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO DevsWO Community
 
Building databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with KnockoutjsBuilding databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with KnockoutjsNish Anil
 
Advanced MVVM in Windows 8
Advanced MVVM in Windows 8Advanced MVVM in Windows 8
Advanced MVVM in Windows 8Gill Cleeren
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMDataLeader.io
 
Knockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockoutKnockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockoutAndoni Arroyo
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms BootcampMike Melusky
 
Codestrong 2012 breakout session how to develop your own modules
Codestrong 2012 breakout session   how to develop your own modulesCodestrong 2012 breakout session   how to develop your own modules
Codestrong 2012 breakout session how to develop your own modulesAxway Appcelerator
 
Introduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator TitaniumIntroduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator TitaniumAaron Saunders
 
Xamarin.Mac Introduction
Xamarin.Mac IntroductionXamarin.Mac Introduction
Xamarin.Mac IntroductionMiguel de Icaza
 
Modular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireModular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireJeff Fox
 
A Smooth Transition to HTML5
A Smooth Transition to HTML5A Smooth Transition to HTML5
A Smooth Transition to HTML5Chris Bannon
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross SeminarXamarin
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross IntroductionStuart Lodge
 
A Smooth Transition to HTML5 Using MVVM
A Smooth Transition to HTML5 Using MVVMA Smooth Transition to HTML5 Using MVVM
A Smooth Transition to HTML5 Using MVVMChris Bannon
 
Gemeinsame View-Models mit XAML Technologien
Gemeinsame View-Models mit XAML TechnologienGemeinsame View-Models mit XAML Technologien
Gemeinsame View-Models mit XAML TechnologienChristian Nagel
 

Similar to Real World Windows Phone Development (20)

Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Highlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conferenceHighlights from the Xamarin Evolve 2016 conference
Highlights from the Xamarin Evolve 2016 conference
 
Getting started with Xamarin forms
Getting started with Xamarin formsGetting started with Xamarin forms
Getting started with Xamarin forms
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Building databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with KnockoutjsBuilding databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with Knockoutjs
 
Advanced MVVM in Windows 8
Advanced MVVM in Windows 8Advanced MVVM in Windows 8
Advanced MVVM in Windows 8
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
 
Knockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockoutKnockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockout
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
 
Codestrong 2012 breakout session how to develop your own modules
Codestrong 2012 breakout session   how to develop your own modulesCodestrong 2012 breakout session   how to develop your own modules
Codestrong 2012 breakout session how to develop your own modules
 
Introduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator TitaniumIntroduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator Titanium
 
Xamarin.Mac Introduction
Xamarin.Mac IntroductionXamarin.Mac Introduction
Xamarin.Mac Introduction
 
Modular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireModular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter Bonfire
 
A Smooth Transition to HTML5
A Smooth Transition to HTML5A Smooth Transition to HTML5
A Smooth Transition to HTML5
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
 
A Smooth Transition to HTML5 Using MVVM
A Smooth Transition to HTML5 Using MVVMA Smooth Transition to HTML5 Using MVVM
A Smooth Transition to HTML5 Using MVVM
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Gemeinsame View-Models mit XAML Technologien
Gemeinsame View-Models mit XAML TechnologienGemeinsame View-Models mit XAML Technologien
Gemeinsame View-Models mit XAML Technologien
 
uMobile Development Strategies
uMobile Development StrategiesuMobile Development Strategies
uMobile Development Strategies
 

Recently uploaded

Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...
Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...
Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...OnePlan Solutions
 
Learn Java Basics with Cyber Success.pdf
Learn Java Basics with Cyber Success.pdfLearn Java Basics with Cyber Success.pdf
Learn Java Basics with Cyber Success.pdfcybersuccessseo
 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and EngineeringVijayananda Mohire
 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessIvo Andreev
 
Folding Cheat Sheet #1 - first in a series
Folding Cheat Sheet #1 - first in a seriesFolding Cheat Sheet #1 - first in a series
Folding Cheat Sheet #1 - first in a seriesPhilip Schwarz
 
Going serverless with Quarkus, GraalVM native images and AWS Lambda
Going serverless with Quarkus, GraalVM native images and AWS LambdaGoing serverless with Quarkus, GraalVM native images and AWS Lambda
Going serverless with Quarkus, GraalVM native images and AWS LambdaBert Jan Schrijver
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
OpenTelemetry: The future (present) of Observability
OpenTelemetry: The future (present) of ObservabilityOpenTelemetry: The future (present) of Observability
OpenTelemetry: The future (present) of ObservabilityGustavo Corrêa Alves
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
 
Digital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptx
Digital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptxDigital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptx
Digital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptxOffsiteNOC
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Urbanclap_Clone_Script_On_demand_service.pptx
Urbanclap_Clone_Script_On_demand_service.pptxUrbanclap_Clone_Script_On_demand_service.pptx
Urbanclap_Clone_Script_On_demand_service.pptxNetflix Clone
 
DeskTrack- Employee Time Tracking Software.pdf
DeskTrack- Employee Time Tracking Software.pdfDeskTrack- Employee Time Tracking Software.pdf
DeskTrack- Employee Time Tracking Software.pdfriteshsharma2251
 

Recently uploaded (20)

Intro to Tendenci AMS - Session 2 - FOSS
Intro to Tendenci AMS - Session 2 - FOSSIntro to Tendenci AMS - Session 2 - FOSS
Intro to Tendenci AMS - Session 2 - FOSS
 
Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...
Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...
Revolutionizing IT Project Delivery - Embrace the Future with OnePlan’s AI-Po...
 
Learn Java Basics with Cyber Success.pdf
Learn Java Basics with Cyber Success.pdfLearn Java Basics with Cyber Success.pdf
Learn Java Basics with Cyber Success.pdf
 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and Engineering
 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for Business
 
Folding Cheat Sheet #1 - first in a series
Folding Cheat Sheet #1 - first in a seriesFolding Cheat Sheet #1 - first in a series
Folding Cheat Sheet #1 - first in a series
 
Going serverless with Quarkus, GraalVM native images and AWS Lambda
Going serverless with Quarkus, GraalVM native images and AWS LambdaGoing serverless with Quarkus, GraalVM native images and AWS Lambda
Going serverless with Quarkus, GraalVM native images and AWS Lambda
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
OpenTelemetry: The future (present) of Observability
OpenTelemetry: The future (present) of ObservabilityOpenTelemetry: The future (present) of Observability
OpenTelemetry: The future (present) of Observability
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Digital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptx
Digital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptxDigital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptx
Digital Fortress Secure Remote Server Monitoring for Your Peace of Mind.pptx
 
Program with GUTs
Program with GUTsProgram with GUTs
Program with GUTs
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Urbanclap_Clone_Script_On_demand_service.pptx
Urbanclap_Clone_Script_On_demand_service.pptxUrbanclap_Clone_Script_On_demand_service.pptx
Urbanclap_Clone_Script_On_demand_service.pptx
 
DeskTrack- Employee Time Tracking Software.pdf
DeskTrack- Employee Time Tracking Software.pdfDeskTrack- Employee Time Tracking Software.pdf
DeskTrack- Employee Time Tracking Software.pdf
 

Real World Windows Phone Development