SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Pete Helgren
                                     pete@valadd.com

        Developing Mobile Applications for i using Open
                        Source Tools




                                   Value Added Software, Inc
                                          801.581.1154

                                      1511 East Harvard Ave
                                     Salt Lake City, UT 84105




                                                                                       1
© 2012 Value Added Software, Inc        petesworkshop.com       www.opensource4i.com
What will you get from this
                    session?
●   You will know the differences between a web
     application, a mobile web application and a
     native mobile application.
●   How to change your web applications to
     mobile web applications.
●   How to (easily) take a mobile web application
     and create a “native” mobile application
●   How to write a simple Android application (if
     we have time).
                                                                              2
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Agenda


          To rip off an well known book from the
                            60's:

          Zen and the art of Developing Mobile
          Applications using Open Source Tools




                                                                              3
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Agenda
●   Mobile is all about the client (so where does i
     fit in?)
●   Rethinking Web Development
            –   Ajax
            –   HTML and HTML5
            –   Page, page construction and paging.
            –   JSON
            –   M is for minimalist
●   Examples of “classic” web design
                                                                              4
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Agenda
●   Deconstructing “classic” design
●   Reassembly as HTML5 and “Web 2.0”
     techniques
●   Tweaking HTML5 for Mobile applications e.g.
     Building a mobile web application




                                                                              5
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Agenda
●   Mobile application development framework
     review
●   Developing an Android application
            –   Natively
            –   Using PhoneGap
●   Review some examples including a Common
     Schedule Organizer web application!




                                                                              6
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Mobile is about the client

                                   Web Apps

                                   Native Apps

                                            i?
                                                                                7
© 2012 Value Added Software, Inc     petesworkshop.com   www.opensource4i.com
Mobile means rethinking web
                   development
                              Two basic principles:

                 Don't waste users bandwidth on
                   something they don't need

      Be a good citizen – Conservation is good.




                                                                              8
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Wasting bandwidth
                                       Images
                                      RSS feeds
                                   Tracking Plugins
                                   Whole js libraries




                                                                                  9
