SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Hybrid App
Development with
AEM Apps
Pat McLoughlin &
Paul Michelotti
Crushin’ It 2012 - Present
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Application Goals
● Content reuse from the CIRCUIT website
● Native application interactions (Twitter, Maps)
● Use of Push Notifications
● Location Awareness (Geofencing, iBeacons)
● Engagement via Gameification
● Cross platform deployment (iOS and Android)
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Technical Overview
● AEM Apps
● Cordova
● Ionic Framework
● Angular
● AWS Elastic Beanstalk
● AWS Lambda
● AWS SNS
● AWS DynamoDB
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Introduction to
AEM Apps
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Why Did we Use AEM Apps?
● Application Authorability
● Content reuse across AEM - Canonical Content
● Over the air app updates - Update your app without
resubmission to the app store
● Business friendly application dashboard
● Integration with PhoneGap Build
● Integration with Analytics
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
A Word on Cordova
● Mobile application framework for building apps using web
technologies
● Exposes native functionality via a Javascript API
● Typically encapsulates single page web applications
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
A Moment on Angular
● A Single Page web application framework
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
A Hot Minute on Ionic
● Ionic has done the heavy lifting of making your web app feel
like a native app
● CSS and Javascript to assist with the general look and feel of
your application, visually taking into account the user’s
platform
● A number of directives to build up application views, states,
navigation, lists, etc…
● A robust state history framework allowing for the caching of
views during app navigation
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
More Love for Ionic
● Provides tooling around Cordova and is continuously adding
more tools to their proverbial belt such as icon and splash
screen generation, push notification services, and testing
frameworks
● ngCordova - an Angular wrapper around a number of the
most commonly used Cordova plugins is produced by the
fine folks at Ionic
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
-
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Authoring a Single
Page Application
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Authoring an Entire Application on
a Single Page Would be Worse
than Fitting an Entire Presentation
onto a Single Slide
● Each state in the application lives as a page inside of AEM
● Application authors are able to author using a paradigm with
which they are familiar.
● Authors working in AEM have an expectation of inline
editability. That is to say, they expect that the environment
they author in projects a reasonable facsimile of the finished
product
● Authors also have an expectation of the ability to preview
their work prior to activation. This is especially important in a
production environment
● Accomplishing this is non trivial when the final product will be
a single page application.
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
AEM Author Expectations
● Page Based component editing - authors expect to author by
pulling components onto pages and modifying the content
and configuration of those components via edit dialogs
● Inline Editability - What an author is editing should be a
reasonable facsimile of the final product
● Preview - authors expect to be able to preview their updates
prior to publishing
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Enter the Ionic AEM
Apps Library
AKA - A Maven project full of
our opinions on how to do
stuff more better
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Pages as Application States
● Each page is an Application State
● The parent / child relationship between pages is mirrored in
the parent / child relationship between their states
● The Main Menu state and its child states in the CIRCUIT
application is an example of this relationship
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Root Page as Application Root
● Application root is the entry point of the application
● Houses the logic to dynamically generate the Application
module / bootstrapping mechanisms
● Determines the Angular Application’s required modules
based on the components used in the app
● Allows for a preview view of the functional application to the
extent that the application can function in a browser
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Content Reuse
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Goals of Content Reuse
● Make use of the existing Speakers and Sessions content
from the CIRCUIT website within the app without reauthoring
● Session and Speaker lists act as data within the application
to enable viewing of individual Session and Speaker details
● Packaging of Session and Speaker data within the
downloadable app
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
How a Single Page
Web Application
Becomes a Cordova
Application
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Structure of a Cordova Application
● hooks
○ Houses Javascript code which will run at various points in
the app build lifecycle
● www
○ config.xml
■ Defines a number of application properties such as
the url the webview should be directed to initially
○ Your application assets such as html, css, js, images, etc...
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
From AEM to Cordova
● Content Sync mechanisms are used to produce a .zip whose
contents follow the standard Cordova app structure
● A number of Content Sync configurations leveraging
numerous Content Handlers work in concert to put together
the application archive from your application’s content, other
used content, static files, and configuration
● Unzipping the result you will find a folder structure which
exactly matches what is expected of a Cordova application
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Over the Air Updates
● Content Sync also enables Over the Air application updates
● A check for new application content is performed at application
startup
● The last updated timestamp is checked against the content
sync endpoint on publish
● Content Sync creates a new .zip of changes
● Current content on the device is copied to a new location and
new content is written over the current
● Finally the application points the webview to the new location
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Wrapping Up
CIRCUIT – An Adobe Developer Event
Presented by ICF Interactive
Final Thoughts in the form of Links
● Ionic AEM Apps Library - https://github.com/Citytechinc/ionic-
aem-apps
● Ionic Framework - http://ionicframework.com/
● AEM Apps Starter Kit - https://github.com/blefebvre/aem-
phonegap-starter-kit
Paul Michelotti
paul.michelotti@icfi.com
@PaulMichelotti on Twitter
Pat McLoughlin
pat.mcloughlin@icfi.com
@CityPat on Twitter

