SlideShare a Scribd company logo
Introduction to Module
     Development
       Aaron K. Saunders
          Founder/CTO
       Clearly Innovative Inc
        @aaronksaunders

    aaron@clearlyinnovative.com
About Me




           • Founder & CTO Clearly Innovative Inc.
           • Full stack development for mobile and
             web integrations w/javascript & nodejs
           • Appcelerator Platform Evangelist; Titan
           • IOS and Android Module Development
           • 2yrs of Appcelerator blogging
           • Working on book with ACS and Alloy
             Integration
What this
presentation is about
Android Topics


                 • Introduction to module
                   development, not advanced

                 • Basic integration of third party library
                   and intent based library

                 • Understand the Titanium Studio Menu
                   commands for scripts

                 • Understanding Ant build script on
                   Android
IOS Topics


             • Introduction to module
               development, not advanced

             • Basic integration of third party library

             • Understand the Titanium Studio Menu
               commands for scripts

             • Understanding command line scripts
What this
presentation is not
about
Out of Scope


               • Advanced view integration in modules

               • Additional information on NDK
                 integration on Android

               • Addressing complex third party library
                 conflicts on IOS
Android first because
it needs some love
Your Environment


              • Instructions on the wiki are your best
                starting point

              • Use the commands provided in
                Titanium Studio

              • Be sure you have followed instructions
                for setting up Titanium Studio
                 • Installing Java Development Tools
Android Module
Quickly
Create Android
Module           • Select “New Titanium
                   Mobile Module Project”
                   from Menu

                 • Fill out all of the fields
                   presented

                 • Save the project

                 • Edit the build.properties
                   to point to the
                   ANDROID_NDK path

                 • Run project
Run through script on
device
Add some
functionality
Skyhook SDK
Integration Steps


                • Import 3rd party library
                • Pass authentication credentials into
                  module
                • Setup callbacks in module
                • Pass results back from module
                • Render results
Edit app.js


              • Instantiate the module object

              • Create a proxy object

              • Provide credentials to module

              • Setup success and error callback

              • Execute API method on proxy object
Edit app.js
Edit module file


                   • Remove the template method calls
                     generated by script

                   • Create property for the username

                   • Create property for realm
Edit module file
Edit proxy file


                  • Get properties for username and
                    realm; framework does most of the
                    heavy lifting for you

                  • Get the callback functions from the
                    passed in parameters
Edit proxy file
Edit proxy file
Edit proxy file


                  • So now we have all the data in… We
                    need to get the data out

                  • Create hashMap, add the objects and
                    call our callback
Introduction to Module Development with Appcelerator Titanium
Code for completed
module
IOS module
Your Environment


              • Instructions on the wiki are your best
                starting point

              • Use the commands provided in
                Titanium Studio

              • Be sure you have followed instructions
                for setting up Titanium Studio
                 • Installing IOS & Xcode
                    Development Tools
Card.io SDK
Integration Steps


                •   Import 3rd party library
                •   Pass application key into module
                •   Setup callbacks in module
                •   Pass results back from module
                •   Render results
Libraries &
Headers
Edit app.js


              • Instantiate the module object

              • Provide application key to module

              • Setup success and error callback

              • Execute API method on module
Edit app.js
Edit header file


                   • Set the interface for the card.io
                     delegate

                   • Set up private variable for the function
                     callback with success or error
                     information
Edit header file
Edit module file


                   • Remove the template method calls
                     generated by script

                   • Make sure we de-allocate any
                     memory that we have allocated

                   • Get the parameters from the
                     javascript passed into objective-c

                   • Make card.io API call to display card
                     capture information
Edit module file
Edit module file


                   • Handle the response from the UI after
                     it is rendered

                   • Handle the two delegates from API for
                     user cancel or data entered

                   • Pass a new hashmap containing
                     results back to the javascript app
Edit module file
Edit module file
OVERLOAD!!


             • Blog posting next two weeks

             • All code provided on github

             • Additional Intent based module
               included
Introduction to Module Development with Appcelerator Titanium
Aaron K. Saunders
     @aaronksaunders

aaron@clearlyinnovative.com
 blog.clearlyinnovative.com

More Related Content