© 2012 Value Added Software, Inc       petesworkshop.com   www.opensource4i.com
Conserve
            Hang on to data with explicit caching
                       (localstorage)

                      Refresh only when needed.

              We are back at the good old days
                        (mid 1990's):
             Paying per kb and slow connections


                                                                              10
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Rethinking Web Development

                                       AJAX
                          (Asynchronous Javascript and XML)
                        Nothing new here(1999)...move along


                        Introduced my MS in IE 5 (XMLHTTP)
            The much maligned IE 6 further extended capabilities
                              Thanks to the browser wars....




                                                                                 11
© 2012 Value Added Software, Inc     petesworkshop.com    www.opensource4i.com
Rethinking Web Development

                                   HTML5 – New?


                               Been around since 2004


                               Big hitter improvements:


New markup: <nav> <footer><video> <audio> and others.
            New features: validation, client side storage.


                                                                                 12
© 2012 Value Added Software, Inc     petesworkshop.com    www.opensource4i.com
Rethinking Web Development

                                   Pages and paging




                                                                                 13
© 2012 Value Added Software, Inc      petesworkshop.com   www.opensource4i.com
Rethinking Web Development
                                   Conservation Strategies


                                   Pages and paging
                                       (mobile web app)

                                             <div>


                                             <div>


                                             <div>


                                             <div>


                                             <div>


                                                                                    14
© 2012 Value Added Software, Inc        petesworkshop.com    www.opensource4i.com
Rethinking Web Development




                                      JSON
                           (Javascript Object Notation)

              Lightweight – simple to transport (AJAX)
             Javascript already knows what to do with it
                            (it's an Object!)




                                                                              15
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Pagination the AJAX way

    My Web Page


                                     javascript

                                   <div id=page1></div>



                                     My Web Page

                                       Page 1




                                                                                   16
© 2012 Value Added Software, Inc        petesworkshop.com   www.opensource4i.com
M is for minimal




                                                                                 17
© 2012 Value Added Software, Inc      petesworkshop.com   www.opensource4i.com
Deconstructing “classic” web
                       design



               Take a look at this web site (ugly)

   Http://opensourceoni.com/baseDemo/Demo

       Simple app, two pages, gets messages from IBM i




                                                                              18
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Deconstructing “classic” web
                       design


Another simple example that checks on whether
             a port is open or not.

       Hosted on i. Java App. Calls IBM i API's

           http://opensourceoni.com/baseChkPort/Demo




                                                                              19
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Reassembly as HTML5 and
                “Web 2.0” techniques




    http://opensourceoni.com/mobile/cgi_adhstm.pgm




                                                                              20
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Demo – Walk through
●   RPG – 5250
●   CGIDEV2 – Ugly web based
●   CGIDEV2 – Pretty web based
●   CGIDEV2 – Pretty, web based, using local
     storage (more mobile-ish...)
●   PHP – Ugly
●   PHP – Pretty
●   PHP – Pretty using local storage
                                                                              21
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Web Server Info

●   Apache is the front end to all of these web
     applications (HTTP Server)
●   You need to add Apache directives to map
     URL's to the CGIDEV2 programs.
●


●


●   Lets take a look


                                                                              22
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
So you still want to build a
                native mobile app?


                             Choose a framework.

     Many are based on Eclipse which is a
   comfortable transition for the RDp, EGL and
                Zend Studio folks.



                                                                              23
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Standard Apache Directives

    # Configuration originally created by Create HTTP Server wizard on Mon Jul
    25 12:31:00 MDT 2011
    LoadModule proxy_module
    /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
    LoadModule proxy_http_module
    /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
    LoadModule proxy_connect_module
    /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
    LoadModule proxy_ftp_module
    /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
    LoadModule zend_enabler_module
    /QSYS.LIB/QHTTPSVR.LIB/QZFAST.SRVPGM




                                                                                 24
© 2012 Value Added Software, Inc   petesworkshop.com      www.opensource4i.com
ScriptAliasMatch

                    Map URL's to CGIDEV2 Programs
          ScriptAliasMatch /mobile/(.*) /qsys.lib/mobile.lib/$1
          Alias /mobilejs /www/mobileapps/htdocs/mobile/js

          # MobileREM directives
          ScriptAliasMatch /mobilerem/(.*) /qsys.lib/mobilerem.lib/$1
          Alias /mobileremjs /www/mobileapps/htdocs/mobilerem/js
          Alias /mobileremcss /www/mobileapps/htdocs/mobilerem/css




                                                                                         25
© 2012 Value Added Software, Inc    petesworkshop.com             www.opensource4i.com
Set Access permissions
       <Directory /www/mobileapps/htdocs>
         Order Allow,Deny
         Allow From all
       </Directory>

         <Directory /www/mobileapps/htdocs/mobile/js>
           Options None
           order allow,deny
           allow from all
         </Directory>

         <Directory /www/mobileapps/htdocs/mobilerem/js>
           Options None
           order allow,deny
           allow from all
         </Directory>

         <Directory /www/mobileapps/htdocs/mobilerem/css>
           Options None
           order allow,deny
           allow from all
         </Directory>
         <Directory /www/mobileapps/htdocs/mobilerem>
           Options None
           order allow,deny
           allow from all
         </Directory>


                                                                                    26
© 2012 Value Added Software, Inc         petesworkshop.com   www.opensource4i.com
More permissions
                   <Directory /qsys.lib/mobilerem.lib>
                      order allow,deny
                      allow from all
                      Options -ExecCGI
                      CGIConvMode %%EBCDIC/EBCDIC%%
                    </Directory>

                    <Directory /www/mobileapps/htdocs/phpdemo>
                      Options None
                      order allow,deny
                      allow from all
                    </Directory>

                    <Directory /qsys.lib/mobile.lib>
                      order allow,deny
                      allow from all
                      Options -ExecCGI
                      CGIConvMode %%EBCDIC/EBCDIC%%
                    </Directory>

                                                                                 27
© 2012 Value Added Software, Inc   petesworkshop.com      www.opensource4i.com
Now lets jump into Code


      ● RPG
      ● PHP


      ● Java (if you want)




                                                                              28
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Possible Frameworks
●   Xcode – iPhone development
●   Visual Studio – Windows Mobile
●   Eclipse based
            –   PhoneGap
            –   Titanium
            –   Rhomobile
            –   Blackberry Eclipse plugin
            –   Android SDK – Eclipse Plugin
            –   WebOS (Palm) Eclipse Plugin
                                                                              29
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Possible Frameworks
                     Most popular target devices:

                                     iPhone
                                    Android
                                   Blackberry

     I am using PhoneGap for mobile apps that
         require multi-platform deployment.
             Write javascript, deploy to:
                       Android
                     Blackberry
                       iPhone
                   (requires Mac to compile Objective C code)
                                                                              30
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Build a “native” Android App

        Aaron Bartell also has some resources:

                   http://www.mowyourlawn.com

    http://www.SureYouCanHaveTheKeys.com

                 http://www.systeminetwork.com
  (Aaron focuses on Android Native only, so you'll need a little Java
                           background)



                                                                              31
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Build a “native” Android App

GREAT tutorial on native Android Development:

http://www.smashingmagazine.com/2010/10/25/get-started-
            developing-for-android-with-eclipse/


                Two part series and absolutely excellent

   (can also Google search for Android and BrewClock to find the articles)




                                                                              32
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Building “native” android application




Plenty of resources on the web to get you started
                  with Android.

                          Good resources at
                     http://developer.android.com



                                                                              33
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Let's build one!




                                                                                34
© 2012 Value Added Software, Inc     petesworkshop.com   www.opensource4i.com
Building a PhoneGap application for
                           Android




PhoneGap is primarily a framework for running
  javascript enabled web pages as “native”
                applications.




                                                                              35
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
The anatomy of the PhoneGap application



  Create the page using any HTML5 compliant
   editor and run it in a fully HTML5 compliant
              browser, like Chrome.

          Bring it in as a resource to PhoneGap.

     Wire it up to Android or iPhone API's using
                     JavaScript.


                                                                              36
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
The Anatomy of a PhoneGap
                        application.




                                   Let's take a look.




                                                                                  37
© 2012 Value Added Software, Inc       petesworkshop.com   www.opensource4i.com
Review
●   Mobile development is about the client
●   Mobile development uses:
            –   HTML5 (could use HTML4- not recommended)
            –   AJAX
            –   Lightweight data transport
                         ●   JSON
                         ●   XML
                         ●   YAML
●   Native app development uses the same
     components but resides on the device
     (client-server)
                                                                               38
© 2012 Value Added Software, Inc    petesworkshop.com   www.opensource4i.com
The Common Schedule
                      Organizer


             Web version found here:
  http://opensourceoni.com/schedule/GetWeb?
                 action=HTML5

  Can be accessed from any HTML5 capable
browser. The localstorage option requires webkit
                based browser


                                                                              39
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com
Thanks!

            Blog update soon with a step by step:

        http://www.petesworkshop.com/blog_wp/

                Contact me at: pete@valadd.com

  (put “Common” somewhere in the subject line)

www.petesworkshop.com/downloads/MobileAppDemo.zip

                                                                              40
© 2012 Value Added Software, Inc   petesworkshop.com   www.opensource4i.com

Contenu connexe

Tendances

Fatc - Productivity by Design
Fatc - Productivity by DesignFatc - Productivity by Design
Fatc - Productivity by DesignMichael Chaize
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform javaMichael Chaize
 
Oop2012 mobile workshops
Oop2012 mobile workshopsOop2012 mobile workshops
Oop2012 mobile workshopsMichael Chaize
 
JAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboardJAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboardMichael Chaize
 
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions   Product Engineering Featured Projects 2009 11 12Grameen Solutions   Product Engineering Featured Projects 2009 11 12
Grameen Solutions Product Engineering Featured Projects 2009 11 12Grameen Solutions
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile developmentMichael Chaize
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyMichael Chaize
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationAppnovation Technologies
 
Best practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesBest practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesMichael Chaize
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersMichael Chaize
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011Michael Chaize
 
Over the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidOver the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidMichael Chaize
 
2012.09.11 w3 c html5 mobile paradies
2012.09.11 w3 c html5   mobile paradies2012.09.11 w3 c html5   mobile paradies
2012.09.11 w3 c html5 mobile paradiesStephan Haux
 
Kony Mobile Management
Kony Mobile ManagementKony Mobile Management
Kony Mobile ManagementDipesh Mukerji
 
AAAI2012 - Crowd Sourcing Web Service Annotations
AAAI2012 - Crowd Sourcing Web Service AnnotationsAAAI2012 - Crowd Sourcing Web Service Annotations
AAAI2012 - Crowd Sourcing Web Service AnnotationsINSEMTIVES project
 
CEDEC2012 Starling 開発
CEDEC2012 Starling 開発CEDEC2012 Starling 開発
CEDEC2012 Starling 開発Andy Demo
 

Tendances (19)

Fatc - Productivity by Design
Fatc - Productivity by DesignFatc - Productivity by Design
Fatc - Productivity by Design
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
 
Oop2012 mobile workshops
Oop2012 mobile workshopsOop2012 mobile workshops
Oop2012 mobile workshops
 
JAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboardJAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboard
 
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions   Product Engineering Featured Projects 2009 11 12Grameen Solutions   Product Engineering Featured Projects 2009 11 12
Grameen Solutions Product Engineering Featured Projects 2009 11 12
 
Montpellier - Flex UG
Montpellier - Flex UGMontpellier - Flex UG
Montpellier - Flex UG
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex baby
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
 
Best practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesBest practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devices
 
Jax2001 adobe keynote
Jax2001 adobe keynoteJax2001 adobe keynote
Jax2001 adobe keynote
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 users
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011
 
Over the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidOver the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for Android
 
2012.09.11 w3 c html5 mobile paradies
2012.09.11 w3 c html5   mobile paradies2012.09.11 w3 c html5   mobile paradies
2012.09.11 w3 c html5 mobile paradies
 
Kony Mobile Management
Kony Mobile ManagementKony Mobile Management
Kony Mobile Management
 
AAAI2012 - Crowd Sourcing Web Service Annotations
AAAI2012 - Crowd Sourcing Web Service AnnotationsAAAI2012 - Crowd Sourcing Web Service Annotations
AAAI2012 - Crowd Sourcing Web Service Annotations
 
RIA
RIARIA
RIA
 
CEDEC2012 Starling 開発
CEDEC2012 Starling 開発CEDEC2012 Starling 開発
CEDEC2012 Starling 開発
 

En vedette

Version Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by TonnyVersion Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by TonnyAgate Studio
 
SCM Process and smartBuild
SCM Process and smartBuildSCM Process and smartBuild
SCM Process and smartBuildRajesh Kumar
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementShivani Garg
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesAmmar Shafiq
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 

En vedette (9)

Version Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by TonnyVersion Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by Tonny
 
SCM Process and smartBuild
SCM Process and smartBuildSCM Process and smartBuild
SCM Process and smartBuild
 
5. scm
5. scm5. scm
5. scm
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Similaire à Developing mobile applications for i using open source tools Venna 2012

Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementInside Analysis
 
CREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate OverviewCREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate OverviewCREATIVEHOPE
 
Tackling Enterprise App Development with Ionic
Tackling Enterprise App Development with IonicTackling Enterprise App Development with Ionic
Tackling Enterprise App Development with IonicJoshuaWalovitch
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyDMI
 
Should you say no to HTML5?
Should you say no to HTML5?Should you say no to HTML5?
Should you say no to HTML5?Kony, Inc.
 
Mse august13 (2/3)
Mse august13 (2/3)Mse august13 (2/3)
Mse august13 (2/3)IIITA
 
Why should startups opt for ionic app development
Why should startups opt for ionic app developmentWhy should startups opt for ionic app development
Why should startups opt for ionic app developmentShelly Megan
 
A dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsA dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsJohn Moy
 
CapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSCapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSBen Combee
 
Native v s hybrid
Native v s hybridNative v s hybrid
Native v s hybridKelly Ston
 
Top 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesTop 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesAjayMishra302670
 
Drupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_printDrupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_printDrupalcampAtlanta2012
 
Share point 2013 unveiled
Share point 2013 unveiledShare point 2013 unveiled
Share point 2013 unveiledSentri
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 
12 Reasons to Choose NodeJS for Product Development.pdf
12 Reasons to Choose NodeJS for Product Development.pdf12 Reasons to Choose NodeJS for Product Development.pdf
12 Reasons to Choose NodeJS for Product Development.pdfWDP Technologies
 
Java enterprise paradise
Java enterprise paradiseJava enterprise paradise
Java enterprise paradiseAmr Salah
 
Success Stories by Novatore Solutions
Success Stories by Novatore SolutionsSuccess Stories by Novatore Solutions
Success Stories by Novatore SolutionsNovatore Solutions
 

Similaire à Developing mobile applications for i using open source tools Venna 2012 (20)

Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
 
CREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate OverviewCREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate Overview
 
Tackling Enterprise App Development with Ionic
Tackling Enterprise App Development with IonicTackling Enterprise App Development with Ionic
Tackling Enterprise App Development with Ionic
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and Why
 
Should you say no to HTML5?
Should you say no to HTML5?Should you say no to HTML5?
Should you say no to HTML5?
 
Mse august13 (2/3)
Mse august13 (2/3)Mse august13 (2/3)
Mse august13 (2/3)
 
IT Technologies Career perspective
IT Technologies   Career perspectiveIT Technologies   Career perspective
IT Technologies Career perspective
 
Why should startups opt for ionic app development
Why should startups opt for ionic app developmentWhy should startups opt for ionic app development
Why should startups opt for ionic app development
 
A dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsA dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile apps
 
CapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSCapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOS
 
Native v s hybrid
Native v s hybridNative v s hybrid
Native v s hybrid
 
Resume
ResumeResume
Resume
 
Top 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesTop 10 Best Web Development Technologies
Top 10 Best Web Development Technologies
 
Drupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_printDrupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_print
 
Share point 2013 unveiled
Share point 2013 unveiledShare point 2013 unveiled
Share point 2013 unveiled
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
12 Reasons to Choose NodeJS for Product Development.pdf
12 Reasons to Choose NodeJS for Product Development.pdf12 Reasons to Choose NodeJS for Product Development.pdf
12 Reasons to Choose NodeJS for Product Development.pdf
 
Java enterprise paradise
Java enterprise paradiseJava enterprise paradise
Java enterprise paradise
 
Success Stories by Novatore Solutions
Success Stories by Novatore SolutionsSuccess Stories by Novatore Solutions
Success Stories by Novatore Solutions
 
Bp209
Bp209Bp209
Bp209
 

Plus de COMMON Europe

What's New in WebSphere Application Server
What's New in WebSphere Application ServerWhat's New in WebSphere Application Server
What's New in WebSphere Application ServerCOMMON Europe
 
Compiling the Compiler
Compiling the CompilerCompiling the Compiler
Compiling the CompilerCOMMON Europe
 
Workload Groups overview updates
Workload Groups overview updatesWorkload Groups overview updates
Workload Groups overview updatesCOMMON Europe
 
Why i - Common Europe 2012
Why i - Common Europe 2012Why i - Common Europe 2012
Why i - Common Europe 2012COMMON Europe
 
The Ruby OpenSSL extension
The Ruby OpenSSL extensionThe Ruby OpenSSL extension
The Ruby OpenSSL extensionCOMMON Europe
 
Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)COMMON Europe
 
IBM Systems Director Navigator for i
IBM Systems Director Navigator for iIBM Systems Director Navigator for i
IBM Systems Director Navigator for iCOMMON Europe
 
IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012COMMON Europe
 
IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04COMMON Europe
 
IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012COMMON Europe
 
DB2 Web Query whats new
DB2 Web Query whats newDB2 Web Query whats new
DB2 Web Query whats newCOMMON Europe
 
Access client solutions overview
Access client solutions overviewAccess client solutions overview
Access client solutions overviewCOMMON Europe
 
What's new with Zend server
What's new with Zend serverWhat's new with Zend server
What's new with Zend serverCOMMON Europe
 
Php arrays for RPG programmers
Php arrays for RPG programmersPhp arrays for RPG programmers
Php arrays for RPG programmersCOMMON Europe
 
Open source report writing tools for IBM i Vienna 2012
Open source report writing tools for IBM i  Vienna 2012Open source report writing tools for IBM i  Vienna 2012
Open source report writing tools for IBM i Vienna 2012COMMON Europe
 
Moving 5.4 to 7.1 AB
Moving 5.4 to 7.1 ABMoving 5.4 to 7.1 AB
Moving 5.4 to 7.1 ABCOMMON Europe
 
Introduction to My SQL
Introduction to My SQLIntroduction to My SQL
Introduction to My SQLCOMMON Europe
 
IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012COMMON Europe
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM iCOMMON Europe
 

Plus de COMMON Europe (20)

What's New in WebSphere Application Server
What's New in WebSphere Application ServerWhat's New in WebSphere Application Server
What's New in WebSphere Application Server
 
Compiling the Compiler
Compiling the CompilerCompiling the Compiler
Compiling the Compiler
 
Workload Groups overview updates
Workload Groups overview updatesWorkload Groups overview updates
Workload Groups overview updates
 
Why i - Common Europe 2012
Why i - Common Europe 2012Why i - Common Europe 2012
Why i - Common Europe 2012
 
The Ruby OpenSSL extension
The Ruby OpenSSL extensionThe Ruby OpenSSL extension
The Ruby OpenSSL extension
 
Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)
 
