SlideShare a Scribd company logo
MVVM with Kendo UI
BRUNO PESSANHA
MVVM
BRUNO PESSANHA – MVVM WITH KENDO UI
MVVM
BRUNO PESSANHA – MVVM WITH KENDO UI
Advantages Disadvantages
Facilitates easier parallel development of a UI and
the building blocks that power it
For simpler UIs, MVVM can be overkill.
Abstracts the View and thus reduces the quantity of
business logic (or glue) required in the code behind
it.
Whilst data-bindings can be declarative and nice to
work with, they can be harder to debug than
imperative code where we simply set breakpoints.
The ViewModel can be easier to unit test than
event-driven code.
Data-bindings in non-trivial applications can create
a lot of book-keeping. You also don’t want to end
up in a situation where bindings are heavier than
the objects being bound to.
The ViewModel (being more Model than View) can
be tested without concerns of UI automation and
interaction.
In larger applications, it can be more difficult to
design the ViewModel up front to get the necessary
amount of generalisation.
Kendo MVVM – Model
BRUNO PESSANHA – MVVM WITH KENDO UI
Data;
UI Independent;
State;
Written in code;
Represented by pure data.
Kendo MVVM – View
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – View-Model
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Binding View to View-Model
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Binding View to View-Model
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Observable Array
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Getting a field value
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Getting a field value
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Setting a field value
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Calculated field
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Bindings
Attr Checked
Click Custom
Disabled Enabled
Events HTML
Invisible Source
Style Text
Value Visible
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Bindings – Attr
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Bindings – Source
BRUNO PESSANHA – MVVM WITH KENDO UI
Kendo MVVM – Bindings – Custom
BRUNO PESSANHA – MVVM WITH KENDO UI
References
 http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx
 http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
 http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/overview
 http://demos.telerik.com/kendo-ui/mvvm/index
 http://en.wikipedia.org/wiki/Model_View_ViewModel
 http://blogs.msdn.com/b/johngossman/archive/2006/03/04/543695.aspx
BRUNO PESSANHA – MVVM WITH KENDO UI
Ad

More Related Content

What's hot (20)

Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
Eyal Vardi
 
Node.js File system & Streams
Node.js File system & StreamsNode.js File system & Streams
Node.js File system & Streams
Eyal Vardi
 
Expressjs
ExpressjsExpressjs
Expressjs
Yauheni Nikanovich
 
Node.js Express Framework
Node.js Express FrameworkNode.js Express Framework
Node.js Express Framework
TheCreativedev Blog
 
Express JS
Express JSExpress JS
Express JS
Alok Guha
 
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
NAVER Engineering
 
JSON Schema Design
JSON Schema DesignJSON Schema Design
JSON Schema Design
Octavian Nadolu
 
Express node js
Express node jsExpress node js
Express node js
Yashprit Singh
 
Owl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOwl: The New Odoo UI Framework
Owl: The New Odoo UI Framework
Odoo
 
Flutter bus 2018
Flutter bus 2018Flutter bus 2018
Flutter bus 2018
Ahmed Abu Eldahab
 
react redux.pdf
react redux.pdfreact redux.pdf
react redux.pdf
Knoldus Inc.
 
JAVASCRIPT.pdf
JAVASCRIPT.pdfJAVASCRIPT.pdf
JAVASCRIPT.pdf
KattaVenkatesh4
 
Build Your Own Angular Component Library
Build Your Own Angular Component LibraryBuild Your Own Angular Component Library
Build Your Own Angular Component Library
Carlo Bonamico
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
David Ličen
 
React Native
React NativeReact Native
React Native
Artyom Trityak
 
The Odoo JS Framework
The Odoo JS FrameworkThe Odoo JS Framework
The Odoo JS Framework
Odoo
 
React Architecture & Best Practices.pptx
React Architecture & Best Practices.pptxReact Architecture & Best Practices.pptx
React Architecture & Best Practices.pptx
AleksandarKondov
 
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Matt Raible
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
CONNECT FOUNDATION
 
