SlideShare a Scribd company logo
1 of 14
HATEOAS
Hypermedia As The Evader Of App Stores
Who am I?
Twitter: @darrel_miller
Email: darrel@runscope.com
What do I know?
• Deploying native applications is a
pain
• Hypermedia can reduce deployment
frequency
Where does the business logic go?
Hypermedia ?
More code less theory
Hypermedia API – Example 1
Switch
On
Off
GET /switch
POST /switch/on
POST /switch/off
Demo
So what?
• Links convey options to the client
• Following Links captures the user’s intent
• Client is limited to dealing with the what, not the how
Hypermedia API – Example 2
Expense App
Home
Expenses
Approve
Unapprove
Receipt
{ExpenseId}
Demo
Conclusions
• Client state as an implementation artifact can be valuable
• Using Link types to encapsulate behavior isolates coupling and
enables re-use
• Allowing the server to take responsibility of application
workflow reduces dependencies on client UI frameworks
• Putting your business logic on the server can save you trips to
the app store
http://www.bizcoder.com/ https://github.com/tavis-software
https://github.com/darrel.miller/hypermediaclients
Image Credits
• Child https://www.flickr.com/photos/piulet/
• Tug of War https://flic.kr/p/nD2nj
• Web https://flic.kr/p/5RgD34

More Related Content

What's hot

Introduction to API's
Introduction to API'sIntroduction to API's
Introduction to API's
Nagasahas DS
 
Syncteam products
Syncteam productsSyncteam products
Syncteam products
Syncteam
 
Side content
Side contentSide content
Side content
chaya456
 

What's hot (20)

Why 2 million Developers depend on MuleSoft
Why 2 million Developers depend on MuleSoftWhy 2 million Developers depend on MuleSoft
Why 2 million Developers depend on MuleSoft
 
Limitations and Cost of Using Microsoft's Power Platform
Limitations and Cost of Using Microsoft's Power PlatformLimitations and Cost of Using Microsoft's Power Platform
Limitations and Cost of Using Microsoft's Power Platform
 
Building REST APIs that don't suck for modern day SPAs
Building REST APIs that don't suck for modern day SPAsBuilding REST APIs that don't suck for modern day SPAs
Building REST APIs that don't suck for modern day SPAs
 
Unleash the power of power apps
Unleash the power of power appsUnleash the power of power apps
Unleash the power of power apps
 
[PU&D] - Become a flow/Power Automate hero in 2020 with
[PU&D] - Become a flow/Power Automate hero in 2020 with [PU&D] - Become a flow/Power Automate hero in 2020 with
[PU&D] - Become a flow/Power Automate hero in 2020 with
 
Power platform power automate in a day
Power platform   power automate in a dayPower platform   power automate in a day
Power platform power automate in a day
 
Custom APIs with Powerapps and Microsoft Flow
Custom APIs with Powerapps and Microsoft FlowCustom APIs with Powerapps and Microsoft Flow
Custom APIs with Powerapps and Microsoft Flow
 
Microsoft Power Apps - A Getting Started Guide
Microsoft Power Apps - A Getting Started GuideMicrosoft Power Apps - A Getting Started Guide
Microsoft Power Apps - A Getting Started Guide
 
Welcome to Accelebrate - May 2020
Welcome to Accelebrate - May 2020Welcome to Accelebrate - May 2020
Welcome to Accelebrate - May 2020
 
Reusable APIs
Reusable APIsReusable APIs
Reusable APIs
 
Display Microsoft Teams status on your smart light
Display Microsoft Teams status on your smart lightDisplay Microsoft Teams status on your smart light
Display Microsoft Teams status on your smart light
 
bly:Mobile Frequently Asked Questions
bly:Mobile Frequently Asked Questionsbly:Mobile Frequently Asked Questions
bly:Mobile Frequently Asked Questions
 
Introduction to API's
Introduction to API'sIntroduction to API's
Introduction to API's
 
Syncteam products
Syncteam productsSyncteam products
Syncteam products
 
Connected field service WhatsApp integration with Microsoft 365 Platform
Connected field service WhatsApp integration with Microsoft 365 PlatformConnected field service WhatsApp integration with Microsoft 365 Platform
Connected field service WhatsApp integration with Microsoft 365 Platform
 