Mais conteúdo relacionado

Mais procurados

Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkSalesforce Developers
 
Amazon Final internship presentation
Amazon Final internship presentationAmazon Final internship presentation
Amazon Final internship presentationSteven Nguyen
 
Simplify and Accelerate App Development with Adobe AEM Mobile
Simplify and Accelerate App Development with Adobe AEM MobileSimplify and Accelerate App Development with Adobe AEM Mobile
Simplify and Accelerate App Development with Adobe AEM MobilePerficient, Inc.
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core componentsLokesh BS
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Web application development process
Web application development processWeb application development process
Web application development processJohn Smith
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)Praveen Hanchinal
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2Tricode (part of Dept)
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile ApplicationsRuwan Ranganath
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Miguel Scotter
 
Immerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragmentsImmerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragmentsAdobeMarketingCloud
 
Use Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationUse Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationLucio Grenzi
 
Internship - Bootstrap
Internship - BootstrapInternship - Bootstrap
Internship - Bootstraptanay29
 
Building capacitor apps in appflow webinar
Building capacitor apps in appflow webinarBuilding capacitor apps in appflow webinar
Building capacitor apps in appflow webinarIonic Framework
 
Internship Presentation 1 Web Developer
Internship Presentation 1 Web DeveloperInternship Presentation 1 Web Developer
Internship Presentation 1 Web DeveloperHemant Sarthak
 
Experience with Google Glass and Business Applications
Experience with Google Glass and Business ApplicationsExperience with Google Glass and Business Applications
Experience with Google Glass and Business ApplicationsMarkus Van Kempen
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLo Ki
 

Mais procurados (20)

Universal Windows Platform
Universal Windows PlatformUniversal Windows Platform
Universal Windows Platform
 
INTERNSHIP REPORT
INTERNSHIP REPORTINTERNSHIP REPORT
INTERNSHIP REPORT
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 
Amazon Final internship presentation
Amazon Final internship presentationAmazon Final internship presentation
Amazon Final internship presentation
 
Simplify and Accelerate App Development with Adobe AEM Mobile
Simplify and Accelerate App Development with Adobe AEM MobileSimplify and Accelerate App Development with Adobe AEM Mobile
Simplify and Accelerate App Development with Adobe AEM Mobile
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Web application development process
Web application development processWeb application development process
Web application development process
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
What are The Top Features of Angular 7?
What are The Top Features of Angular 7?What are The Top Features of Angular 7?
What are The Top Features of Angular 7?
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile Applications
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine
 
Immerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragmentsImmerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragments
 
Use Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationUse Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile application
 
Internship - Bootstrap
Internship - BootstrapInternship - Bootstrap
Internship - Bootstrap
 
Building capacitor apps in appflow webinar
Building capacitor apps in appflow webinarBuilding capacitor apps in appflow webinar
Building capacitor apps in appflow webinar
 
