SlideShare a Scribd company logo
1 of 21
ANDREJ TOZON Microsoft MVP: Client App Dev ANT Andrej Tozon s.p., Ljubljana @andrejt| andrej@tozon.info | http://tozon.info/blog
Preštevanje zahteva svoj čas foreach (Slikca slikca in pokecSlikc){    if (!prjatu.ImaSlikco(slikca))    {        prjatu.MenjajSlikco(slikca);    }}
Preštevanje IEnumerator prešteva IEnumerable
Opazovanje Opazovalec opazuje Opazovanega
Opazovanje IObserver opazuje IObservable
Opazovanje public interface IObservable<out T>{    IDisposable Subscribe(IObserver<T> observer);} public interface IObserver<in T>{    void OnNext(T value);    void OnError(Exception error);    void OnCompleted();}
Preštevanje ali opazovanje? IEnumerator prešteva IEnumerable IObserver opazuje IObservable
Eden vleče, drugi poriva IEnumerator IEnumerable IObserver IObservable
Rx -           ReactiveExtensions Andrej Tozon Microsoft MVP: Client App Dev ANT Andrej Tozon s.p., Ljubljana @andrejt| andrej@tozon.info | http://tozon.info/blog
Rx -           ReactiveExtensions Library for composing asynchronous and event-based programs using observable collections
Rx -           ReactiveExtensions Library for composing asynchronous and event-based programs using observable collections
Rx -           ReactiveExtensions Library for composing asynchronous and event-based programs using observable collections
Rx -           ReactiveExtensions Library for composingasynchronous and event-based programs using observable collections
demo
Kje to dobim? http://tiny.cc/rxnet .NET FX 3.5 SP1 in 4.0 Silverlight 3 in 4 Windows Phone 7 JavaScript
Kje to dobim? System.Observable.dll IObservable in IObserver sta že vključena v .NET FX 4.0 Core System.CoreEx.dll System.Reactive.dll System.Interactive.dll EnumerableEx
Operatorji v EnumerableEx Konstruktorji Return Throw StartWith Generate Defer Enumerable -> Observable -> Enumerable var o1 = Enumerable.Range(1, 10).ToObservable();var o2 = Enumerable.Range(51, 10).ToObservable();var en = o1.Amb(o2).ToEnumerable(); Kombinatorji Concat Repeat Scan SelectMany
Viri Rx DevLabs http://tiny.cc/rxnet Rx Blog http://blogs.msdn.com/rxteam Rx Wiki http://rxwiki.wikidot.com/ Channel9 http://channel9.msdn.com/tags/Rx/
vprašanja? Andrej Tozon Microsoft MVP: Client App Dev ANT Andrej Tozon s.p., Ljubljana @andrejt| andrej@tozon.info | http://tozon.info/blog
HVALA

More Related Content

More from Andrej Tozon

NTK 2015: Internet of things track (IoT) - Smart Home
NTK 2015: Internet of things track (IoT) - Smart HomeNTK 2015: Internet of things track (IoT) - Smart Home
NTK 2015: Internet of things track (IoT) - Smart HomeAndrej Tozon
 
Migrating your Windows Store (8) applications to version 8.1
Migrating your Windows Store (8) applications to version 8.1Migrating your Windows Store (8) applications to version 8.1
Migrating your Windows Store (8) applications to version 8.1Andrej Tozon
 
Developing multimedia applications for Windows 8.x and Windows Phone
Developing multimedia applications for Windows 8.x and Windows PhoneDeveloping multimedia applications for Windows 8.x and Windows Phone
Developing multimedia applications for Windows 8.x and Windows PhoneAndrej Tozon
 
MS Design style za Windows Phone / MS Design style for Windows Phone
MS Design style za Windows Phone / MS Design style for Windows PhoneMS Design style za Windows Phone / MS Design style for Windows Phone
MS Design style za Windows Phone / MS Design style for Windows PhoneAndrej Tozon
 
MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...
MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...
MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...Andrej Tozon
 
Kako narediti vašo aplikacijo živo / How to make your app come to life
Kako narediti vašo aplikacijo živo / How to make your app come to lifeKako narediti vašo aplikacijo živo / How to make your app come to life
Kako narediti vašo aplikacijo živo / How to make your app come to lifeAndrej Tozon
 
Windows phone 8 (rebuild Slovenia 2012)
Windows phone 8 (rebuild Slovenia 2012)Windows phone 8 (rebuild Slovenia 2012)
Windows phone 8 (rebuild Slovenia 2012)Andrej Tozon
 
Kako narediti pravi „Metro“ uporabniški vmesnik?
Kako narediti pravi „Metro“ uporabniški vmesnik?Kako narediti pravi „Metro“ uporabniški vmesnik?
Kako narediti pravi „Metro“ uporabniški vmesnik?Andrej Tozon
 
Migrating to Windows Store apps development and beyond
Migrating to Windows Store apps development and beyondMigrating to Windows Store apps development and beyond
Migrating to Windows Store apps development and beyondAndrej Tozon
 
Designing windows 8 metro applications
Designing windows 8 metro applicationsDesigning windows 8 metro applications
Designing windows 8 metro applicationsAndrej Tozon
 
