Taking The Cloud Native


Published on

As a Software as a Service (SaaS) development firm, most of work is done in the cloud, but some of our clients want an offline desktop version of their application. While HTML5 has techniques, which allow for offline use (i.e. App Cache and local Storage), these techniques have limitations and don’t always meet the need for a true offline application. This talk will discuss how to take your existing WebApp and build cross platform native desktop applications for Windows, OSX and Linux via node-webkit. We will also dive deep into node-webkit to show you how this is more than just a conversion tool; it expands application possibilities by packaging a live node.js server in every instance. A live step by step conversion of an existing WebApp will be demonstrated, insuring you understand every step needed to convert your own Web App into a native cross platform desktop application.

Dr. Corey Clark (@CoreyClarkPhD) is the founder of Game Theory Labs (@GameTheoryLabs), a Software as a Service (SaaS) development and consulting firm, as well as a Professor of Game and Simulation Programming in Dallas. His current work is focused on building high performance Web Apps using HTML5, Gaming, Cluster Computing, Artificial Intelligence Modeling, Learning and Optimization. Previously he was Principal Investigator (PI) on several advanced research projects for various organizations in the DoD ranging from advanced 3D modeling and simulation of nanoscale deposition techniques to System on Chip SWARM based low power reconfigurable self-healing mesh networks.


Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Taking The Cloud Native

  1. 1. Taking The Cloud Native @CoreyClarkPhD @GameTheoryLabs
  2. 2. !   Founder of Game Theory Labs !   Professor of Game and Simulation Programming ! Nanoscale Semiconductor Growth Kinetics !   Flexible Embedded Electronics for ABL !   SWARM and C4ISR Embedded Systems !   Building HTML5 Web Apps Utilizing: !   Cloud Cluster Computing !   Game Technology !   Artificial Intelligence Modeling, Machine Learning and Optimization What I Do:What I Did:
  3. 3. Why Native?
  4. 4. Native Applications Expands Product Line !   Gives Desktop solution for heavy handed Apps !   Not locked to cloud CaPTIVE: Cancer/Pathology Visualization/Characterization Tool
  5. 5. Offline Capabilities !   No Need to Support Different Browsers !   No limit to App Size !   Quicker Startup !   40MB App !   80% speed increase Omega Resistance: 3D Co-Op Arcade Shooter with Dual Gamepads
  6. 6. ApplicationCache
  7. 7. New Product Types
  8. 8. AppJS…
  9. 9. Node-WebKit “node-webkit is an app runtime based on Chromium and node.js. You can write native apps in HTML and Javascript with node-webkit. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies. It's created and developed in the Intel Open Source Technology Center.”
  10. 10. Node.JS
  11. 11. Chat Demo ! Node.JS ! WebSocket !  Native TCP Socket
  12. 12. Chat: Web Version
  13. 13. Chat: Lets Go Native!
  14. 14. Code Samples ! Base App JS File ! Base NodeJS File ! Node-WebKit File
  15. 15. Conversion Process !  Build *.nw File ! package.json !  Run In App Folder: zip -r ../${PWD##*/}.nw *
  16. 16. OSX !  Copy previous node-webkit.app into folder !  Open contents !  Copy *.nw file into: !  Contents->Resources
  17. 17. Windows !  Copy *.nw file into folder with nw.exe !  Run In Cmd !  copy /b nw.exe+app.nw app.exe !  Zip entire contents
  18. 18. Enigma Virtual Box !  Open Enigma Virtual Box !  Copy contents of node-webkit folder to a %DEFAULT FOLDER% !  Process ! WinXP Issues with WebGL and Packaged DLLs
  19. 19. Gotcha! XHR: Response 0 Not 200 Package DLLs for WebGL File Size
  20. 20. Resources !   Game Theory Labs Blog Post ! http://blog.gametheorylabs.com/2013/06/taking-our-webgl- html5-app-native.html !   Node-WebKit Repo ! https://github.com/rogerwang/node-webkit !   Node-WebKit Wiki ! https://github.com/rogerwang/node-webkit/wiki
  21. 21. Questions? Twitter/Facebook: @CoreyClarkPhD @GameTheoryLabs Blog: blog.gametheorylabs.com Dev Wiki: wiki.gametheorylabs.com Git: git.gametheorylabs.com