Internship Presentation 1 Web Developer
Internship Presentation 1 Web DeveloperInternship Presentation 1 Web Developer
Internship Presentation 1 Web Developer
 
Experience with Google Glass and Business Applications
Experience with Google Glass and Business ApplicationsExperience with Google Glass and Business Applications
Experience with Google Glass and Business Applications
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 

Semelhante a CIRCUIT 2015 - Hybrid App Development with AEM Apps

6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf
6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf
6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdfBaek Yongsun
 
Developing ionic apps for android and ios
Developing ionic apps for android and iosDeveloping ionic apps for android and ios
Developing ionic apps for android and iosgautham_m79
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfMoon Technolabs Pvt. Ltd.
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why MoonTechnolabsPvtLtd
 
Building our App with React Native
Building our App with React NativeBuilding our App with React Native
Building our App with React NativeNuxeo
 
Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps  Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps Moon Technolabs Pvt. Ltd.
 
10 Useful Frameworks to Build Hybrid Mobile Apps
10 Useful Frameworks to Build Hybrid Mobile Apps10 Useful Frameworks to Build Hybrid Mobile Apps
10 Useful Frameworks to Build Hybrid Mobile Apps75waytechnologies
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app developmentMarkovate
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedsparkfabrik
 
IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...
IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...
IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...Laura Miller
 
Why we built 35kb React Native alternative ?
Why we built 35kb React Native alternative ?Why we built 35kb React Native alternative ?
Why we built 35kb React Native alternative ?Sahebjot Singh
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
A brief description about Angular
A brief description about AngularA brief description about Angular
A brief description about AngularPAYALJHA8
 
Flutter vs Ionic: Which framework is better for cross platform application d...
Flutter vs Ionic: Which framework is better  for cross platform application d...Flutter vs Ionic: Which framework is better  for cross platform application d...
Flutter vs Ionic: Which framework is better for cross platform application d...Mobiloitte
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 
Introduction To Ionic3
Introduction To Ionic3Introduction To Ionic3
Introduction To Ionic3Knoldus Inc.
 
How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentHow native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentDevathon
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixAndrew Ferrier
 

Semelhante a CIRCUIT 2015 - Hybrid App Development with AEM Apps (20)

6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf
6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf
6 Best JavaScript Framework for Mobile Apps Trending in 2023.pdf
 
Developing ionic apps for android and ios
Developing ionic apps for android and iosDeveloping ionic apps for android and ios
Developing ionic apps for android and ios
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdf
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why
 
Building our App with React Native
Building our App with React NativeBuilding our App with React Native
Building our App with React Native
 
Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps  Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps
 
10 Useful Frameworks to Build Hybrid Mobile Apps
10 Useful Frameworks to Build Hybrid Mobile Apps10 Useful Frameworks to Build Hybrid Mobile Apps
10 Useful Frameworks to Build Hybrid Mobile Apps
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app development
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I started
 
IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...
IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...
IONIC VS. REACT NATIVE – WHICH FRAMEWORK IS BETTER FOR CROSS-PLATFORM MOBILE ...
 
Why we built 35kb React Native alternative ?
Why we built 35kb React Native alternative ?Why we built 35kb React Native alternative ?
Why we built 35kb React Native alternative ?
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Ionic2 First Lesson of Four
Ionic2 First Lesson of FourIonic2 First Lesson of Four
Ionic2 First Lesson of Four
 
A brief description about Angular
A brief description about AngularA brief description about Angular
A brief description about Angular
 
Flutter vs Ionic: Which framework is better for cross platform application d...
Flutter vs Ionic: Which framework is better  for cross platform application d...Flutter vs Ionic: Which framework is better  for cross platform application d...
Flutter vs Ionic: Which framework is better for cross platform application d...
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
Introduction To Ionic3
Introduction To Ionic3Introduction To Ionic3
Introduction To Ionic3
 
How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentHow native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App Development
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
 

Mais de ICF CIRCUIT

CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksICF CIRCUIT
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMICF CIRCUIT
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and BeyondICF CIRCUIT
 