PPT
Extending Appcelerator Titanium Mobile through Native Modules
PDF
Titanium Mobile: flexibility vs. performance
PDF
Extending Titanium with native iOS and Android modules
PDF
Eclipse vs Netbean vs Railo
PPTX
Titanium Studio [Updated - 18/12/2011]
PDF
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
PDF
Android App development and test environment, Understaing android app structure
PDF
Dev ops for cross platform mobile modeveast 12
Extending Appcelerator Titanium Mobile through Native Modules
Titanium Mobile: flexibility vs. performance
Extending Titanium with native iOS and Android modules
Eclipse vs Netbean vs Railo
Titanium Studio [Updated - 18/12/2011]
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Android App development and test environment, Understaing android app structure
Dev ops for cross platform mobile modeveast 12

What's hot (19)

PDF
iOS Development - Offline Class for Jasakomer
PDF
Visual Studio2010 Product Overview
PDF
IPT angular2 typescript SPA 2016
PPTX
Android cours
PPTX
Mono for android
KEY
L0016 - The Structure of an Eclipse Plug-in
KEY
Live Content: Finding new ways to publish
PDF
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
PDF
Rapid application development con titanium appcelerator
PDF
Running Spring Boot Applications as GraalVM Native Images
PPTX
Use Eclipse technologies to build a modern embedded IDE
ODP
Plug yourself in and your app will never be the same (2 hour edition)
PPTX
15 android libraries for app development
PPT
Android In A Nutshell
PPT
Android For Java Developers
PDF
Top React Native Developer Tools and Component Libraries (For Easy and Speedy...
PDF
Spring framework Introduction
PPTX
Coding Naked
PPT
DSDP Mobile Tools for Java Webinar
iOS Development - Offline Class for Jasakomer
Visual Studio2010 Product Overview
IPT angular2 typescript SPA 2016
Android cours
Mono for android
L0016 - The Structure of an Eclipse Plug-in
Live Content: Finding new ways to publish
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Rapid application development con titanium appcelerator
Running Spring Boot Applications as GraalVM Native Images
Use Eclipse technologies to build a modern embedded IDE
Plug yourself in and your app will never be the same (2 hour edition)
15 android libraries for app development
Android In A Nutshell
Android For Java Developers
Top React Native Developer Tools and Component Libraries (For Easy and Speedy...
Spring framework Introduction
Coding Naked
DSDP Mobile Tools for Java Webinar
Ad

Similar to Introduction to Module Development with Appcelerator Titanium (20)

PPTX
CI in the mobile world
PPTX
Modular PHP Development using CodeIgniter Bonfire
PDF
Sitecore development approach evolution – destination helix
PPTX
Unit4wt
PDF
Real World Windows Phone Development
PPTX
Unit4wt
PPTX
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
PDF
Spring - CDI Interop
PPTX
Why Upgrade to v8.6?
PDF
From MEAN to the MERN Stack
PDF
Building Papers
PPTX
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
PPTX
Reactive summit 2020 microsoft orleans the easy way
PDF
SE2016 Java Alex Theedom "Java EE revisits design patterns"
PDF
Alex Theedom Java ee revisits design patterns
PDF
Continuous delivery @ iyzico
PDF
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
PPTX
Xamarin.Forms Bootcamp
PDF
Infinum android talks_10_android_libraries_used_on_daily_basis
PDF
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
CI in the mobile world
Modular PHP Development using CodeIgniter Bonfire
Sitecore development approach evolution – destination helix
Unit4wt
Real World Windows Phone Development
Unit4wt
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
Spring - CDI Interop
Why Upgrade to v8.6?
From MEAN to the MERN Stack
Building Papers
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
Reactive summit 2020 microsoft orleans the easy way
SE2016 Java Alex Theedom "Java EE revisits design patterns"
Alex Theedom Java ee revisits design patterns
Continuous delivery @ iyzico
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Xamarin.Forms Bootcamp
Infinum android talks_10_android_libraries_used_on_daily_basis
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Ad

More from Aaron Saunders (16)

PPTX
Mobile Application Workshop - So You Want To Build a Mobile App?
PDF
Getting Started with Appcelerator Alloy - Cross Platform Mobile Development -...
PDF
Appcelerator Titanium Alloy + Kinvey Collection Databinding - Part One
PDF
Identify & Unlock Your Mobile Strategy
DOCX
SubAid User Guide - Overview
PDF
DC Health Link New Mobile App 1.0 Brings Health Insurance Resources to Consum...
PPTX
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
PDF
Quick Way to work with Models and Alloy in Appcelerator Titanium
PDF
Simple Unit Testing in Appcelerator Titanium Alloy
PPTX
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
PPTX
modeveast 2012 Appcelerator Alloy & Cloud Services Presentation
PPTX
Alloy Simple App Demonstration
PDF
Clearly Innovative Inc Capabilities
PPTX
PaaS + Appcelerator = WIN
PDF
StackMob & Appcelerator Module Part One
PPTX
Modeveast Appcelerator Presentation
Mobile Application Workshop - So You Want To Build a Mobile App?
Getting Started with Appcelerator Alloy - Cross Platform Mobile Development -...
Appcelerator Titanium Alloy + Kinvey Collection Databinding - Part One
Identify & Unlock Your Mobile Strategy
SubAid User Guide - Overview
DC Health Link New Mobile App 1.0 Brings Health Insurance Resources to Consum...
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Quick Way to work with Models and Alloy in Appcelerator Titanium
Simple Unit Testing in Appcelerator Titanium Alloy
DC Titanium User Group Meetup: Appcelerator Titanium Alloy jan2013
modeveast 2012 Appcelerator Alloy & Cloud Services Presentation
Alloy Simple App Demonstration
Clearly Innovative Inc Capabilities
PaaS + Appcelerator = WIN
StackMob & Appcelerator Module Part One
Modeveast Appcelerator Presentation

Introduction to Module Development with Appcelerator Titanium

  • 1. Introduction to Module Development Aaron K. Saunders Founder/CTO Clearly Innovative Inc @aaronksaunders aaron@clearlyinnovative.com
  • 2. About Me • Founder & CTO Clearly Innovative Inc. • Full stack development for mobile and web integrations w/javascript & nodejs • Appcelerator Platform Evangelist; Titan • IOS and Android Module Development • 2yrs of Appcelerator blogging • Working on book with ACS and Alloy Integration
  • 4. Android Topics • Introduction to module development, not advanced • Basic integration of third party library and intent based library • Understand the Titanium Studio Menu commands for scripts • Understanding Ant build script on Android
  • 5. IOS Topics • Introduction to module development, not advanced • Basic integration of third party library • Understand the Titanium Studio Menu commands for scripts • Understanding command line scripts
  • 7. Out of Scope • Advanced view integration in modules • Additional information on NDK integration on Android • Addressing complex third party library conflicts on IOS
  • 8. Android first because it needs some love
  • 9. Your Environment • Instructions on the wiki are your best starting point • Use the commands provided in Titanium Studio • Be sure you have followed instructions for setting up Titanium Studio • Installing Java Development Tools
  • 11. Create Android Module • Select “New Titanium Mobile Module Project” from Menu • Fill out all of the fields presented • Save the project • Edit the build.properties to point to the ANDROID_NDK path • Run project
  • 12. Run through script on device
  • 15. Integration Steps • Import 3rd party library • Pass authentication credentials into module • Setup callbacks in module • Pass results back from module • Render results
  • 16. Edit app.js • Instantiate the module object • Create a proxy object • Provide credentials to module • Setup success and error callback • Execute API method on proxy object
  • 18. Edit module file • Remove the template method calls generated by script • Create property for the username • Create property for realm
  • 20. Edit proxy file • Get properties for username and realm; framework does most of the heavy lifting for you • Get the callback functions from the passed in parameters
  • 23. Edit proxy file • So now we have all the data in… We need to get the data out • Create hashMap, add the objects and call our callback
  • 27. Your Environment • Instructions on the wiki are your best starting point • Use the commands provided in Titanium Studio • Be sure you have followed instructions for setting up Titanium Studio • Installing IOS & Xcode Development Tools
  • 29. Integration Steps • Import 3rd party library • Pass application key into module • Setup callbacks in module • Pass results back from module • Render results
  • 31. Edit app.js • Instantiate the module object • Provide application key to module • Setup success and error callback • Execute API method on module
  • 33. Edit header file • Set the interface for the card.io delegate • Set up private variable for the function callback with success or error information
  • 35. Edit module file • Remove the template method calls generated by script • Make sure we de-allocate any memory that we have allocated • Get the parameters from the javascript passed into objective-c • Make card.io API call to display card capture information
  • 37. Edit module file • Handle the response from the UI after it is rendered • Handle the two delegates from API for user cancel or data entered • Pass a new hashmap containing results back to the javascript app
  • 40. OVERLOAD!! • Blog posting next two weeks • All code provided on github • Additional Intent based module included
  • 42. Aaron K. Saunders @aaronksaunders aaron@clearlyinnovative.com blog.clearlyinnovative.com