Introduction to HTML-CSS-Javascript.pdf
Introduction to HTML-CSS-Javascript.pdfIntroduction to HTML-CSS-Javascript.pdf
Introduction to HTML-CSS-Javascript.pdf
DakshPratapSingh1
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
Eyal Vardi
 
Node.js File system & Streams
Node.js File system & StreamsNode.js File system & Streams
Node.js File system & Streams
Eyal Vardi
 
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
NAVER Engineering
 
Owl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOwl: The New Odoo UI Framework
Owl: The New Odoo UI Framework
Odoo
 
Build Your Own Angular Component Library
Build Your Own Angular Component LibraryBuild Your Own Angular Component Library
Build Your Own Angular Component Library
Carlo Bonamico
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
David Ličen
 
The Odoo JS Framework
The Odoo JS FrameworkThe Odoo JS Framework
The Odoo JS Framework
Odoo
 
React Architecture & Best Practices.pptx
React Architecture & Best Practices.pptxReact Architecture & Best Practices.pptx
React Architecture & Best Practices.pptx
AleksandarKondov
 
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Matt Raible
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
CONNECT FOUNDATION
 
Introduction to HTML-CSS-Javascript.pdf
Introduction to HTML-CSS-Javascript.pdfIntroduction to HTML-CSS-Javascript.pdf
Introduction to HTML-CSS-Javascript.pdf
DakshPratapSingh1
 

Similar to MVVM with Kendo UI (20)

MVVM-C vs MVP
MVVM-C vs MVPMVVM-C vs MVP
MVVM-C vs MVP
Aydar Mukhametzyanov
 
How I Accidentally Discovered MVVM
How I Accidentally Discovered MVVMHow I Accidentally Discovered MVVM
How I Accidentally Discovered MVVM
Bradford Dillon
 
Tales of Two Brothers
Tales of Two BrothersTales of Two Brothers
Tales of Two Brothers
Fiyaz Hasan
 
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryCassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
DataStax Academy
 
Sap webdynpro abap training
Sap webdynpro abap trainingSap webdynpro abap training
Sap webdynpro abap training
training13acutesoft
 
SAP WEBDYNPRO ABAP TRAINING
SAP WEBDYNPRO ABAP TRAININGSAP WEBDYNPRO ABAP TRAINING
SAP WEBDYNPRO ABAP TRAINING
Santhosh Sap
 
Model View Madness
Model View MadnessModel View Madness
Model View Madness
Mike Wilcox
 
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATIONRESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
Morten Pedersen
 
Android MVVM
Android MVVMAndroid MVVM
Android MVVM
Vinícius Tonial Sossella
 
Introduction to .NET MAUI
Introduction to .NET MAUIIntroduction to .NET MAUI
Introduction to .NET MAUI
Moaid Hathot
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patterns
eleksdev
 
Vue JS Interview Questions By Scholarhat
Vue JS Interview Questions By ScholarhatVue JS Interview Questions By Scholarhat
Vue JS Interview Questions By Scholarhat
Scholarhat
 
Magnolia blossom-webinar
Magnolia blossom-webinarMagnolia blossom-webinar
Magnolia blossom-webinar
bkraft
 
Tanzu Developer Connect Workshop - 06022022.pdf
Tanzu Developer Connect Workshop - 06022022.pdfTanzu Developer Connect Workshop - 06022022.pdf
Tanzu Developer Connect Workshop - 06022022.pdf
GabrielaRodriguez182401
 
Vue.js Getting Started
Vue.js Getting StartedVue.js Getting Started
Vue.js Getting Started
Murat Doğan
 
Building an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernateBuilding an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernate
bwullems
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: Android
Jitendra Kumar
 
Overview of Model View View Model pattern
Overview of Model View View Model patternOverview of Model View View Model pattern
Overview of Model View View Model pattern
Patiento Del Mar
 
MVC From Beginner to Advance in Indian Style by - Indiandotnet
MVC From Beginner to Advance in Indian Style by - IndiandotnetMVC From Beginner to Advance in Indian Style by - Indiandotnet
MVC From Beginner to Advance in Indian Style by - Indiandotnet
Indiandotnet
 
Weavy CocoaHeads
Weavy CocoaHeadsWeavy CocoaHeads
Weavy CocoaHeads
Thibault Wittemberg
 