Razvoj lokacijsko orientiranih aplikacij
Razvoj lokacijsko orientiranih aplikacijRazvoj lokacijsko orientiranih aplikacij
Razvoj lokacijsko orientiranih aplikacijAndrej Tozon
 
Entity framework code first migrations
Entity framework code first migrationsEntity framework code first migrations
Entity framework code first migrationsAndrej Tozon
 
MVVM - Model-View-ViewModel
MVVM - Model-View-ViewModelMVVM - Model-View-ViewModel
MVVM - Model-View-ViewModelAndrej Tozon
 
Silverlight and NUI
Silverlight and NUISilverlight and NUI
Silverlight and NUIAndrej Tozon
 
Developing applications for Windows Phone 7
Developing applications for Windows Phone 7Developing applications for Windows Phone 7
Developing applications for Windows Phone 7Andrej Tozon
 
Silverlight in WCF RIA Services
Silverlight in WCF RIA ServicesSilverlight in WCF RIA Services
Silverlight in WCF RIA ServicesAndrej Tozon
 
Novosti v Silverlight 4
Novosti v Silverlight 4Novosti v Silverlight 4
Novosti v Silverlight 4Andrej Tozon
 
Silverlight in MEF
Silverlight in MEFSilverlight in MEF
Silverlight in MEFAndrej Tozon
 
Debugging (Silverlight + SQL Server)
Debugging (Silverlight + SQL Server)Debugging (Silverlight + SQL Server)
Debugging (Silverlight + SQL Server)Andrej Tozon
 
Silverlight v poslovnem svetu
Silverlight v poslovnem svetuSilverlight v poslovnem svetu
Silverlight v poslovnem svetuAndrej Tozon
 

More from Andrej Tozon (20)

NTK 2015: Internet of things track (IoT) - Smart Home
NTK 2015: Internet of things track (IoT) - Smart HomeNTK 2015: Internet of things track (IoT) - Smart Home
NTK 2015: Internet of things track (IoT) - Smart Home
 
Migrating your Windows Store (8) applications to version 8.1
Migrating your Windows Store (8) applications to version 8.1Migrating your Windows Store (8) applications to version 8.1
Migrating your Windows Store (8) applications to version 8.1
 
Developing multimedia applications for Windows 8.x and Windows Phone
Developing multimedia applications for Windows 8.x and Windows PhoneDeveloping multimedia applications for Windows 8.x and Windows Phone
Developing multimedia applications for Windows 8.x and Windows Phone
 
MS Design style za Windows Phone / MS Design style for Windows Phone
MS Design style za Windows Phone / MS Design style for Windows PhoneMS Design style za Windows Phone / MS Design style for Windows Phone
MS Design style za Windows Phone / MS Design style for Windows Phone
 
MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...
MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...
MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows ...
 
Kako narediti vašo aplikacijo živo / How to make your app come to life
Kako narediti vašo aplikacijo živo / How to make your app come to lifeKako narediti vašo aplikacijo živo / How to make your app come to life
Kako narediti vašo aplikacijo živo / How to make your app come to life
 
Windows phone 8 (rebuild Slovenia 2012)
Windows phone 8 (rebuild Slovenia 2012)Windows phone 8 (rebuild Slovenia 2012)
Windows phone 8 (rebuild Slovenia 2012)
 
Kako narediti pravi „Metro“ uporabniški vmesnik?
Kako narediti pravi „Metro“ uporabniški vmesnik?Kako narediti pravi „Metro“ uporabniški vmesnik?
Kako narediti pravi „Metro“ uporabniški vmesnik?
 
Migrating to Windows Store apps development and beyond
Migrating to Windows Store apps development and beyondMigrating to Windows Store apps development and beyond
Migrating to Windows Store apps development and beyond
 
Designing windows 8 metro applications
Designing windows 8 metro applicationsDesigning windows 8 metro applications
Designing windows 8 metro applications
 
Razvoj lokacijsko orientiranih aplikacij
Razvoj lokacijsko orientiranih aplikacijRazvoj lokacijsko orientiranih aplikacij
Razvoj lokacijsko orientiranih aplikacij
 
Entity framework code first migrations
Entity framework code first migrationsEntity framework code first migrations
Entity framework code first migrations
 
MVVM - Model-View-ViewModel
MVVM - Model-View-ViewModelMVVM - Model-View-ViewModel
MVVM - Model-View-ViewModel
 
Silverlight and NUI
Silverlight and NUISilverlight and NUI
Silverlight and NUI
 
Developing applications for Windows Phone 7
Developing applications for Windows Phone 7Developing applications for Windows Phone 7
Developing applications for Windows Phone 7
 
Silverlight in WCF RIA Services
Silverlight in WCF RIA ServicesSilverlight in WCF RIA Services
Silverlight in WCF RIA Services
 
Novosti v Silverlight 4
Novosti v Silverlight 4Novosti v Silverlight 4
Novosti v Silverlight 4
 
Silverlight in MEF
Silverlight in MEFSilverlight in MEF
Silverlight in MEF
 
Debugging (Silverlight + SQL Server)
Debugging (Silverlight + SQL Server)Debugging (Silverlight + SQL Server)
Debugging (Silverlight + SQL Server)
 
Silverlight v poslovnem svetu
Silverlight v poslovnem svetuSilverlight v poslovnem svetu
Silverlight v poslovnem svetu
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
"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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
"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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Rx - Reactive Extensions