SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Developer
Training

                          23rd April 2012




Winner 2012
Predictions:
HTML5 Will Cross the
Enterprise Tipping Point
Company Confidential
Information
Company Confidential Information




                                      1
Contents



•   Introduction & Background
•   Using the platform
•   Architecture of an App
•   Client Development
•   Cloud Development
•   Practical Examples
•   Docs & Resources



                                2
Introduction & Background




                            3
Mobile Internet - Growth


        Mobile Internet Usage will overtake Desktop in 2014




                                                              4
Smartphones - Growth



•   Pre iPhone (Android and Windows Phone 7) 90% of
    the systems that connected to the web were PCs (only
    5 years ago!)
•   In 2012
    •   PC sales worldwide will reach ~400 million units
    •   Smartphones will surpass 600 million units.
    •   Tablets will sell about 100 million units.

•   By 2015
    •   Tablet sales will triple to about 300 million.
    •   Smartphones sales will leap past 1.1 billion.


                                                           5
Gartner Predictions...



•   By year-end 2014, 185 billion applications will have been downloaded from
    mobile app stores.


•   By 2014 Over 80% of mobile front-ends for existing applications and up to 70% of
    new mobile apps will rely on HTML5 for client user interface


•   By 2015, mobile application development projects targeting smartphones and
    tablets will outnumber native PC projects by a ratio of 4-to-1.


•   By 2015, PC sales will grow to over 500 million, but tablets will triple to about 300
    million and smartphones will leap past 1.1 billion.


•   By year-end 2016, more than 50 percent of Global 1000 companies will have
    stored customer-sensitive data in the public cloud.



                                                                                            6
Cross Platform Options




                         7
FeedHenry – A Brief History



•   Founded in Waterford, Ireland as a research spin-out
    – 2008
•   Customers & Revenue – 2009 & growing rapidly
•   Venture capital funded – 2010
•   US headquarters near Boston, MA – 2010
•   Partnership with VMware’s Cloud Foundry – 2012




                                                           8
FeedHenry – The Name!



•   Started as a research project – mid 2000’s
•   Researcher got to name the project
•   Initial focus was RSS feed technology
•   Researcher loved hurling
    •   http://en.wikipedia.org/wiki/Hurling

•   Big fan of hurler called “Henry Shefflin”
    •   http://en.wikipedia.org/wiki/Henry_Shefflin




                                                      9
Photo: Peter Grogan
Powering Enterprise Apps
from the Cloud


                  Mobile Platform-as-a-Service for Business
                                                to


                    Build, Integrate and Manage -
            Secure Enterprise Apps from the Cloud




Our Vision:
Low cost enterprise mobility solutions on all major smartphones & tablets, powered
and managed from the cloud and integrated securely with existing IT systems.


                                                                                      1
                                                                                     11
Develop, Integrate, Stage
…all in the Cloud




    DEVELOP                      INTEGRATE                STAGE
 HTML5/ X-Platform client side          Node.js          Staging/Deployment
                                  Backend-as-a-service      to “Any Cloud”




                                                                               1
                                                                              12
End-to-end PaaS
App Development & Server-side Integration


               AppStudio                                              AppCloud
                Develop                                                Integrate




                    Build Farm


      Build & Deploy                                       Execute & Store
      Cross platform apps for all devices                  Server-side execution, caching & storage




       Discover & Distribute                               Integrate & Connect
       Via Public, Private App stores & OTA                Connect to APIs and backend systems



                                              HTML5, Hybrid, Native




                                                                                  Mobile
                                                                                   Web



                                                                                                       1
                                                                                                      13
Using the Platform




                     1
Two ways to access



•   FHC – Command Line Client
    •   http://docs.feedhenry.com/rhino/fhc_command_line_tool.html
    •   Requires Node.js & npm
    •   sudo npm install -g fh-fhc



•   App Studio – Web Based Graphical User
    Interface
    •   https://training.feedhenry.com/
    •   Studio Demo



•   Task – Install Node.js, npm & fhc


                                                                     1
Getting started with FHC



Build & deploy an app in 3 easy steps
•   fhc target training.feedhenry.com

•   fhc login <username> <password>

•   fhc apps create my-first-app
    git://github.com/feedhenry/App-Anatomy.git

•   fhc stage <app-id> dev

•   fhc build app=<APP-ID> config=debug
    destination=android version=2.2
    download=true




                                                 1
