SlideShare a Scribd company logo
1 of 26
Native
+ Web = ?
An Exploration (with
Demos!)
Who We Are
   Michael Anderson
       PhD Student at Vanderbilt; Web Developer
       GitHub: http://github.com/mandersondesign
       @mdanderson

   Eli Hooten
       PhD Student at Vanderbilt; Roboticist; C++/Web Developer; Human-
        Computer Interaction/UI/UX researcher
       GitHub: http://github.com/hootener
           Protip: You’ll find the demo code here
       @hootener

    GameWisp
    @gamewisp
    http://gamewisp.com
Some Definitions…
 Native   Applications
    A software application that has been
     developed for use with a specific hardware
     or operating system.
    Leverages details, hooks, and/or weird
     properties of the deployment device.
Some Definitions…
   Web Applications
       A web application is an application that is
        accessed by users over a network such as
        the Internet or an intranet.[1] The term may also
        mean a computer software application that is
        coded in a browser-supported programming
        language (such as JavaScript, combined with a
        browser-rendered markup language like HTML)
        and reliant on a common web browser to
        render the application executable. (Wikipedia)
Native Advantages
 Access   to the system level

 Access   to the hard drive

 Speed    and efficiency

 The   opposite of a box of chocolates.
Native Disadvantages
 Terrible-ish   UI

 Not   intrinsically platform independent

 Difficult   to update and iterate

 Slow   moving standards
Web App Advantages
 Fluid   and growing technology

 Easily
       interchange and interconnect
  technologies

 Beautiful-ish,   easy interface design

 Anyone    with a browser can use it
Web App Disadvantages
 Must   be served by a web server

 Anyone with a browser can use it.
  (Different layout depending on what browser you have)


 Stateless


 No   (or little) access to the system hardware
Problem Summary
 Bad   Design = Bad Product
Problem Summary (let’s get
technical)
 Noaccess to the system makes it hard to
 do something interesting on the desktop.
Solution!
 Native    + Web = Hybrid Application
    Or: Hybrid Application = Native + Web
    (Don’t worry, before you ask, I overloaded the operators)



 So….What        are they?
A Definition
 Hybrid     Application
    “A hybrid application (hybrid app) is one
     that combines elements of both native and
     Web applications. ”

    Source:
     (http://searchsoftwarequality.techtarget.com/definition/hybrid-
     application-hybrid-app)
A Better Definition
   They are foundationally built to leverage the
    hardware of the deployment platform.

   They integrate with web services for most or
    all of the major functions of the application.

   Most use web based rendering engines to
    leverage the interface design methods of
    web based technologies.
Hybrid App Advantages
   Fusion of advantages of web apps and native
    apps.

   Run command line, hardware related calls

   Can be designed to work offline, as well as
    online.

   Beautiful UI and efficient foundational code!
Hybrid App Advantages
    Allows the integration of tons of web
     services and technologies with the desktop
      Node.js
      jQuery  & jQuery UI
      Web App Tech (ie: php, rails, python, MySQL)
      Easy Streaming Video
Hybrid App Disadvantage

 Ifyou do it wrong, it has the
  disadvantages of both approaches!

 Example:     Facebook’s IOS App
      Native -> Hybrid
        Slowest   App Of All Time
      They went back to Native. And Apologized!
Everyone’s Doing it!
Be the peer pressure.
Spotify
Steam
BarCamp Hybrid Demo
 Built   using Qt C++ Framework

 Example     of basic techniques to get you
  started
 Expose C++ Objects to JS to get system
  info and pass information to OS.
     Handled using Signals and Slots; Qt’s fancy
      callbacks.
Current Project - GameWisp
 Hybrid  Application
 Syncing Game Saves to the Cloud
 Social, web app Features
GameWisp – Web App
 Built
      with PHP using the CodeIgniter
  Framework

 Running    on a LAMP stack

 Push    messaging handled by Node.js

 RESTful   API handles Data Exchange
Conclusion
 Most
     applications are tending to be more
 and more hybrid in nature.

 Web services provide content to apps
 that would otherwise be completely static

 TrueHybrid Applications can really open
 your project up for awesome interfaces