How I Accidentally Discovered MVVM
How I Accidentally Discovered MVVMHow I Accidentally Discovered MVVM
How I Accidentally Discovered MVVM
Bradford Dillon
 
Tales of Two Brothers
Tales of Two BrothersTales of Two Brothers
Tales of Two Brothers
Fiyaz Hasan
 
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryCassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
DataStax Academy
 
SAP WEBDYNPRO ABAP TRAINING
SAP WEBDYNPRO ABAP TRAININGSAP WEBDYNPRO ABAP TRAINING
SAP WEBDYNPRO ABAP TRAINING
Santhosh Sap
 
Model View Madness
Model View MadnessModel View Madness
Model View Madness
Mike Wilcox
 
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATIONRESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
Morten Pedersen
 
Introduction to .NET MAUI
Introduction to .NET MAUIIntroduction to .NET MAUI
Introduction to .NET MAUI
Moaid Hathot
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patterns
eleksdev
 
Vue JS Interview Questions By Scholarhat
Vue JS Interview Questions By ScholarhatVue JS Interview Questions By Scholarhat
Vue JS Interview Questions By Scholarhat
Scholarhat
 
Magnolia blossom-webinar
Magnolia blossom-webinarMagnolia blossom-webinar
Magnolia blossom-webinar
bkraft
 
Tanzu Developer Connect Workshop - 06022022.pdf
Tanzu Developer Connect Workshop - 06022022.pdfTanzu Developer Connect Workshop - 06022022.pdf
Tanzu Developer Connect Workshop - 06022022.pdf
GabrielaRodriguez182401
 
Vue.js Getting Started
Vue.js Getting StartedVue.js Getting Started
Vue.js Getting Started
Murat Doğan
 
Building an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernateBuilding an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernate
bwullems
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: Android
Jitendra Kumar
 
Overview of Model View View Model pattern
Overview of Model View View Model patternOverview of Model View View Model pattern
Overview of Model View View Model pattern
Patiento Del Mar
 
MVC From Beginner to Advance in Indian Style by - Indiandotnet
MVC From Beginner to Advance in Indian Style by - IndiandotnetMVC From Beginner to Advance in Indian Style by - Indiandotnet
MVC From Beginner to Advance in Indian Style by - Indiandotnet
Indiandotnet
 
Ad

Recently uploaded (20)

Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Ad

MVVM with Kendo UI

  • 1. MVVM with Kendo UI BRUNO PESSANHA
  • 2. MVVM BRUNO PESSANHA – MVVM WITH KENDO UI
  • 3. MVVM BRUNO PESSANHA – MVVM WITH KENDO UI Advantages Disadvantages Facilitates easier parallel development of a UI and the building blocks that power it For simpler UIs, MVVM can be overkill. Abstracts the View and thus reduces the quantity of business logic (or glue) required in the code behind it. Whilst data-bindings can be declarative and nice to work with, they can be harder to debug than imperative code where we simply set breakpoints. The ViewModel can be easier to unit test than event-driven code. Data-bindings in non-trivial applications can create a lot of book-keeping. You also don’t want to end up in a situation where bindings are heavier than the objects being bound to. The ViewModel (being more Model than View) can be tested without concerns of UI automation and interaction. In larger applications, it can be more difficult to design the ViewModel up front to get the necessary amount of generalisation.
  • 4. Kendo MVVM – Model BRUNO PESSANHA – MVVM WITH KENDO UI Data; UI Independent; State; Written in code; Represented by pure data.
  • 5. Kendo MVVM – View BRUNO PESSANHA – MVVM WITH KENDO UI
  • 6. Kendo MVVM – View-Model BRUNO PESSANHA – MVVM WITH KENDO UI
  • 7. Kendo MVVM – Binding View to View-Model BRUNO PESSANHA – MVVM WITH KENDO UI
  • 8. Kendo MVVM – Binding View to View-Model BRUNO PESSANHA – MVVM WITH KENDO UI
  • 9. Kendo MVVM – Observable Array BRUNO PESSANHA – MVVM WITH KENDO UI
  • 10. Kendo MVVM – Getting a field value BRUNO PESSANHA – MVVM WITH KENDO UI
  • 11. Kendo MVVM – Getting a field value BRUNO PESSANHA – MVVM WITH KENDO UI
  • 12. Kendo MVVM – Setting a field value BRUNO PESSANHA – MVVM WITH KENDO UI
  • 13. Kendo MVVM – Calculated field BRUNO PESSANHA – MVVM WITH KENDO UI
  • 14. Kendo MVVM – Bindings Attr Checked Click Custom Disabled Enabled Events HTML Invisible Source Style Text Value Visible BRUNO PESSANHA – MVVM WITH KENDO UI
  • 15. Kendo MVVM – Bindings – Attr BRUNO PESSANHA – MVVM WITH KENDO UI
  • 16. Kendo MVVM – Bindings – Source BRUNO PESSANHA – MVVM WITH KENDO UI
  • 17. Kendo MVVM – Bindings – Custom BRUNO PESSANHA – MVVM WITH KENDO UI
  • 18. References  http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx  http://msdn.microsoft.com/en-us/magazine/dd419663.aspx  http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/overview  http://demos.telerik.com/kendo-ui/mvvm/index  http://en.wikipedia.org/wiki/Model_View_ViewModel  http://blogs.msdn.com/b/johngossman/archive/2006/03/04/543695.aspx BRUNO PESSANHA – MVVM WITH KENDO UI