Architecture of an App




                         1
Cloud Platform
Architecture I




                 1
APIs



https://docs.feedhenry.com/nodejs/api_reference.html
•   On Device
    •   Call cloud Functions/Actions - $fh.act()
    •   Data Persistence - $fh.data()
    •   Web Call (Ajax) - $fh.web()
    •   Geo/Maps - $fh.geo() / $fh.map()
    •   Audio - $fh.audio()
    •   Security - $fh.sec()

•   Cloud
    •   Web - $fh.web()
    •   Cache - $fh.cache()
    •   Security - $fh.sec()


                                                       1
Cloud Platform
Architecture II




           Node.js
           -         Redis
           App
           Cloud
           Busines
           s
           Logic




                             2
Cloud Powered Apps




                     2
Directory Structure



/client
•   Contains all files which may be included when an app is built.

•   Divided into packages – incremental units of functionality and
    configuration.

/cloud
•   Contains all server-side JavaScript.

•   Must contain a file called main.js

•   All functions in main.js are public & can be called from client side

/shared
•   contains files which can be included as client side files and also
    referenced as server-side files

                                                                           2
Packages



•   Represented as directories within /client
•   “default” package is required & always applied
    •   Keep as much code as possible in here

•   Custom packages applied to destinations under
    Configuration section
•   Multiple packages can be applied
    •   Each package is layered on top of previous one

•   Used to incrementally add
    functionality, configuration, look & feel…


                                                         2
Client Development




                     2
Basics



•   HTML (5), CSS (3), JavaScript


•   Hand rolled or UI library


•   UI Libraries
    •   Sencha Touch - http://www.sencha.com/products/touch/demos/
    •   jQuery Mobile - http://jquerymobile.com/




                                                                     2
Sencha Touch



•   UI Defined in JavaScript/JSON
•   More “native” look & feel out of the box
•   Good support for iOS & Android
•   Basic support for BlackBerry
•   No (official) support for Windows Phone 7
    •   Better chance on WP 7.5

•   Sample Apps:
    •   API Tester: https://github.com/feedhenry/FH-Sample-Sencha-Device-API-Tester
    •   Training App: https://github.com/feedhenry/FH-Training-App-Sencha




                                                                                      2
jQuery Mobile



•   UI Defined in HTML
•   Look & feel not as “native” as Sencha
    •   Can be styled to look more native using packages

•   Decent support for all major smartphones.
•   UI Builder available
    •   http://codiqa.com/

•   Sample App:
    •   Training App: https://github.com/feedhenry/FH-Training-App-JQM




                                                                         2
Buillding, Deploying & Testing Apps



•   Depends on target platform
•   Android is easiest to build & deploy
    •   Dropbox
    •   Email
    •   Android Developer Tools

•   iOS Requires uploading credentials
    •   Private Key, Certificate & Provisioning Profile

•   Resources:
    •   http://docs.feedhenry.com/nodejs/app_building_and_submission.html
    •   http://docs.feedhenry.com/nodejs/deploying_apps.html



                                                                            2
Cloud Development




                    2
Node.js - Intro



•   http://www.nodejs.org
•   Server Side JavaScript
•   Built on top of V8 (C++)
    •   JavaScript Rendering Engine from Google Chrome

•   Non Blocking!!!!
    •   Uses callbacks for I/O operations

•   Event Driven
    •   Same idea as client side JS – click event, mouse event….

•   Light Weight

                                                                   3
Node.js - Sample

var fs = require('fs'); // include file-system module


// This is synchronous. It's blocking!
var data = fs.readFileSync('README.md', 'utf8');
// This might take a while. Waiting, waiting...
console.log("Sync File read success n" + data);


// This is asynchronous, it's non-blocking!
fs.readFile('README.md', 'utf8', function(err,data){
  // Hello, Callback
  if(err) {
    console.error("Could not open file %s", err);
  } else {
    console.log("Async File read success n" + data);
  }
});
console.log("After Async File Read");



                                                        3
Node.js - App Basics



•   Define public functions in main.js
•   No need to build boilerplate web server
    •   Added automatically when staged

•   All standard Node modules available to use
    •   https://github.com/joyent/node/wiki/modules
    •   Don’t use web framework modules – handled automatically

•   Sample App:
    •   https://github.com/feedhenry/FH-Training-App-Business-Node.js




                                                                        3
Develop & Test



•   Cloud code can be developed independently
    from client
