SlideShare a Scribd company logo
1 of 24
HTML5 Adoption – Migration Strategies and Challenges
2013
Asim Malik – Risk Focus
Chuck Doerr – OpenFin
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/html5-finance-migration
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
©2013 riskfocus.com
About Us
Page 2
Asim Malik
UI Architect @Risk Focus - A Specialist consultancy
delivering Risk Management, Trading and Connectivity
solutions to Global Capital Markets Clients
Chuck Doerr
President and CTO @OpenFin – OpenFin App Desktop
is a Finance-Grade HTML5 runtime that delivers
enhanced security and native user experience.
©2013 riskfocus.com
Agenda
Page 3
• What is HTML5 and why do we care?
• Is the UI ergonomic?
• Can you build high performance, responsive, GUIs?
• Challenges in adopting HTML5 (in particular in Finance)
• Are the development methodologies different?
• Technology Choices
• SDLC
• Real-time connectivity
• Tactical Solutions for deploying application to the desktop
©2013 riskfocus.com
HTML5 Myths
Page 4
• “I don’t want to write any JavaScript because JavaScript is evil”
• “Java/JavaScript – they are the same!”
• “Developing in JavaScript is too hard! ”
• “All HTML5 does is add new tags!”
• “HTML5 apps do not perform well enough.”
©2013 riskfocus.com
HTML5
What is HTML5?
Page 5
ConnectivityDevice
Access
Offline
& Storage
Semantics Multimedia 3D
& Graphics
Performance CSS3
Key Features of HTML5
©2013 riskfocus.com
HTML5
Page 6
=
CONTENT
+ +
BEHAVIOUR PRESENTATION
HTML
©2013 riskfocus.com
Why Html 5
Page 7
• First time that all of the major technology providers have
agreed on a rich, cross-device, cross-OS, UI language
• HTML5 introduces many cutting-edge feature that enables
developers to create apps and websites with the
functionality, speed and experience of desktop
applications.
• But unlike desktop applications, web applications can
reach a much broader audience using a wide array of
devices.
• No need for plugins such as flash especially on iOS devices
©2013 riskfocus.com
Challenges in adopting HTML5
Page 8
Major banks + financial institutions are looking to migrate to HTML5,
but they don’t know how or realize the challenges in adopting HTML5.
Cross-browser development
• Still not easy
• Legacy browsers such as IE6 –IE8
• CSS constructs behave different across browsers
Technologies such as WPF/WinForms are:
• Widely adopted
• Mature technologies
• Integrated with the OS
Developer skills
• Hire and train
• Developers are not Designers!
• Javascript vs CSS
©2013 riskfocus.com
Further HTML5 Challenges in Finance
Page 9
HTML5 provides a solution that is agile and cross-platform, but financial
developers face significant desktop challenges
Legacy Browsers
IE 6, 7 and 8 don’t support
HTML5
Native UX
Financial desktop apps
need native capabilities
Migration
Thick client apps must be
rewritten
©2013 riskfocus.com
Migrate to HTML5
Page 10
• Must define a migration path for existing apps
• HTML5 apps need to seamlessly integrate with a diverse set of technologies
• Silverlight, Flash
• Java, C#, C++
• New development work on existing applications should be HTML5
• Continued support of existing infrastructure is not optional
©2013 riskfocus.com
HTML5 Web Applications
Page 11
• HTML5 applications are not web sites – they are rich GUI’s
• They are long lived, single page apps with no “page based” navigation
• It is becoming much more like traditional software development
• Lots of open source software – few of the choices have been made for you as
they are with traditional application development environments
©2013 riskfocus.com
Tools & Frameworks
Page 12
©2013 riskfocus.com
Choosing the right technologies
UI development in HTML5 is very similar to development in Java, C#, etc.
Page 13
• First a couple HTML5 specific concerns
• Script Loading (aka Dependency Management)
• CSS Pre-Processing
• Same engineering techniques and practices: different tools
• Define basic application architecture
• Base Libraries
• Core Framework
• Application structure beyond frameworks
• Choose correct modularization
• Unit Testing
• Setup Continuous Integration and Deployment Environment
©2013 riskfocus.com
Script Loading – give me what I need, when I need it
Page 14
• Scripts are loaded by add includes in either the HEADER or BODY of HTML
<script type="text/javascript" src=” /jquery.js"></script>
• Issues
• Hard to maintain and keep track of versions
• The order of scripts must be correct
• AMD
• Module Pattern
• AMD encapsulates logic and avoids creating globals
• Defines a javascript module and its dependencies
• Use a dependency manager/script loader e.g. RequireJS
• Provides a mechanism for loading AMD
• Maintains the order of dependencies using shims
©2013 riskfocus.com
CSS Preprocessing
Page 15
• CSS Weaknesses
• Hard to maintain/change
• Violates DRY
• Huge Messy CSS files
• What do CSS-preprocessors provide?
• Modularization of CSS
• Easy to change colours, fonts, whole chunks, etc
• Integrates with your build
• Color code different environments
• LESS/Sass/STYLUS
• Twitter bootstrap uses LESS
• Foundation provides Support for Sass
©2013 riskfocus.com
Basic Application Architecture
Page 16
©2013 riskfocus.com
Continuous Integration & Build
Page 17
©2013 riskfocus.com
Real Time Connectivity
Traditional Approaches
Page 18
• Polling
• Comet
• Bespoke sockets
Websockets
• Offers bidirectional connectivity, built on top of TCP
• Shares ports with HTTP (80 and 443)
• Cross origin
• Open Source and Commercial frameworks available for
backward compatibility
• Atmosphere, Liberator, Kaazing, Diffusion, Nirvana, Socket.io
©2013 riskfocus.com
Running your Web Application
Page 19
• Modern browsers have limited
penetration within Financial Services
• IE 8 has minimal HTML5 support
• Chrome or Firefox
• Chrome Frame - plugin for IE (6-9)
Web Browser – in the browser user experience
©2013 riskfocus.com
Running your Web Application
Page 20
• Chromium – wrap your application with CEF
• Maintenance of a proprietary runtime container is often
underestimated
• Advanced integration and UI features are often left to
the application teams
• Business support is challenging to maintain over time
• Commercial Runtime
• Feature rich set of requirements powered by
requirements of many clients
• Professional support
• Lower cost and faster time to market
HTML5 Runtime – native application user experience
©2013 riskfocus.com
Contact
Page 21
asim@riskfocus.com
@asimmalik
http://uk.linkedin.com/in/asimsmalik
chuck@openf.in
@chuckdoerr
http://linkedin.com/in/chuckdoerr
Asim Malik Chuck Doerr
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/html5-
finance-migration