Editor's Notes

  • #3: The Model View ViewModel (MVVM) is an architectural pattern used in software engineering that originated from Microsoft as a specialization of the Presentation Model design pattern introduced by Martin Fowler. MVVM facilitates a clear separation of the development of the graphical user interface (either as markup language or GUI code) from the development of the business logic or back end logic known as the model (also known as the data model to distinguish it from the view model). The view model of MVVM is a value converter[6] meaning that the view model is responsible for exposing the data objects from the model in such a way that those objects are easily managed and consumed. In this respect, the view model is more model than view, and handles most if not all of the view’s display logic (though the demarcation between what functions are handled by which layer is a subject of ongoing discussion[6] and exploration). The view model may also implement a mediator pattern organising access to the backend logic around the set of use cases supported by the view.
  • #5: Kendo MVVM is an implementation of the MVVM pattern which seamlessly integrates with the rest of the Kendo framework (widgets and DataSource). The Model is defined as in MVC; it is the data or business logic, completely UI independent, that stores the state and does the processing of the problem domain.  The Model is written in code or is represented by pure data encoded in relational tables or XML.  The View is almost always defined declaratively, very often with a tool.  By the nature of these tools and declarative languages some view state that MVC encodes in its View classes is not easy to represent.  For example, the UI may have multiple modes of interaction such as "view mode" and "edit mode" that change the behavior of the controls or the look of the visuals.
  • #6: The View in Model/View/ViewModel consists of the visual elements, the buttons, windows, graphics and more complex controls of a GUI. 
  • #10: The ObservableArray wraps an existing Array object with change tracking capabilities.
  • #16: The attr binding populates DOM element attributes from View-Model fields or methods. This is useful in many cases - setting the href and titleof a hyperlink, setting the src attribute of an image etc. If the View-Model field(s) change the attributes would be updated. The attr binding is set like this: attr: { attribute1: field1, attribute2: field2 } where attribute1 and attribute2 are the names of the attributes that would be set and field1 and field2 are the names of the View-Model fields to which those attributes would be bound. 
  • #17: The source binding sets the HTML content of the target element by rendering a Kendo template with a View-Model value. If the View-Model value changes the HTML content of the target element will be updated. The template is specified by the data-template attribute of the element. The value of that attribute should be the value of the id of an existing script element which defines the Kendo template. If a template is not specified a default template will be used depending on element tag name.
  • #18: The refresh handler is responsible for updating the HTML element. It will be executed each time when the value of the bound MVVM field changes. The bound DOM element and attached MVVM bindings could be retrieved through the context of the function. The change handler is responsible for updating the View-Model. It listens for the change event of the bound HTML input element. The View-Model is updated through the set(value) method of the binding.