•   Use fhc to call cloud functions
    •   fhc act <app-id> <server-function> <params>

•   Use expresso to exercise test cases on cloud
    code
    •   http://visionmedia.github.com/expresso/

•   Example App
    •   https://github.com/feedhenry/Node.js-Smoke-Test-App



                                                              3
Practical Examples




                     3
App Anatomy



GitHub : https://github.com/feedhenry/App-Anatomy

Tutorial : http://docs.feedhenry.com/training-labs/app-labs/app-
   anatomy/



•   Use Packages to control look
    and feel.

•   Use shared config file to define
    initial in-app config and cloud
    accessible config.

•   Update in-app contents on app
    start up / on the fly from cloud.




                                                                   3
Client API Tester



GitHub : https://github.com/feedhenry/FH-Sample-Sencha-Device-API-Tester

Tutorial : http://docs.feedhenry.com/rhino/sencha_touch_tutorial.html



•   Sencha Touch UI

•   Sample code for client APIs
    /client/default/script/controller

•   Sencha UI definitions stored
    in cloud for post-deploy mods.
    Retreived via getUI function
    in main.js.




                                                                           3
Server API Tester



GitHub : https://github.com/feedhenry/Node.js-Smoke-Test-App



•   Sample code for Server APIs in /cloud directory



•   Sample code for expresso tests in /test directory
    •   Edit test/test.js and set correct App Id
    •   Run expresso test/test.js to execute tests



•   Client UI for manual testing


                                                               3
Docs & Resources




                   3
Resources



•   This slide deck : http://bit.ly/fhwdhackdocs


•   FeedHenry on GitHub : https://github.com/feedhenry


•   On line docs : https://docs.feedhenry.com


•   API Guide : http://docs.feedhenry.com/nodejs/api_reference.html


•   App Tutorials : http://docs.feedhenry.com/nodejs/app_labs.html




                                                                      3
Thank you

40          www.mc2bis.eu
            ●   Contact:
            ●   matthias.verbeke@mc2bis.eu

            ●   www.feedhenry.com
            ●   Contact
            ●   joe.oreilly@feedhenry.com




                                             40

Weitere ähnliche Inhalte

Was ist angesagt?

Bluegrass digital creds 2015
Bluegrass digital creds 2015Bluegrass digital creds 2015
Bluegrass digital creds 2015Bluegrass Digital
 
webinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos project
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connections Developers
 
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...mfrancis
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門SwapSkills
 
A creative and technical Software Engineering company
A creative and technical Software Engineering companyA creative and technical Software Engineering company
A creative and technical Software Engineering companySam Gqomo
 
Sitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile AppsSitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile Appscaptech
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with SitecorePieter Brinkman
 
CA Plex on Apple Mac, iOS, Android
CA Plex on Apple Mac, iOS, AndroidCA Plex on Apple Mac, iOS, Android
CA Plex on Apple Mac, iOS, AndroidCM First Group
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기JungHyuk Kwon
 
CouchConf NYC CouchApps
CouchConf NYC CouchAppsCouchConf NYC CouchApps
CouchConf NYC CouchAppsBradley Holt
 
BlackBerry Developer Overview
BlackBerry Developer OverviewBlackBerry Developer Overview
BlackBerry Developer OverviewKyle McInnes
 
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...AIP Foundation
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgZiyad Bazed
 
Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMartinSotirov
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialRyan Baxter
 

Was ist angesagt? (20)

Bluegrass digital creds 2015
Bluegrass digital creds 2015Bluegrass digital creds 2015
Bluegrass digital creds 2015
 
webinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governance
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
 
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
 
A creative and technical Software Engineering company
A creative and technical Software Engineering companyA creative and technical Software Engineering company
A creative and technical Software Engineering company
 
Sitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile AppsSitecore and PhoneGap - Driving Business with Mobile Apps
Sitecore and PhoneGap - Driving Business with Mobile Apps
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with Sitecore
 
CA Plex on Apple Mac, iOS, Android
CA Plex on Apple Mac, iOS, AndroidCA Plex on Apple Mac, iOS, Android
CA Plex on Apple Mac, iOS, Android
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
 
CouchConf NYC CouchApps
CouchConf NYC CouchAppsCouchConf NYC CouchApps
CouchConf NYC CouchApps
 
Bp209
Bp209Bp209
Bp209
 