Side content
Side contentSide content
Side content
 
Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”
 
On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards
 
Introduction to Microsoft Flow & PowerApps
Introduction to Microsoft Flow & PowerAppsIntroduction to Microsoft Flow & PowerApps
Introduction to Microsoft Flow & PowerApps
 
What is power apps
What is power appsWhat is power apps
What is power apps
 

Similar to Hypermedia As The Evader Of App Stores

Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
Akana
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User Monitoring
Dynatrace
 

Similar to Hypermedia As The Evader Of App Stores (20)

Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API Ninjas
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
 
158 - Product Management for Enterprise-Grade platforms
158 - Product Management for Enterprise-Grade platforms 158 - Product Management for Enterprise-Grade platforms
158 - Product Management for Enterprise-Grade platforms
 
Progressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting StartedProgressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting Started
 
Effective API Design
Effective API DesignEffective API Design
Effective API Design
 
EduID Mobile App - Use-Cases, Concepts and Implementation
EduID Mobile App - Use-Cases, Concepts and ImplementationEduID Mobile App - Use-Cases, Concepts and Implementation
EduID Mobile App - Use-Cases, Concepts and Implementation
 
Open / Public APIs - From Implementation to Digital Business Model
Open / Public APIs - From Implementation to Digital Business ModelOpen / Public APIs - From Implementation to Digital Business Model
Open / Public APIs - From Implementation to Digital Business Model
 
Web Application Development Cost.pdf
Web Application Development Cost.pdfWeb Application Development Cost.pdf
Web Application Development Cost.pdf
 
Building LLM Solutions using Open Source and Closed Source Solutions in Coher...
Building LLM Solutions using Open Source and Closed Source Solutions in Coher...Building LLM Solutions using Open Source and Closed Source Solutions in Coher...
Building LLM Solutions using Open Source and Closed Source Solutions in Coher...
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
 
SharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewSharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief Overview
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User Monitoring
 
What is OpenERP ?
What is OpenERP ?What is OpenERP ?
What is OpenERP ?
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
 
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 

More from darrelmiller71

More from darrelmiller71 (6)

Putting Kit back in SDK
Putting Kit back in SDKPutting Kit back in SDK
Putting Kit back in SDK
 
Consuming REST APIs for all interpretations of REST
Consuming REST APIs for all interpretations of RESTConsuming REST APIs for all interpretations of REST
Consuming REST APIs for all interpretations of REST
 
Hypermedia Driven Reuse
Hypermedia Driven ReuseHypermedia Driven Reuse
Hypermedia Driven Reuse
 
Prairie DevCon 2015 - Crafting Evolvable API Responses
Prairie DevCon 2015 - Crafting Evolvable API ResponsesPrairie DevCon 2015 - Crafting Evolvable API Responses
Prairie DevCon 2015 - Crafting Evolvable API Responses
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about REST
 
Crafting Evolvable Api Responses
Crafting Evolvable Api ResponsesCrafting Evolvable Api Responses
Crafting Evolvable Api Responses
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Recently uploaded (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

Hypermedia As The Evader Of App Stores

Editor's Notes

  1. Developer advocate for Runscope.
  2. Building line of business applications for 20 years. Learning how to build hypermedia applications for the last 8 years. Using rich client applications talking to hypermedia APIs.
  3. When building distributed apps, developers can’t decide where to put the code. Mainframes, PCs, Web, Javascript I fear with our journey into the world of Javascript heavy clients we are going to make the same mistakes we made in the 90’s. I found that REST/Hypermedia creates a nice balance of who does what. The code executes in the optimal place.
  4. What is hypermedia? Hypermedia as the engine of application state
  5. I could talk for hours on all the wonderful things that you can do with hypermedia. I’ve done lots of that. We are starting to see examples of hypermedia in public APIs. But I have seen very few examples of how to take advantage of it. Hypermedia APIs without clients that take advantage are a complete waste of time.
  6. Epic, isn’t it. But wait, it’s not read-only and it’s not CRUD. For those who wish to debate the RESTfulness of this design, the door is over there. I jest, I am happy to discuss that at any time, just not in this talk . More code, less theory.
  7. But that is a simple example, with just one page.