Conclusion - Action
 Take
     the first step and add some kind of
 web functionality to your application!

 We   put our demo application on GitHub

 There   are tons of other easy options!
    Add a Twitter feed
    Add a Blog feed
    Add some HTML5 interface elements
You got Qs & We got As
Thanks

 Check   out GameWisp
    http://gamewisp.com

 Apply   to test!

 Check   out our demo project on GitHub
    http://github.com/hootener/BarCampHybrid

More Related Content

What's hot

Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorIonic Framework
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
 
Abilità Informatiche - Lezione 01 introduzione al corso
Abilità Informatiche - Lezione 01   introduzione al corsoAbilità Informatiche - Lezione 01   introduzione al corso
Abilità Informatiche - Lezione 01 introduzione al corsoUniversity of Catania
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGapDotitude
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendCaleb Jenkins
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus Inc.
 
Offline Storage: Build secure, offline-first apps
Offline Storage: Build secure, offline-first appsOffline Storage: Build secure, offline-first apps
Offline Storage: Build secure, offline-first appsRachelAshton5
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day trainingTroy Miles
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101Sam Basu
 
Flutter vs React Native | Edureka
Flutter vs React Native | EdurekaFlutter vs React Native | Edureka
Flutter vs React Native | EdurekaEdureka!
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkSalesforce Developers
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corsoUniversity of Catania
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderJeffrey T. Fritz
 
Drupal 8 preview_slideshow
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshowTee Malapela
 
Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020Devathon
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 

What's hot (20)

Flutter
FlutterFlutter
Flutter
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Abilità Informatiche - Lezione 01 introduzione al corso
Abilità Informatiche - Lezione 01   introduzione al corsoAbilità Informatiche - Lezione 01   introduzione al corso
Abilità Informatiche - Lezione 01 introduzione al corso
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Titanium @ Minnebar
Titanium @ MinnebarTitanium @ Minnebar
Titanium @ Minnebar
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Offline Storage: Build secure, offline-first apps
Offline Storage: Build secure, offline-first appsOffline Storage: Build secure, offline-first apps
Offline Storage: Build secure, offline-first apps
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101
 
Flutter vs React Native | Edureka
Flutter vs React Native | EdurekaFlutter vs React Native | Edureka
Flutter vs React Native | Edureka
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corso
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilder
 
Drupal 8 preview_slideshow
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshow
 
Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Phonegap
PhonegapPhonegap
Phonegap
 

Similar to Native + Web = Hybrid Apps

Web development meetingup
Web development meetingupWeb development meetingup
Web development meetingupPiTechnologies
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & WebHimanshu Jindal
 
Developing a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyDeveloping a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyTodd Anglin
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDKIntel® Software
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of TechnologiesChris Mitchell
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...RIA RUI Society
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run ThroughMike Hartington
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum SlidesAbhishek Gupta
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1NAILBITER
 
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING PamRobert
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Nilay Binjola
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridappsstrider1981
 

Similar to Native + Web = Hybrid Apps (20)

Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
Web development meetingup
Web development meetingupWeb development meetingup
Web development meetingup
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
Developing a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyDeveloping a Modern Mobile App Strategy
Developing a Modern Mobile App Strategy
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Native Touches to your Hybrid Mobile Apps
Native Touches to your Hybrid Mobile AppsNative Touches to your Hybrid Mobile Apps
Native Touches to your Hybrid Mobile Apps
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of Technologies
 