BlackBerry Developer Overview
BlackBerry Developer OverviewBlackBerry Developer Overview
BlackBerry Developer Overview
 
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...IBM Mobile Foundation POT - Part 2 introduction to application development wi...
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to Native
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 

Ähnlich wie Feed Herny developer training : crossplatform and HTML5

Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
WireCloud hands-on. FI-PPP-Liaison
WireCloud hands-on. FI-PPP-LiaisonWireCloud hands-on. FI-PPP-Liaison
WireCloud hands-on. FI-PPP-LiaisonMiguel Jiménez
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopmentPrabhat gangwar
 
flutter Course
flutter Courseflutter Course
flutter CourseSMEClabs
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceAll Things Open
 
Cross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentCross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentSenchu Thomas
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...darwinodb
 
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Taras Filatov
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileWee Witthawaskul
 
The Ultimate Guide to Cross-Platform App Development
The Ultimate Guide to Cross-Platform App DevelopmentThe Ultimate Guide to Cross-Platform App Development
The Ultimate Guide to Cross-Platform App Developmentjennyaistechnolabs
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developerbalunasj
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap
 
18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptxMugiiiReee
 
Enterprise Mobile Development Best Practices for 2015
Enterprise Mobile Development Best Practices for 2015Enterprise Mobile Development Best Practices for 2015
Enterprise Mobile Development Best Practices for 2015AnyPresence
 
Developing Tizen Operating System Based Solutions - IDF2013 Beijing
Developing Tizen Operating System Based Solutions - IDF2013 BeijingDeveloping Tizen Operating System Based Solutions - IDF2013 Beijing
Developing Tizen Operating System Based Solutions - IDF2013 BeijingRyo Jin
 

Ähnlich wie Feed Herny developer training : crossplatform and HTML5 (20)

Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
WireCloud hands-on. FI-PPP-Liaison
WireCloud hands-on. FI-PPP-LiaisonWireCloud hands-on. FI-PPP-Liaison
WireCloud hands-on. FI-PPP-Liaison
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
Google android os
Google android osGoogle android os
Google android os
 
flutter Course
flutter Courseflutter Course
flutter Course
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Cloud Foundry May 1 2014
Cloud Foundry May 1 2014Cloud Foundry May 1 2014
Cloud Foundry May 1 2014
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
Cross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentCross Platform Mobile Application Development
Cross Platform Mobile Application Development
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
 
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 
The Ultimate Guide to Cross-Platform App Development
The Ultimate Guide to Cross-Platform App DevelopmentThe Ultimate Guide to Cross-Platform App Development
The Ultimate Guide to Cross-Platform App Development
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 
18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx
 
Enterprise Mobile Development Best Practices for 2015
Enterprise Mobile Development Best Practices for 2015Enterprise Mobile Development Best Practices for 2015
Enterprise Mobile Development Best Practices for 2015
 
Developing Tizen Operating System Based Solutions - IDF2013 Beijing
Developing Tizen Operating System Based Solutions - IDF2013 BeijingDeveloping Tizen Operating System Based Solutions - IDF2013 Beijing
Developing Tizen Operating System Based Solutions - IDF2013 Beijing
 

Mehr von Mobile Monday Brussels

Privacy and mobile apps - status 2013 Belgium
Privacy and mobile apps - status 2013 BelgiumPrivacy and mobile apps - status 2013 Belgium
Privacy and mobile apps - status 2013 BelgiumMobile Monday Brussels
 
GARI - mobile accessibility for mobile apps
GARI - mobile accessibility for mobile appsGARI - mobile accessibility for mobile apps
GARI - mobile accessibility for mobile appsMobile Monday Brussels
 
Uxperts mobi 2013 Ux for the future @ EhB
Uxperts mobi 2013  Ux for the future @ EhBUxperts mobi 2013  Ux for the future @ EhB
Uxperts mobi 2013 Ux for the future @ EhBMobile Monday Brussels
 
Mobile gaming app promotion- mark brill
Mobile gaming   app promotion- mark brillMobile gaming   app promotion- mark brill
Mobile gaming app promotion- mark brillMobile Monday Brussels
 
Uxperts mobi 2013 how the f -_ do i start
Uxperts mobi 2013   how the f -_ do i startUxperts mobi 2013   how the f -_ do i start
Uxperts mobi 2013 how the f -_ do i startMobile Monday Brussels
 