CIRCUIT 2015 - Free Beer and Testing
CIRCUIT 2015 - Free Beer and TestingCIRCUIT 2015 - Free Beer and Testing
CIRCUIT 2015 - Free Beer and TestingICF CIRCUIT
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1ICF CIRCUIT
 
CIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesICF CIRCUIT
 
CIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based LayoutsCIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based LayoutsICF CIRCUIT
 
CIRCUIT 2015 - Glimpse of perceptual diff
CIRCUIT 2015 - Glimpse of perceptual diffCIRCUIT 2015 - Glimpse of perceptual diff
CIRCUIT 2015 - Glimpse of perceptual diffICF CIRCUIT
 
CIRCUIT 2015 - Orchestrate your story with interactive video and web content
CIRCUIT 2015 -  Orchestrate your story with interactive video and web contentCIRCUIT 2015 -  Orchestrate your story with interactive video and web content
CIRCUIT 2015 - Orchestrate your story with interactive video and web contentICF CIRCUIT
 
How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)ICF CIRCUIT
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM ICF CIRCUIT
 
CIRCUIT 2015 - 10 Things Apache Sling Can Do
CIRCUIT 2015 - 10 Things Apache Sling Can DoCIRCUIT 2015 - 10 Things Apache Sling Can Do
CIRCUIT 2015 - 10 Things Apache Sling Can DoICF CIRCUIT
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten ZiegelerICF CIRCUIT
 

Mais de ICF CIRCUIT (13)

CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond
 
CIRCUIT 2015 - Free Beer and Testing
CIRCUIT 2015 - Free Beer and TestingCIRCUIT 2015 - Free Beer and Testing
CIRCUIT 2015 - Free Beer and Testing
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1
 
CIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM Sites
 
CIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based LayoutsCIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
 
CIRCUIT 2015 - Glimpse of perceptual diff
CIRCUIT 2015 - Glimpse of perceptual diffCIRCUIT 2015 - Glimpse of perceptual diff
CIRCUIT 2015 - Glimpse of perceptual diff
 
CIRCUIT 2015 - Orchestrate your story with interactive video and web content
CIRCUIT 2015 -  Orchestrate your story with interactive video and web contentCIRCUIT 2015 -  Orchestrate your story with interactive video and web content
CIRCUIT 2015 - Orchestrate your story with interactive video and web content
 
How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
CIRCUIT 2015 - 10 Things Apache Sling Can Do
CIRCUIT 2015 - 10 Things Apache Sling Can DoCIRCUIT 2015 - 10 Things Apache Sling Can Do
CIRCUIT 2015 - 10 Things Apache Sling Can Do
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
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
 
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
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
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...
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
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 ...
 

