SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Bridging the gap between
mobile platforms
@AtreyeeMaiti Atreyee
@anand_agrawal anandagrawal84
Discover the new framework ‘Calatrava’ for Cross platform collaboration
Where mobile app market is going?
▪ Opens up a new channel
▪ Mobile first strategy
Where to start?
How to start?
▪ Native?
▪ Mobile web?
Trade offs
Native Apps
Affordability
User Experience
Web App
How about off the shelf cross platform?
Lots of promises
▪ Code reusability
▪ Faster and easier development
▪ Easy to test
How about off the shelf cross platform?
BUT…
▪ May just mimic the native control’s look
▪ May limit the control on the native controls
▪ Dependency on 3rd party for new features
Hence, Sub-optimal User Experience.
What are typical app components?
▪ UI
▪ Application Logic (Presentation/Business logic/Navigation)
▪ Local Storage
▪ Web services
What are the reusable components?
iPhone
Android
Web
UI Client logic Back-end
Hybrid Approach
Native Apps
Affordability
User Experience
Native where required
Shared everywhere else
Web App
How is it different from cross platform?
▪ No restriction to APIs / features exposed by framework
▪ Easier extensibility
▪ Easy to plugin native components wherever required
Calatrava
Available at: http://calatrava.github.com/
Credits: Giles Alexander
Overview of calatrava
13
B
R
I
D
G
E
N
A
T
I
V
E
C
O
D
E
S
H
A
R
E
D
L
O
G
I
C
[Controllers, models,
repositories]
KERNEL (javascript)
BRIDGE (javascript)
[shared native objects]
SHELL (haml, css, javascript,
native where necessary)
[page objects, layouts]
 kernel
 app
 plugins
 spec
 shell
 pages
 assets
 lib
 droid
 ios
 web
Basic structure of a calatrava project
Handpicking native where required
Page Object KernelBridge
Click
Trigger
event
Lookup for
convention based
controller
JS evaluator
Page render called with
appropriate data
Invoke render
with data
Results shown
Sample flow
Sample flow
Page Object
Kernel
Bridge
KernelBridge
Page Object Bridge
Click
Trigger
event
Lookup for
convention based
controller
JS evaluator
Ajax call to fetch results
Response
fetch
results
JS evaluatorPage render called with
appropriate data
Invoke render
with data
Results shown
DEMO
Plugins
▪ Mechanism to use native features cross platform.
▪ Need to be registered with calatrava
▪ Convention based
Tech stack
▪ Coffee-script
▪ Haml
▪ Sass
▪ Java
▪ Objective C
▪ Jasmine
▪ Cucumber
▪ Rake
}
}
}
}
Kernel + Shared HTML UI
Native UI, plugin implementations
Testing
Build
Strengths
Developer’s perspective:
 Structure to quickly build
features, share code
 Testability
 Needs stronger javascript
skills rather than objective c /
java etc
Business perspective:
 Hook into existing native app
 Free mobile web app
 Ease of adding new feature
 Mobile as a channel, less feature parity
 Time to market same for all platforms
Platforms supported
When not to use calatrava
UI AL
UI AL
Services
Shared
logic
Roadmap…
▪ Calatrava is evolving
▪ Plugins are being actively developed
▪ Generating controllers, pages for new features
▪ Anything that you could think of? 
Frameworks implementing Hybrid approach
▪ Kirinjs
▪ Cordova
References
▪ http://martinfowler.com/articles/multiMobile/
▪ http://martinfowler.com/articles/mobileImplStrategy.html
▪ https://github.com/calatrava/calatrava/wiki
▪ http://overwatering.org/blog/2012/10/announcing-calatrava/
▪ https://speakerdeck.com/priyaaank/cross-platform-development-
bridging-the-gap
Questions??

Weitere ähnliche Inhalte

Was ist angesagt?

Rishabh Technology and Tools Overview (1)
Rishabh Technology and Tools Overview (1)Rishabh Technology and Tools Overview (1)
Rishabh Technology and Tools Overview (1)
D Trivedi
 
HTML Hypermedia APIs and Adaptive Web Design - RuPy
HTML Hypermedia APIs and Adaptive Web Design - RuPyHTML Hypermedia APIs and Adaptive Web Design - RuPy
HTML Hypermedia APIs and Adaptive Web Design - RuPy
Gustaf Nilsson Kotte
 

Was ist angesagt? (20)

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Production Ready Web Services with Dropwizard
Production Ready Web Services with DropwizardProduction Ready Web Services with Dropwizard
Production Ready Web Services with Dropwizard
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.
 
React Native
React NativeReact Native
React Native
 
Firebase
FirebaseFirebase
Firebase
 
The Effect of Microservices on API Design
The Effect of Microservices on API DesignThe Effect of Microservices on API Design
The Effect of Microservices on API Design
 
Rishabh Technology and Tools Overview (1)
Rishabh Technology and Tools Overview (1)Rishabh Technology and Tools Overview (1)
Rishabh Technology and Tools Overview (1)
 
Progressive Web Application - Advanced Topics
Progressive Web Application - Advanced TopicsProgressive Web Application - Advanced Topics
Progressive Web Application - Advanced Topics
 