Appsforgeonostalgia20130426 appsforgeo
Appsforgeonostalgia20130426 appsforgeoAppsforgeonostalgia20130426 appsforgeo
Appsforgeonostalgia20130426 appsforgeoMobile Monday Brussels
 
Mobile monday intro to social media on mobile
Mobile monday intro to social media on mobileMobile monday intro to social media on mobile
Mobile monday intro to social media on mobileMobile Monday Brussels
 

Mehr von Mobile Monday Brussels (20)

Privacy and mobile apps - status 2013 Belgium
Privacy and mobile apps - status 2013 BelgiumPrivacy and mobile apps - status 2013 Belgium
Privacy and mobile apps - status 2013 Belgium
 
GARI - mobile accessibility for mobile apps
GARI - mobile accessibility for mobile appsGARI - mobile accessibility for mobile apps
GARI - mobile accessibility for mobile apps
 
Djump
DjumpDjump
Djump
 
Appsmarathon 2013
Appsmarathon 2013Appsmarathon 2013
Appsmarathon 2013
 
Uxperts mobi 2013 Ux for the future @ EhB
Uxperts mobi 2013  Ux for the future @ EhBUxperts mobi 2013  Ux for the future @ EhB
Uxperts mobi 2013 Ux for the future @ EhB
 
Uxperts mobi 2013 soa & challenges
Uxperts mobi 2013   soa & challengesUxperts mobi 2013   soa & challenges
Uxperts mobi 2013 soa & challenges
 
Mobile gaming app promotion- mark brill
Mobile gaming   app promotion- mark brillMobile gaming   app promotion- mark brill
Mobile gaming app promotion- mark brill
 
Uxperts mobi 2013 what about testing
Uxperts mobi 2013   what about testing Uxperts mobi 2013   what about testing
Uxperts mobi 2013 what about testing
 
Uxperts mobi 2013 introduction
Uxperts mobi 2013   introductionUxperts mobi 2013   introduction
Uxperts mobi 2013 introduction
 
Uxperts mobi 2013 ux for windows 8
Uxperts mobi 2013   ux for windows 8Uxperts mobi 2013   ux for windows 8
Uxperts mobi 2013 ux for windows 8
 
Uxperts mobi 2013 ux for android
Uxperts mobi 2013   ux for androidUxperts mobi 2013   ux for android
Uxperts mobi 2013 ux for android
 
Uxperts mobi 2013 how the f -_ do i start
Uxperts mobi 2013   how the f -_ do i startUxperts mobi 2013   how the f -_ do i start
Uxperts mobi 2013 how the f -_ do i start
 
Uxperts mobi 2013 ux for i os
Uxperts mobi 2013   ux for i osUxperts mobi 2013   ux for i os
Uxperts mobi 2013 ux for i os
 
Apps4 geo geosolutions
Apps4 geo geosolutionsApps4 geo geosolutions
Apps4 geo geosolutions
 
Appsforgeonostalgia20130426 appsforgeo
Appsforgeonostalgia20130426 appsforgeoAppsforgeonostalgia20130426 appsforgeo
Appsforgeonostalgia20130426 appsforgeo
 
Momojan21012013
Momojan21012013Momojan21012013
Momojan21012013
 
Mv use of social media Dorien Aerts
Mv use of social media   Dorien AertsMv use of social media   Dorien Aerts
Mv use of social media Dorien Aerts
 
Mobilemonday Slovakia
Mobilemonday SlovakiaMobilemonday Slovakia
Mobilemonday Slovakia
 
Mobile monday intro to social media on mobile
Mobile monday intro to social media on mobileMobile monday intro to social media on mobile
Mobile monday intro to social media on mobile
 
Survey anyplace apps marathon
Survey anyplace apps marathonSurvey anyplace apps marathon
Survey anyplace apps marathon
 

Kürzlich hochgeladen

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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
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
 

Kürzlich hochgeladen (20)

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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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...
 
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...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 