IBM Systems Director Navigator for i
IBM Systems Director Navigator for iIBM Systems Director Navigator for i
IBM Systems Director Navigator for i
 
IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012
 
IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04
 
IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012
 
DB2 Web Query whats new
DB2 Web Query whats newDB2 Web Query whats new
DB2 Web Query whats new
 
Access client solutions overview
Access client solutions overviewAccess client solutions overview
Access client solutions overview
 
What's new with Zend server
What's new with Zend serverWhat's new with Zend server
What's new with Zend server
 
RPG investment
RPG investmentRPG investment
RPG investment
 
Php arrays for RPG programmers
Php arrays for RPG programmersPhp arrays for RPG programmers
Php arrays for RPG programmers
 
Open source report writing tools for IBM i Vienna 2012
Open source report writing tools for IBM i  Vienna 2012Open source report writing tools for IBM i  Vienna 2012
Open source report writing tools for IBM i Vienna 2012
 
Moving 5.4 to 7.1 AB
Moving 5.4 to 7.1 ABMoving 5.4 to 7.1 AB
Moving 5.4 to 7.1 AB
 
Introduction to My SQL
Introduction to My SQLIntroduction to My SQL
Introduction to My SQL
 
IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM i
 

Dernier

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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
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
 
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
 
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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 