More Related Content

More from C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

More from C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

HTML5 Adoption in Finance - Migration Strategies and Challenges

  • 1. HTML5 Adoption – Migration Strategies and Challenges 2013 Asim Malik – Risk Focus Chuck Doerr – OpenFin
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /html5-finance-migration
  • 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4. ©2013 riskfocus.com About Us Page 2 Asim Malik UI Architect @Risk Focus - A Specialist consultancy delivering Risk Management, Trading and Connectivity solutions to Global Capital Markets Clients Chuck Doerr President and CTO @OpenFin – OpenFin App Desktop is a Finance-Grade HTML5 runtime that delivers enhanced security and native user experience.
  • 5. ©2013 riskfocus.com Agenda Page 3 • What is HTML5 and why do we care? • Is the UI ergonomic? • Can you build high performance, responsive, GUIs? • Challenges in adopting HTML5 (in particular in Finance) • Are the development methodologies different? • Technology Choices • SDLC • Real-time connectivity • Tactical Solutions for deploying application to the desktop
  • 6. ©2013 riskfocus.com HTML5 Myths Page 4 • “I don’t want to write any JavaScript because JavaScript is evil” • “Java/JavaScript – they are the same!” • “Developing in JavaScript is too hard! ” • “All HTML5 does is add new tags!” • “HTML5 apps do not perform well enough.”
  • 7. ©2013 riskfocus.com HTML5 What is HTML5? Page 5 ConnectivityDevice Access Offline & Storage Semantics Multimedia 3D & Graphics Performance CSS3 Key Features of HTML5
  • 8. ©2013 riskfocus.com HTML5 Page 6 = CONTENT + + BEHAVIOUR PRESENTATION HTML
  • 9. ©2013 riskfocus.com Why Html 5 Page 7 • First time that all of the major technology providers have agreed on a rich, cross-device, cross-OS, UI language • HTML5 introduces many cutting-edge feature that enables developers to create apps and websites with the functionality, speed and experience of desktop applications. • But unlike desktop applications, web applications can reach a much broader audience using a wide array of devices. • No need for plugins such as flash especially on iOS devices
  • 10. ©2013 riskfocus.com Challenges in adopting HTML5 Page 8 Major banks + financial institutions are looking to migrate to HTML5, but they don’t know how or realize the challenges in adopting HTML5. Cross-browser development • Still not easy • Legacy browsers such as IE6 –IE8 • CSS constructs behave different across browsers Technologies such as WPF/WinForms are: • Widely adopted • Mature technologies • Integrated with the OS Developer skills • Hire and train • Developers are not Designers! • Javascript vs CSS
  • 11. ©2013 riskfocus.com Further HTML5 Challenges in Finance Page 9 HTML5 provides a solution that is agile and cross-platform, but financial developers face significant desktop challenges Legacy Browsers IE 6, 7 and 8 don’t support HTML5 Native UX Financial desktop apps need native capabilities Migration Thick client apps must be rewritten
  • 12. ©2013 riskfocus.com Migrate to HTML5 Page 10 • Must define a migration path for existing apps • HTML5 apps need to seamlessly integrate with a diverse set of technologies • Silverlight, Flash • Java, C#, C++ • New development work on existing applications should be HTML5 • Continued support of existing infrastructure is not optional
  • 13. ©2013 riskfocus.com HTML5 Web Applications Page 11 • HTML5 applications are not web sites – they are rich GUI’s • They are long lived, single page apps with no “page based” navigation • It is becoming much more like traditional software development • Lots of open source software – few of the choices have been made for you as they are with traditional application development environments
  • 14. ©2013 riskfocus.com Tools & Frameworks Page 12
  • 15. ©2013 riskfocus.com Choosing the right technologies UI development in HTML5 is very similar to development in Java, C#, etc. Page 13 • First a couple HTML5 specific concerns • Script Loading (aka Dependency Management) • CSS Pre-Processing • Same engineering techniques and practices: different tools • Define basic application architecture • Base Libraries • Core Framework • Application structure beyond frameworks • Choose correct modularization • Unit Testing • Setup Continuous Integration and Deployment Environment
  • 16. ©2013 riskfocus.com Script Loading – give me what I need, when I need it Page 14 • Scripts are loaded by add includes in either the HEADER or BODY of HTML <script type="text/javascript" src=” /jquery.js"></script> • Issues • Hard to maintain and keep track of versions • The order of scripts must be correct • AMD • Module Pattern • AMD encapsulates logic and avoids creating globals • Defines a javascript module and its dependencies • Use a dependency manager/script loader e.g. RequireJS • Provides a mechanism for loading AMD • Maintains the order of dependencies using shims
  • 17. ©2013 riskfocus.com CSS Preprocessing Page 15 • CSS Weaknesses • Hard to maintain/change • Violates DRY • Huge Messy CSS files • What do CSS-preprocessors provide? • Modularization of CSS • Easy to change colours, fonts, whole chunks, etc • Integrates with your build • Color code different environments • LESS/Sass/STYLUS • Twitter bootstrap uses LESS • Foundation provides Support for Sass
  • 20. ©2013 riskfocus.com Real Time Connectivity Traditional Approaches Page 18 • Polling • Comet • Bespoke sockets Websockets • Offers bidirectional connectivity, built on top of TCP • Shares ports with HTTP (80 and 443) • Cross origin • Open Source and Commercial frameworks available for backward compatibility • Atmosphere, Liberator, Kaazing, Diffusion, Nirvana, Socket.io
  • 21. ©2013 riskfocus.com Running your Web Application Page 19 • Modern browsers have limited penetration within Financial Services • IE 8 has minimal HTML5 support • Chrome or Firefox • Chrome Frame - plugin for IE (6-9) Web Browser – in the browser user experience
  • 22. ©2013 riskfocus.com Running your Web Application Page 20 • Chromium – wrap your application with CEF • Maintenance of a proprietary runtime container is often underestimated • Advanced integration and UI features are often left to the application teams • Business support is challenging to maintain over time • Commercial Runtime • Feature rich set of requirements powered by requirements of many clients • Professional support • Lower cost and faster time to market HTML5 Runtime – native application user experience
  • 24. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/html5- finance-migration