Hybridapp
HybridappHybridapp
Hybridapp
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run Through
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum Slides
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridapps
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Native + Web = Hybrid Apps

  • 1. Native + Web = ? An Exploration (with Demos!)
  • 2. Who We Are  Michael Anderson  PhD Student at Vanderbilt; Web Developer  GitHub: http://github.com/mandersondesign  @mdanderson  Eli Hooten  PhD Student at Vanderbilt; Roboticist; C++/Web Developer; Human- Computer Interaction/UI/UX researcher  GitHub: http://github.com/hootener  Protip: You’ll find the demo code here  @hootener  GameWisp  @gamewisp  http://gamewisp.com
  • 3. Some Definitions…  Native Applications  A software application that has been developed for use with a specific hardware or operating system.  Leverages details, hooks, and/or weird properties of the deployment device.
  • 4. Some Definitions…  Web Applications  A web application is an application that is accessed by users over a network such as the Internet or an intranet.[1] The term may also mean a computer software application that is coded in a browser-supported programming language (such as JavaScript, combined with a browser-rendered markup language like HTML) and reliant on a common web browser to render the application executable. (Wikipedia)
  • 5. Native Advantages  Access to the system level  Access to the hard drive  Speed and efficiency  The opposite of a box of chocolates.
  • 6. Native Disadvantages  Terrible-ish UI  Not intrinsically platform independent  Difficult to update and iterate  Slow moving standards
  • 7. Web App Advantages  Fluid and growing technology  Easily interchange and interconnect technologies  Beautiful-ish, easy interface design  Anyone with a browser can use it
  • 8. Web App Disadvantages  Must be served by a web server  Anyone with a browser can use it. (Different layout depending on what browser you have)  Stateless  No (or little) access to the system hardware
  • 9. Problem Summary  Bad Design = Bad Product
  • 10. Problem Summary (let’s get technical)  Noaccess to the system makes it hard to do something interesting on the desktop.
  • 11. Solution!  Native + Web = Hybrid Application  Or: Hybrid Application = Native + Web  (Don’t worry, before you ask, I overloaded the operators)  So….What are they?
  • 12. A Definition  Hybrid Application  “A hybrid application (hybrid app) is one that combines elements of both native and Web applications. ”  Source: (http://searchsoftwarequality.techtarget.com/definition/hybrid- application-hybrid-app)
  • 13. A Better Definition  They are foundationally built to leverage the hardware of the deployment platform.  They integrate with web services for most or all of the major functions of the application.  Most use web based rendering engines to leverage the interface design methods of web based technologies.
  • 14. Hybrid App Advantages  Fusion of advantages of web apps and native apps.  Run command line, hardware related calls  Can be designed to work offline, as well as online.  Beautiful UI and efficient foundational code!
  • 15. Hybrid App Advantages  Allows the integration of tons of web services and technologies with the desktop  Node.js  jQuery & jQuery UI  Web App Tech (ie: php, rails, python, MySQL)  Easy Streaming Video
  • 16. Hybrid App Disadvantage  Ifyou do it wrong, it has the disadvantages of both approaches!  Example: Facebook’s IOS App  Native -> Hybrid  Slowest App Of All Time  They went back to Native. And Apologized!
  • 17. Everyone’s Doing it! Be the peer pressure.
  • 19. Steam
  • 20. BarCamp Hybrid Demo  Built using Qt C++ Framework  Example of basic techniques to get you started  Expose C++ Objects to JS to get system info and pass information to OS.  Handled using Signals and Slots; Qt’s fancy callbacks.
  • 21. Current Project - GameWisp  Hybrid Application  Syncing Game Saves to the Cloud  Social, web app Features
  • 22. GameWisp – Web App  Built with PHP using the CodeIgniter Framework  Running on a LAMP stack  Push messaging handled by Node.js  RESTful API handles Data Exchange
  • 23. Conclusion  Most applications are tending to be more and more hybrid in nature.  Web services provide content to apps that would otherwise be completely static  TrueHybrid Applications can really open your project up for awesome interfaces
  • 24. Conclusion - Action  Take the first step and add some kind of web functionality to your application!  We put our demo application on GitHub  There are tons of other easy options!  Add a Twitter feed  Add a Blog feed  Add some HTML5 interface elements
  • 25. You got Qs & We got As
  • 26. Thanks  Check out GameWisp  http://gamewisp.com  Apply to test!  Check out our demo project on GitHub  http://github.com/hootener/BarCampHybrid

Editor's Notes

  1. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  2. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  3. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  4. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  5. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  6. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  7. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  8. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  9. Open Spotify here, play a tune
  10. Open Spotify here, play a tuneOpen Steam, show game content and web content
  11. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  12. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  13. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  14. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  15. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app
  16. http://searchsoftwarequality.techtarget.com/definition/native-application-native-app