Dernier (20)

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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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 ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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...
 

Developing mobile applications for i using open source tools Venna 2012

  • 1. Pete Helgren pete@valadd.com Developing Mobile Applications for i using Open Source Tools Value Added Software, Inc 801.581.1154 1511 East Harvard Ave Salt Lake City, UT 84105 1 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 2. What will you get from this session? ● You will know the differences between a web application, a mobile web application and a native mobile application. ● How to change your web applications to mobile web applications. ● How to (easily) take a mobile web application and create a “native” mobile application ● How to write a simple Android application (if we have time). 2 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 3. Agenda To rip off an well known book from the 60's: Zen and the art of Developing Mobile Applications using Open Source Tools 3 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 4. Agenda ● Mobile is all about the client (so where does i fit in?) ● Rethinking Web Development – Ajax – HTML and HTML5 – Page, page construction and paging. – JSON – M is for minimalist ● Examples of “classic” web design 4 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 5. Agenda ● Deconstructing “classic” design ● Reassembly as HTML5 and “Web 2.0” techniques ● Tweaking HTML5 for Mobile applications e.g. Building a mobile web application 5 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 6. Agenda ● Mobile application development framework review ● Developing an Android application – Natively – Using PhoneGap ● Review some examples including a Common Schedule Organizer web application! 6 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 7. Mobile is about the client Web Apps Native Apps i? 7 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 8. Mobile means rethinking web development Two basic principles: Don't waste users bandwidth on something they don't need Be a good citizen – Conservation is good. 8 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 9. Wasting bandwidth Images RSS feeds Tracking Plugins Whole js libraries 9 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 10. Conserve Hang on to data with explicit caching (localstorage) Refresh only when needed. We are back at the good old days (mid 1990's): Paying per kb and slow connections 10 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 11. Rethinking Web Development AJAX (Asynchronous Javascript and XML) Nothing new here(1999)...move along Introduced my MS in IE 5 (XMLHTTP) The much maligned IE 6 further extended capabilities Thanks to the browser wars.... 11 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 12. Rethinking Web Development HTML5 – New? Been around since 2004 Big hitter improvements: New markup: <nav> <footer><video> <audio> and others. New features: validation, client side storage. 12 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 13. Rethinking Web Development Pages and paging 13 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 14. Rethinking Web Development Conservation Strategies Pages and paging (mobile web app) <div> <div> <div> <div> <div> 14 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 15. Rethinking Web Development JSON (Javascript Object Notation) Lightweight – simple to transport (AJAX) Javascript already knows what to do with it (it's an Object!) 15 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 16. Pagination the AJAX way My Web Page javascript <div id=page1></div> My Web Page Page 1 16 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 17. M is for minimal 17 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 18. Deconstructing “classic” web design Take a look at this web site (ugly) Http://opensourceoni.com/baseDemo/Demo Simple app, two pages, gets messages from IBM i 18 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 19. Deconstructing “classic” web design Another simple example that checks on whether a port is open or not. Hosted on i. Java App. Calls IBM i API's http://opensourceoni.com/baseChkPort/Demo 19 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 20. Reassembly as HTML5 and “Web 2.0” techniques http://opensourceoni.com/mobile/cgi_adhstm.pgm 20 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 21. Demo – Walk through ● RPG – 5250 ● CGIDEV2 – Ugly web based ● CGIDEV2 – Pretty web based ● CGIDEV2 – Pretty, web based, using local storage (more mobile-ish...) ● PHP – Ugly ● PHP – Pretty ● PHP – Pretty using local storage 21 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 22. Web Server Info ● Apache is the front end to all of these web applications (HTTP Server) ● You need to add Apache directives to map URL's to the CGIDEV2 programs. ● ● ● Lets take a look 22 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 23. So you still want to build a native mobile app? Choose a framework. Many are based on Eclipse which is a comfortable transition for the RDp, EGL and Zend Studio folks. 23 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 24. Standard Apache Directives # Configuration originally created by Create HTTP Server wizard on Mon Jul 25 12:31:00 MDT 2011 LoadModule proxy_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM LoadModule proxy_http_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM LoadModule proxy_connect_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM LoadModule proxy_ftp_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM LoadModule zend_enabler_module /QSYS.LIB/QHTTPSVR.LIB/QZFAST.SRVPGM 24 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 25. ScriptAliasMatch Map URL's to CGIDEV2 Programs ScriptAliasMatch /mobile/(.*) /qsys.lib/mobile.lib/$1 Alias /mobilejs /www/mobileapps/htdocs/mobile/js # MobileREM directives ScriptAliasMatch /mobilerem/(.*) /qsys.lib/mobilerem.lib/$1 Alias /mobileremjs /www/mobileapps/htdocs/mobilerem/js Alias /mobileremcss /www/mobileapps/htdocs/mobilerem/css 25 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 26. Set Access permissions <Directory /www/mobileapps/htdocs> Order Allow,Deny Allow From all </Directory> <Directory /www/mobileapps/htdocs/mobile/js> Options None order allow,deny allow from all </Directory> <Directory /www/mobileapps/htdocs/mobilerem/js> Options None order allow,deny allow from all </Directory> <Directory /www/mobileapps/htdocs/mobilerem/css> Options None order allow,deny allow from all </Directory> <Directory /www/mobileapps/htdocs/mobilerem> Options None order allow,deny allow from all </Directory> 26 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 27. More permissions <Directory /qsys.lib/mobilerem.lib> order allow,deny allow from all Options -ExecCGI CGIConvMode %%EBCDIC/EBCDIC%% </Directory> <Directory /www/mobileapps/htdocs/phpdemo> Options None order allow,deny allow from all </Directory> <Directory /qsys.lib/mobile.lib> order allow,deny allow from all Options -ExecCGI CGIConvMode %%EBCDIC/EBCDIC%% </Directory> 27 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 28. Now lets jump into Code ● RPG ● PHP ● Java (if you want) 28 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 29. Possible Frameworks ● Xcode – iPhone development ● Visual Studio – Windows Mobile ● Eclipse based – PhoneGap – Titanium – Rhomobile – Blackberry Eclipse plugin – Android SDK – Eclipse Plugin – WebOS (Palm) Eclipse Plugin 29 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 30. Possible Frameworks Most popular target devices: iPhone Android Blackberry I am using PhoneGap for mobile apps that require multi-platform deployment. Write javascript, deploy to: Android Blackberry iPhone (requires Mac to compile Objective C code) 30 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 31. Build a “native” Android App Aaron Bartell also has some resources: http://www.mowyourlawn.com http://www.SureYouCanHaveTheKeys.com http://www.systeminetwork.com (Aaron focuses on Android Native only, so you'll need a little Java background) 31 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 32. Build a “native” Android App GREAT tutorial on native Android Development: http://www.smashingmagazine.com/2010/10/25/get-started- developing-for-android-with-eclipse/ Two part series and absolutely excellent (can also Google search for Android and BrewClock to find the articles) 32 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 33. Building “native” android application Plenty of resources on the web to get you started with Android. Good resources at http://developer.android.com 33 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 34. Let's build one! 34 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 35. Building a PhoneGap application for Android PhoneGap is primarily a framework for running javascript enabled web pages as “native” applications. 35 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 36. The anatomy of the PhoneGap application Create the page using any HTML5 compliant editor and run it in a fully HTML5 compliant browser, like Chrome. Bring it in as a resource to PhoneGap. Wire it up to Android or iPhone API's using JavaScript. 36 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 37. The Anatomy of a PhoneGap application. Let's take a look. 37 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 38. Review ● Mobile development is about the client ● Mobile development uses: – HTML5 (could use HTML4- not recommended) – AJAX – Lightweight data transport ● JSON ● XML ● YAML ● Native app development uses the same components but resides on the device (client-server) 38 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 39. The Common Schedule Organizer Web version found here: http://opensourceoni.com/schedule/GetWeb? action=HTML5 Can be accessed from any HTML5 capable browser. The localstorage option requires webkit based browser 39 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com
  • 40. Thanks! Blog update soon with a step by step: http://www.petesworkshop.com/blog_wp/ Contact me at: pete@valadd.com (put “Common” somewhere in the subject line) www.petesworkshop.com/downloads/MobileAppDemo.zip 40 © 2012 Value Added Software, Inc petesworkshop.com www.opensource4i.com