CIRCUIT 2015 - Hybrid App Development with AEM Apps

  • 1. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Hybrid App Development with AEM Apps Pat McLoughlin & Paul Michelotti Crushin’ It 2012 - Present
  • 2. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Application Goals ● Content reuse from the CIRCUIT website ● Native application interactions (Twitter, Maps) ● Use of Push Notifications ● Location Awareness (Geofencing, iBeacons) ● Engagement via Gameification ● Cross platform deployment (iOS and Android)
  • 3. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Technical Overview ● AEM Apps ● Cordova ● Ionic Framework ● Angular ● AWS Elastic Beanstalk ● AWS Lambda ● AWS SNS ● AWS DynamoDB
  • 4. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Introduction to AEM Apps
  • 5. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Why Did we Use AEM Apps? ● Application Authorability ● Content reuse across AEM - Canonical Content ● Over the air app updates - Update your app without resubmission to the app store ● Business friendly application dashboard ● Integration with PhoneGap Build ● Integration with Analytics
  • 6. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive A Word on Cordova ● Mobile application framework for building apps using web technologies ● Exposes native functionality via a Javascript API ● Typically encapsulates single page web applications
  • 7. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive
  • 8. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive A Moment on Angular ● A Single Page web application framework
  • 9. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive A Hot Minute on Ionic ● Ionic has done the heavy lifting of making your web app feel like a native app ● CSS and Javascript to assist with the general look and feel of your application, visually taking into account the user’s platform ● A number of directives to build up application views, states, navigation, lists, etc… ● A robust state history framework allowing for the caching of views during app navigation
  • 10. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive More Love for Ionic ● Provides tooling around Cordova and is continuously adding more tools to their proverbial belt such as icon and splash screen generation, push notification services, and testing frameworks ● ngCordova - an Angular wrapper around a number of the most commonly used Cordova plugins is produced by the fine folks at Ionic
  • 11. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive -
  • 12. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Authoring a Single Page Application
  • 13. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Authoring an Entire Application on a Single Page Would be Worse than Fitting an Entire Presentation onto a Single Slide ● Each state in the application lives as a page inside of AEM ● Application authors are able to author using a paradigm with which they are familiar. ● Authors working in AEM have an expectation of inline editability. That is to say, they expect that the environment they author in projects a reasonable facsimile of the finished product ● Authors also have an expectation of the ability to preview their work prior to activation. This is especially important in a production environment ● Accomplishing this is non trivial when the final product will be a single page application.
  • 14. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive AEM Author Expectations ● Page Based component editing - authors expect to author by pulling components onto pages and modifying the content and configuration of those components via edit dialogs ● Inline Editability - What an author is editing should be a reasonable facsimile of the final product ● Preview - authors expect to be able to preview their updates prior to publishing
  • 15. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Enter the Ionic AEM Apps Library AKA - A Maven project full of our opinions on how to do stuff more better
  • 16. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Pages as Application States ● Each page is an Application State ● The parent / child relationship between pages is mirrored in the parent / child relationship between their states ● The Main Menu state and its child states in the CIRCUIT application is an example of this relationship
  • 17. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Root Page as Application Root ● Application root is the entry point of the application ● Houses the logic to dynamically generate the Application module / bootstrapping mechanisms ● Determines the Angular Application’s required modules based on the components used in the app ● Allows for a preview view of the functional application to the extent that the application can function in a browser
  • 18. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Content Reuse
  • 19. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Goals of Content Reuse ● Make use of the existing Speakers and Sessions content from the CIRCUIT website within the app without reauthoring ● Session and Speaker lists act as data within the application to enable viewing of individual Session and Speaker details ● Packaging of Session and Speaker data within the downloadable app
  • 20. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive How a Single Page Web Application Becomes a Cordova Application
  • 21. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Structure of a Cordova Application ● hooks ○ Houses Javascript code which will run at various points in the app build lifecycle ● www ○ config.xml ■ Defines a number of application properties such as the url the webview should be directed to initially ○ Your application assets such as html, css, js, images, etc...
  • 22. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive From AEM to Cordova ● Content Sync mechanisms are used to produce a .zip whose contents follow the standard Cordova app structure ● A number of Content Sync configurations leveraging numerous Content Handlers work in concert to put together the application archive from your application’s content, other used content, static files, and configuration ● Unzipping the result you will find a folder structure which exactly matches what is expected of a Cordova application
  • 23. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Over the Air Updates ● Content Sync also enables Over the Air application updates ● A check for new application content is performed at application startup ● The last updated timestamp is checked against the content sync endpoint on publish ● Content Sync creates a new .zip of changes ● Current content on the device is copied to a new location and new content is written over the current ● Finally the application points the webview to the new location
  • 24. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Wrapping Up
  • 25. CIRCUIT – An Adobe Developer Event Presented by ICF Interactive Final Thoughts in the form of Links ● Ionic AEM Apps Library - https://github.com/Citytechinc/ionic- aem-apps ● Ionic Framework - http://ionicframework.com/ ● AEM Apps Starter Kit - https://github.com/blefebvre/aem- phonegap-starter-kit Paul Michelotti paul.michelotti@icfi.com @PaulMichelotti on Twitter Pat McLoughlin pat.mcloughlin@icfi.com @CityPat on Twitter