Feed Herny developer training : crossplatform and HTML5

  • 1. Developer Training 23rd April 2012 Winner 2012 Predictions: HTML5 Will Cross the Enterprise Tipping Point Company Confidential Information Company Confidential Information 1
  • 2. Contents • Introduction & Background • Using the platform • Architecture of an App • Client Development • Cloud Development • Practical Examples • Docs & Resources 2
  • 4. Mobile Internet - Growth Mobile Internet Usage will overtake Desktop in 2014 4
  • 5. Smartphones - Growth • Pre iPhone (Android and Windows Phone 7) 90% of the systems that connected to the web were PCs (only 5 years ago!) • In 2012 • PC sales worldwide will reach ~400 million units • Smartphones will surpass 600 million units. • Tablets will sell about 100 million units. • By 2015 • Tablet sales will triple to about 300 million. • Smartphones sales will leap past 1.1 billion. 5
  • 6. Gartner Predictions... • By year-end 2014, 185 billion applications will have been downloaded from mobile app stores. • By 2014 Over 80% of mobile front-ends for existing applications and up to 70% of new mobile apps will rely on HTML5 for client user interface • By 2015, mobile application development projects targeting smartphones and tablets will outnumber native PC projects by a ratio of 4-to-1. • By 2015, PC sales will grow to over 500 million, but tablets will triple to about 300 million and smartphones will leap past 1.1 billion. • By year-end 2016, more than 50 percent of Global 1000 companies will have stored customer-sensitive data in the public cloud. 6
  • 8. FeedHenry – A Brief History • Founded in Waterford, Ireland as a research spin-out – 2008 • Customers & Revenue – 2009 & growing rapidly • Venture capital funded – 2010 • US headquarters near Boston, MA – 2010 • Partnership with VMware’s Cloud Foundry – 2012 8
  • 9. FeedHenry – The Name! • Started as a research project – mid 2000’s • Researcher got to name the project • Initial focus was RSS feed technology • Researcher loved hurling • http://en.wikipedia.org/wiki/Hurling • Big fan of hurler called “Henry Shefflin” • http://en.wikipedia.org/wiki/Henry_Shefflin 9
  • 11. Powering Enterprise Apps from the Cloud Mobile Platform-as-a-Service for Business to Build, Integrate and Manage - Secure Enterprise Apps from the Cloud Our Vision: Low cost enterprise mobility solutions on all major smartphones & tablets, powered and managed from the cloud and integrated securely with existing IT systems. 1 11
  • 12. Develop, Integrate, Stage …all in the Cloud DEVELOP INTEGRATE STAGE HTML5/ X-Platform client side Node.js Staging/Deployment Backend-as-a-service to “Any Cloud” 1 12
  • 13. End-to-end PaaS App Development & Server-side Integration AppStudio AppCloud Develop Integrate Build Farm Build & Deploy Execute & Store Cross platform apps for all devices Server-side execution, caching & storage Discover & Distribute Integrate & Connect Via Public, Private App stores & OTA Connect to APIs and backend systems HTML5, Hybrid, Native Mobile Web 1 13
  • 15. Two ways to access • FHC – Command Line Client • http://docs.feedhenry.com/rhino/fhc_command_line_tool.html • Requires Node.js & npm • sudo npm install -g fh-fhc • App Studio – Web Based Graphical User Interface • https://training.feedhenry.com/ • Studio Demo • Task – Install Node.js, npm & fhc 1
  • 16. Getting started with FHC Build & deploy an app in 3 easy steps • fhc target training.feedhenry.com • fhc login <username> <password> • fhc apps create my-first-app git://github.com/feedhenry/App-Anatomy.git • fhc stage <app-id> dev • fhc build app=<APP-ID> config=debug destination=android version=2.2 download=true 1
  • 19. APIs https://docs.feedhenry.com/nodejs/api_reference.html • On Device • Call cloud Functions/Actions - $fh.act() • Data Persistence - $fh.data() • Web Call (Ajax) - $fh.web() • Geo/Maps - $fh.geo() / $fh.map() • Audio - $fh.audio() • Security - $fh.sec() • Cloud • Web - $fh.web() • Cache - $fh.cache() • Security - $fh.sec() 1
  • 20. Cloud Platform Architecture II Node.js - Redis App Cloud Busines s Logic 2
  • 22. Directory Structure /client • Contains all files which may be included when an app is built. • Divided into packages – incremental units of functionality and configuration. /cloud • Contains all server-side JavaScript. • Must contain a file called main.js • All functions in main.js are public & can be called from client side /shared • contains files which can be included as client side files and also referenced as server-side files 2
  • 23. Packages • Represented as directories within /client • “default” package is required & always applied • Keep as much code as possible in here • Custom packages applied to destinations under Configuration section • Multiple packages can be applied • Each package is layered on top of previous one • Used to incrementally add functionality, configuration, look & feel… 2
  • 25. Basics • HTML (5), CSS (3), JavaScript • Hand rolled or UI library • UI Libraries • Sencha Touch - http://www.sencha.com/products/touch/demos/ • jQuery Mobile - http://jquerymobile.com/ 2
  • 26. Sencha Touch • UI Defined in JavaScript/JSON • More “native” look & feel out of the box • Good support for iOS & Android • Basic support for BlackBerry • No (official) support for Windows Phone 7 • Better chance on WP 7.5 • Sample Apps: • API Tester: https://github.com/feedhenry/FH-Sample-Sencha-Device-API-Tester • Training App: https://github.com/feedhenry/FH-Training-App-Sencha 2
  • 27. jQuery Mobile • UI Defined in HTML • Look & feel not as “native” as Sencha • Can be styled to look more native using packages • Decent support for all major smartphones. • UI Builder available • http://codiqa.com/ • Sample App: • Training App: https://github.com/feedhenry/FH-Training-App-JQM 2
  • 28. Buillding, Deploying & Testing Apps • Depends on target platform • Android is easiest to build & deploy • Dropbox • Email • Android Developer Tools • iOS Requires uploading credentials • Private Key, Certificate & Provisioning Profile • Resources: • http://docs.feedhenry.com/nodejs/app_building_and_submission.html • http://docs.feedhenry.com/nodejs/deploying_apps.html 2
  • 30. Node.js - Intro • http://www.nodejs.org • Server Side JavaScript • Built on top of V8 (C++) • JavaScript Rendering Engine from Google Chrome • Non Blocking!!!! • Uses callbacks for I/O operations • Event Driven • Same idea as client side JS – click event, mouse event…. • Light Weight 3
  • 31. Node.js - Sample var fs = require('fs'); // include file-system module // This is synchronous. It's blocking! var data = fs.readFileSync('README.md', 'utf8'); // This might take a while. Waiting, waiting... console.log("Sync File read success n" + data); // This is asynchronous, it's non-blocking! fs.readFile('README.md', 'utf8', function(err,data){ // Hello, Callback if(err) { console.error("Could not open file %s", err); } else { console.log("Async File read success n" + data); } }); console.log("After Async File Read"); 3
  • 32. Node.js - App Basics • Define public functions in main.js • No need to build boilerplate web server • Added automatically when staged • All standard Node modules available to use • https://github.com/joyent/node/wiki/modules • Don’t use web framework modules – handled automatically • Sample App: • https://github.com/feedhenry/FH-Training-App-Business-Node.js 3
  • 33. Develop & Test • Cloud code can be developed independently from client • Use fhc to call cloud functions • fhc act <app-id> <server-function> <params> • Use expresso to exercise test cases on cloud code • http://visionmedia.github.com/expresso/ • Example App • https://github.com/feedhenry/Node.js-Smoke-Test-App 3
  • 35. App Anatomy GitHub : https://github.com/feedhenry/App-Anatomy Tutorial : http://docs.feedhenry.com/training-labs/app-labs/app- anatomy/ • Use Packages to control look and feel. • Use shared config file to define initial in-app config and cloud accessible config. • Update in-app contents on app start up / on the fly from cloud. 3
  • 36. Client API Tester GitHub : https://github.com/feedhenry/FH-Sample-Sencha-Device-API-Tester Tutorial : http://docs.feedhenry.com/rhino/sencha_touch_tutorial.html • Sencha Touch UI • Sample code for client APIs /client/default/script/controller • Sencha UI definitions stored in cloud for post-deploy mods. Retreived via getUI function in main.js. 3
  • 37. Server API Tester GitHub : https://github.com/feedhenry/Node.js-Smoke-Test-App • Sample code for Server APIs in /cloud directory • Sample code for expresso tests in /test directory • Edit test/test.js and set correct App Id • Run expresso test/test.js to execute tests • Client UI for manual testing 3
  • 39. Resources • This slide deck : http://bit.ly/fhwdhackdocs • FeedHenry on GitHub : https://github.com/feedhenry • On line docs : https://docs.feedhenry.com • API Guide : http://docs.feedhenry.com/nodejs/api_reference.html • App Tutorials : http://docs.feedhenry.com/nodejs/app_labs.html 3
  • 40. Thank you 40 www.mc2bis.eu ● Contact: ● matthias.verbeke@mc2bis.eu ● www.feedhenry.com ● Contact ● joe.oreilly@feedhenry.com 40