Angular Introduction (RS)
Angular Introduction (RS)Angular Introduction (RS)
Angular Introduction (RS)
 
Component-Oriented Progressive Web Applications with VueJS
Component-Oriented Progressive Web Applications with VueJSComponent-Oriented Progressive Web Applications with VueJS
Component-Oriented Progressive Web Applications with VueJS
 
Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service Comparison
 
Week1 dq5
Week1 dq5Week1 dq5
Week1 dq5
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Introduction to Microservices with NService Bus
Introduction to Microservices with NService BusIntroduction to Microservices with NService Bus
Introduction to Microservices with NService Bus
 
OpenFaaS
OpenFaaSOpenFaaS
OpenFaaS
 
How to automate your BizTalk Installations and Deployments with Chef
How to automate your BizTalk Installations and Deployments with ChefHow to automate your BizTalk Installations and Deployments with Chef
How to automate your BizTalk Installations and Deployments with Chef
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
 
HTML Hypermedia APIs and Adaptive Web Design - RuPy
HTML Hypermedia APIs and Adaptive Web Design - RuPyHTML Hypermedia APIs and Adaptive Web Design - RuPy
HTML Hypermedia APIs and Adaptive Web Design - RuPy
 
Improving user experience with real user measurements
Improving user experience with real user measurements Improving user experience with real user measurements
Improving user experience with real user measurements
 
Scalable chat bot services at line now
Scalable chat bot services at line nowScalable chat bot services at line now
Scalable chat bot services at line now
 

Ähnlich wie Calatrava

Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
SAP Portal
 
Cross Platform Mobile Application Architecture
Cross Platform Mobile Application ArchitectureCross Platform Mobile Application Architecture
Cross Platform Mobile Application Architecture
Derrick Bowen
 

Ähnlich wie Calatrava (20)

Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Krishnagopal Thogiti_Java
Krishnagopal Thogiti_JavaKrishnagopal Thogiti_Java
Krishnagopal Thogiti_Java
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with Xamarin
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Application modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaSApplication modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaS
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
 
Aerobatic Introduction
Aerobatic IntroductionAerobatic Introduction
Aerobatic Introduction
 
Building SPAs with AngularJS
Building SPAs with AngularJSBuilding SPAs with AngularJS
Building SPAs with AngularJS
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarin
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Cross Platform Mobile Application Architecture
Cross Platform Mobile Application ArchitectureCross Platform Mobile Application Architecture
Cross Platform Mobile Application Architecture
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 

Calatrava

Hinweis der Redaktion

  1. Cross platform issues: In certain cases the access to hardware components and platform features is dependent on the support from the toolkit. Additionally, fragmentation can be a beast to tackle in these cases as a developer may have only limited access to underlying native platform. PureMobile web issues:impedance to navigate an app in browser. Additionally, having an app in an app store adds a lot of branding to a business, which is sorely missed in this case. However mobile web is emerging as a great add-on for a business with apps; since it is handy for tactical queries while app can serve as a rich engagement point for a customer.
  2. Cross platform issues: In certain cases the access to hardware components and platform features is dependent on the support from the toolkit. Additionally, fragmentation can be a beast to tackle in these cases as a developer may have only limited access to underlying native platform. PureMobile web issues:impedance to navigate an app in browser. Additionally, having an app in an app store adds a lot of branding to a business, which is sorely missed in this case. However mobile web is emerging as a great add-on for a business with apps; since it is handy for tactical queries while app can serve as a rich engagement point for a customer.
  3. Cross platform issues: In certain cases the access to hardware components and platform features is dependent on the support from the toolkit. Additionally, fragmentation can be a beast to tackle in these cases as a developer may have only limited access to underlying native platform. PureMobile web issues:impedance to navigate an app in browser. Additionally, having an app in an app store adds a lot of branding to a business, which is sorely missed in this case. However mobile web is emerging as a great add-on for a business with apps; since it is handy for tactical queries while app can serve as a rich engagement point for a customer.
  4. Calatrava is one such implementation of the hybrid approach that we just spoke about. It was developed by a few ThoughtWorkers and then used for multiple client projects.
  5. an opinionated architecture, which drives how code should be organized and howlayers should be loosely coupledA Calatrava app is broken down into features. These features are driven by one or more controllers. Each feature has a start function and a set of pages.From your Calatrava app you can build an iOS app, an Android app and a Mobile Web app. The shared controlling logic is called thekernel. If you are building a shared HTML UI, that is called the shell.Connecting your kernel code to the UI of your app and any native device features you are using is the bridge. This is the main piece that the Calatrava framework provides.
  6. Any event by the end user of the app is first received by the page objects. They in turn have functions bound to them which get triggered.
  7. Cover your bases strategy: In this case, since the customer is the focus and not the platform, it is imperative to have a presence on multiple platforms, to widen the outreach to customersDeveloper’s perspective:No additional Framework Density
  8.   product vs channel  Simple core logic  Needs heavy UI and almost all native components
  9.   - needs basic knowledge of platforms - how much do I need to write and how much is calatrava?Initial investment will be required to ensure necessary pieces are in place to enable cross-platform developmentDevelopers needs to be trained on the approach as it’s new and not widely used