SlideShare a Scribd company logo
1 of 34
hello!
I am Rashmika Nawaratne
Software craftsman at 99X Technology
Specialized in Hybrid Mobile Domain
Mobile
Enablement
simple but not easy
Hybrid App
Development
Why?
How?
What?
Why?
Winning Product
Why?
How?
Reaching user the fastest way
✘ Platform independent
✘ Accessible from anywhere
✘ Super fast learning curve for
development
✘ Easy test and deploy
Get the maximum reach in audience
✘ Download from AppStore,
GooglePlay and Windows Store
✘ Accessible anytime
✘ Offline support
✘ Full device access
Reaching your focus audience
iOS
✘ Mac OS | Xcode
✘ Objective C
W: 30% | E: 41% | A: 15%
SL: 5.17%
Android
✘ Win/Mac/Linux OS
✘ Java
W: 55% | E: 53% | A: 62%
SL: 62.24%
Windows
✘ Windows
✘ XAML and ( C#.NET or
VB.NET )
W: 2% | E: 3% | A: 1.6%
SL: 3.75%
W: Worldwide | E: Europe | A: Asia | SL: Sri Lanka
From October 2014 to October 2015
Best from both the worlds
Why?
How?
What?
Depth of Hybrid Knowledge
Hybrid Mobile
Development
Best of both worlds
✘Native app with embedded HTML
✘One app for many platforms
✘Full device access
✘Access anytime anywhere (Offline support)
✘AppStore / Windows Store / Google Play
✘Use your preferred language
✘Learn fast and build faster
Myths!
✘They are just websites in app-stores
✘You can’t access mobile features
✘Native apps are more beautiful
✘Slow!
Responsive
Web
Hybrid
Mobile
Native
Web view
Native
Translator
Hybrid Technologies
Xamarin Studio
✘ Freemium by Xamarin
✘ Mac, Windows, Microsoft
Visual Studio
✘ Write in C#
Appcelerator Titanium
✘ Open Source by Appcelerator
Inc
✘ Mac, Windows, Linux, Web /
Cloud
✘ Write in Web technologies
Apache Cordova
✘ Open Source by Apache
✘ Mac, Windows, Linux, Web /
Cloud
✘ Write in Web technologies
PhoneGap
Open Source by Adobe
Mac, Windows, Linux, Web /
Cloud
Write in Web technologies
Qt Creator
Open Source by Qt Project
Mac, Windows, Linux, BSD
Use cross-platform C++,
JavaScript and QML
React/React Native
✘ Open Source by Facebook
✘ iOS, Android
✘ Write in JS
“Oh No! The Zuck has spoken!”
Are You Building the Facebook app?
✘Have a multi-million dollar budget?
✘Have a large team of experienced native developers?
✘Does your billion-dollar revenue depend on this app?
✘If so...do native
✘...but today it's not so black and white
I choose Apache Cordova
✘ Widest community support
✘ Complete Eco-system
✘ Plugins to support device
767 as at 2.30pm 13/11/2015
Concept behind hybrid development - Cordova
Technical Architecture - Cordova
Getting Started...
Install
Cordova
Download
Mobile
Framework
Get the
Bootstrap
code
Test from
Browser
Emulator
Build
the
app
Push to
Cloud
✘ jQuery Mobile
✘ Ionic
✘ Onsen UI
✘ Intel XDK
✘ Kendo UI
✘ Sencha Touch
Welcome Ionic
✘ Web Technologies You Already Know and Love
HTML5 / JS / CSS
✘ Standing on the Shoulders of AngularJS
✘ Native Focused – build to work with Cordova
✘Performance Obsessed
✘Ionicons
✘Eco System of Services (Auth, Push, Analytics, Deploy, View)
“How does it all come together?”
WebView (Cordova)
Native SDK
AngularJS
Ionic
Your App
Credits: Lucio Grenzi
Moving forward…
1. Intro to Hybrid Mobile Domain
2. Create and build an Ionic project using the CLI
3. Debug and test Ionic project
4. Build a modern mobile UI using Ionic components
5. Access REST services
6. Use controllers and routing
7. Extending core Ionic capabilities using plugins
8. Ionic ecosystem: Push, Auth, Analytics, Deployment, Marketplace
What you need first?
Happy Coding!
You can find me on
@razmik89
RashmikaN@99x.lk
blog.nawaratne.com
Credits
Special thanks to all the people who made and released
these awesome resources for free:
✘Presentation template by SlidesCarnival
✘Photographs by Unsplash

More Related Content

What's hot

Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderJeffrey T. Fritz
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadRuss Fustino
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersTroy Miles
 
Ionic Crash Course! Hack-a-ton SF
Ionic Crash Course! Hack-a-ton SFIonic Crash Course! Hack-a-ton SF
Ionic Crash Course! Hack-a-ton SFLukas Ruebbelke
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapTed Chien
 
Intro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsIntro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsSasha dos Santos
 
Building mobile app with Ionic Framework
Building mobile app with Ionic FrameworkBuilding mobile app with Ionic Framework
Building mobile app with Ionic FrameworkHuy Trần
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGapJoshua Johnson
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicKadhem Soltani
 
How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapMobiDev
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsEddie Lau
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkTroy Miles
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Mark Leusink
 
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
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationMuhammad Hakim A
 
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
 
Angular js and phonegap unite
Angular js and phonegap uniteAngular js and phonegap unite
Angular js and phonegap uniteFITC
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkBramus Van Damme
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Developmentthedumbterminal
 

What's hot (20)

Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilder
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
Ionic Crash Course! Hack-a-ton SF
Ionic Crash Course! Hack-a-ton SFIonic Crash Course! Hack-a-ton SF
Ionic Crash Course! Hack-a-ton SF
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGap
 
Intro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsIntro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile Applications
 
Building mobile app with Ionic Framework
Building mobile app with Ionic FrameworkBuilding mobile app with Ionic Framework
Building mobile app with Ionic Framework
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGap
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ Codeaholics
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic Framework
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
 
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
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
 
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
 
Angular js and phonegap unite
Angular js and phonegap uniteAngular js and phonegap unite
Angular js and phonegap unite
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic Framework
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Development
 

Similar to Hybrid Mobile Development: Best of Both Worlds

Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, RedefinedIonic Framework
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapSasha Goldshtein
 
Developing a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyDeveloping a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyTodd Anglin
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxssuserd27db6
 
Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Karthikeyan Anbarasan (AK)
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfLam Chun
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationJoseph Labrecque
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile applicationMengChun Lam
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run ThroughMike Hartington
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101Sam Basu
 
Mobile app development sylhet it academy
Mobile app development  sylhet it academyMobile app development  sylhet it academy
Mobile app development sylhet it academySylhet IT Academy
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGapDotitude
 
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformVisual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformStefano Ottaviani
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview Ionic Framework
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corsoUniversity of Catania
 
The iPhone development on windows
The iPhone development on windowsThe iPhone development on windows
The iPhone development on windowsNAILBITER
 

Similar to Hybrid Mobile Development: Best of Both Worlds (20)

Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, Redefined
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
 
Developing a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyDeveloping a Modern Mobile App Strategy
Developing a Modern Mobile App Strategy
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptx
 
Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)
 
PhoneGap/Cordova
PhoneGap/CordovaPhoneGap/Cordova
PhoneGap/Cordova
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
 
Talk (2)
Talk (2)Talk (2)
Talk (2)
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile application
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run Through
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Mobile app development sylhet it academy
Mobile app development  sylhet it academyMobile app development  sylhet it academy
Mobile app development sylhet it academy
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformVisual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corso
 
The iPhone development on windows
The iPhone development on windowsThe iPhone development on windows
The iPhone development on windows
 

More from Rashmika Nawaratne

Time Management : Manage your focus
Time Management : Manage your focusTime Management : Manage your focus
Time Management : Manage your focusRashmika Nawaratne
 
Higher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsHigher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsRashmika Nawaratne
 
Professional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceProfessional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceRashmika Nawaratne
 
Connect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalConnect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalRashmika Nawaratne
 
Resume Writing and Online Media Presence
Resume Writing and Online Media PresenceResume Writing and Online Media Presence
Resume Writing and Online Media PresenceRashmika Nawaratne
 
Show your professionalism using LinkedIn
Show your professionalism using LinkedInShow your professionalism using LinkedIn
Show your professionalism using LinkedInRashmika Nawaratne
 
Professional Communication Etiquette
Professional Communication EtiquetteProfessional Communication Etiquette
Professional Communication EtiquetteRashmika Nawaratne
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Rashmika Nawaratne
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent isRashmika Nawaratne
 

More from Rashmika Nawaratne (12)

Time Management : Manage your focus
Time Management : Manage your focusTime Management : Manage your focus
Time Management : Manage your focus
 
Higher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsHigher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and Scholarships
 
Professional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceProfessional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and Workplace
 
Connect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalConnect the dots and Groom as a Professional
Connect the dots and Groom as a Professional
 
Resume Writing and Online Media Presence
Resume Writing and Online Media PresenceResume Writing and Online Media Presence
Resume Writing and Online Media Presence
 
Show your professionalism using LinkedIn
Show your professionalism using LinkedInShow your professionalism using LinkedIn
Show your professionalism using LinkedIn
 
Professional Communication Etiquette
Professional Communication EtiquetteProfessional Communication Etiquette
Professional Communication Etiquette
 
Chromium vs. Firefox
Chromium vs. FirefoxChromium vs. Firefox
Chromium vs. Firefox
 
Sms presentation
Sms presentationSms presentation
Sms presentation
 
OS Fingerprinting
OS FingerprintingOS Fingerprinting
OS Fingerprinting
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent is
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Hybrid Mobile Development: Best of Both Worlds

  • 1.
  • 2.
  • 3. hello! I am Rashmika Nawaratne Software craftsman at 99X Technology Specialized in Hybrid Mobile Domain
  • 4. Mobile Enablement simple but not easy Hybrid App Development
  • 9. Reaching user the fastest way ✘ Platform independent ✘ Accessible from anywhere ✘ Super fast learning curve for development ✘ Easy test and deploy
  • 10. Get the maximum reach in audience ✘ Download from AppStore, GooglePlay and Windows Store ✘ Accessible anytime ✘ Offline support ✘ Full device access
  • 11. Reaching your focus audience iOS ✘ Mac OS | Xcode ✘ Objective C W: 30% | E: 41% | A: 15% SL: 5.17% Android ✘ Win/Mac/Linux OS ✘ Java W: 55% | E: 53% | A: 62% SL: 62.24% Windows ✘ Windows ✘ XAML and ( C#.NET or VB.NET ) W: 2% | E: 3% | A: 1.6% SL: 3.75% W: Worldwide | E: Europe | A: Asia | SL: Sri Lanka From October 2014 to October 2015
  • 12.
  • 13. Best from both the worlds
  • 15. Depth of Hybrid Knowledge
  • 17. Best of both worlds ✘Native app with embedded HTML ✘One app for many platforms ✘Full device access ✘Access anytime anywhere (Offline support) ✘AppStore / Windows Store / Google Play ✘Use your preferred language ✘Learn fast and build faster
  • 18. Myths! ✘They are just websites in app-stores ✘You can’t access mobile features ✘Native apps are more beautiful ✘Slow!
  • 20. Hybrid Technologies Xamarin Studio ✘ Freemium by Xamarin ✘ Mac, Windows, Microsoft Visual Studio ✘ Write in C# Appcelerator Titanium ✘ Open Source by Appcelerator Inc ✘ Mac, Windows, Linux, Web / Cloud ✘ Write in Web technologies Apache Cordova ✘ Open Source by Apache ✘ Mac, Windows, Linux, Web / Cloud ✘ Write in Web technologies PhoneGap Open Source by Adobe Mac, Windows, Linux, Web / Cloud Write in Web technologies Qt Creator Open Source by Qt Project Mac, Windows, Linux, BSD Use cross-platform C++, JavaScript and QML React/React Native ✘ Open Source by Facebook ✘ iOS, Android ✘ Write in JS
  • 21. “Oh No! The Zuck has spoken!”
  • 22. Are You Building the Facebook app? ✘Have a multi-million dollar budget? ✘Have a large team of experienced native developers? ✘Does your billion-dollar revenue depend on this app? ✘If so...do native ✘...but today it's not so black and white
  • 23.
  • 24. I choose Apache Cordova ✘ Widest community support ✘ Complete Eco-system ✘ Plugins to support device 767 as at 2.30pm 13/11/2015
  • 25. Concept behind hybrid development - Cordova
  • 27. Getting Started... Install Cordova Download Mobile Framework Get the Bootstrap code Test from Browser Emulator Build the app Push to Cloud ✘ jQuery Mobile ✘ Ionic ✘ Onsen UI ✘ Intel XDK ✘ Kendo UI ✘ Sencha Touch
  • 28. Welcome Ionic ✘ Web Technologies You Already Know and Love HTML5 / JS / CSS ✘ Standing on the Shoulders of AngularJS ✘ Native Focused – build to work with Cordova ✘Performance Obsessed ✘Ionicons ✘Eco System of Services (Auth, Push, Analytics, Deploy, View)
  • 29. “How does it all come together?” WebView (Cordova) Native SDK AngularJS Ionic Your App
  • 31. Moving forward… 1. Intro to Hybrid Mobile Domain 2. Create and build an Ionic project using the CLI 3. Debug and test Ionic project 4. Build a modern mobile UI using Ionic components 5. Access REST services 6. Use controllers and routing 7. Extending core Ionic capabilities using plugins 8. Ionic ecosystem: Push, Auth, Analytics, Deployment, Marketplace
  • 32. What you need first?
  • 33. Happy Coding! You can find me on @razmik89 RashmikaN@99x.lk blog.nawaratne.com
  • 34. Credits Special thanks to all the people who made and released these awesome resources for free: ✘Presentation template by SlidesCarnival ✘Photographs by Unsplash

Editor's Notes

  1. Good morning everyone. One key factor behind every successful startup is the idea. Today I’m going to give you some tips on how that idea can be taken to the mass audience in the minimum time frame. How?
  2. Simple using mobile. Why Mobile? Any idea? Mobile is the market with the highest number of audience. By October 2014 something cool happened. # mobile phones (SIM) overtook the # human So if you have an cool idea, You can simply take that to a large target audience in no time. With mobile!
  3. I am Rashmika Nawaratne Senior Software Engineer at 99X Technology For around 2 years, I am specializing in Hybrid Mobile Domain, starting with Sencha, then moving into jQuery Mobile and then Ionic.
  4. Today I'm going to give my few cents, on Hybrid Mobile Development. Earlier did same presentation focuing on business aspect. But today, let me focusing more into technology aspects. But the tagline – simple but not easy – it’s still valid! So as a developer when you hear the word Hybrid , what comes to your mind? (Stickers giveaway…) Android, Xcode, Java, Objective C.. what else? Hmm let’s see at the end whether I’ll be able to change your mindset.
  5. What I’m going to talk about ME? Just 3 things. Why? Why would you need mobile app when you can simple craft your startup idea in 100s of ways. How? How you can move forward with mobile enablement. What to consider and what to forget. What to learn and what to unlearn. What? What you would need to do to get your business idea into your handheld device. Specially tools and techniques. Basically I’m going to tell you one way to transform your business focus into technical focus in the mobile arena.
  6. WHY
  7. Imagine you a super cool idea for an app - Person identification app. You take a picture of person and it will show all the info about him, his Facebook profile, LinkedIn info, contact details and his bio. Now - build, sell and make money. For success of this app, what do you need to do? There are plenty. But focusing on the most important, Widest… "Which users am I going to focus?" Generation X people, Gen Y, school kids, only women, nerds, geeks or a specific category of people, maybe Police or FBI. Time is money. The time for development is a concern since it’s one of the main gaps between your idea and actual product. With all above concerns, is it possible your app to go to the market, before anyone else does?
  8. And now the HOW. The million dollar question - HOW would you drive technical focus to support the business focus?
  9. Winning product ->Speed to market and widest user reach. If you ask anyone, how to create an app super fast most would say - website or web app. And since everyone has a computer or mobile phone has access to web browser, then to your app. So if we use a webapp, we can reach the maximum from our target audience, and can reach super fast. Its just a matter of hosting the app in a server, and allowing users to browser the URL.
  10. But what if user wants more interaction with the app? More personalize and want to use it when they are not connected to web. Mobile. What cool stuff comes from mobile arena; Full device access - you can access all the phone features like camera, contact list, SMS, browser, etc. Can download from AppStore, GooglePlay and Windows Store Accessible anytime from your handheld device Offline support - you can use any app even without connecting to the web Mobile App as by today, there are more active mobile devices than human in the world. [International Business Times] Why it differs from web?
  11. The Vendors! Event when we take only mobile, there are plentry of different platofrms unlike web. If web, it’s somehow only JS/CSS and HTML with minor differences for different browsers. Traditional native mobile development is restricted to iOS, Android & Windows. If we take number wise, you can see, from region to region, country to country, the usage of main mobile platforms change. So having to have multiple platforms, might be a option on large scale distribution. Wouldn't it be dreamy if we can combine pros of both web and mobile in one app plus have one single platform to reach all mobile platforms, and use it to reach the market super fast?
  12. So we have web and mobile arena. Concerns, fastest development and best user experience. Web and Mobile.
  13. Another context: You want to go out in sunlight and have fun eating junk food and sleeping while being a Edward-like vampire. On the other hand, Control when you need to transform into a wolf and control yourself when you are a wolf while being a Jacob-like werewolf. Without needing new jeans and shirts every time after you burst yourself to a wolf.
  14. What?
  15. Hybrid Mobile Development technology came to arena after 2010, and been ever evolving with many supportive platforms.
  16. Since each native application only runs on one platform, businesses building native apps must make a choice--build for one platform or build for multiple platforms? If you are going for all 3 main platforms you will have to develop 3 mobile apps. Source: http://www.mrc-productivity.com/research/whitepapers/NativeAppsWrongChoice.pdf
  17. Throughout it's development, there are few myths as well... 1. They are just websites in app-stores : No they are not just websites. They are mobile apps which gives the same user experience as any iOS, Android or Windows app gives. Don't just listen to me. Try for yourselves Evernote | Amazon 2. You can't access Mobile Device Features: Ha ha. Try Evernote image capturing for a change. And to boast there are 649 plugins to use device features by 12.50 PM on 15th October 2015. By the time you read, this number is definitely increased. See the plugins repository. 3. Native apps are more beautiful: Again I'd ask you to refer above apps. And these ones which are presented in this slideshare presentation. On the other hand I'd say this is totally depend on your competency in CSS. Limit is beyond horizon if you can do the UI nicely. And with the 1001 opensource UI frameworks available, you definetely can do a better UI with HTML5/CSS than native android or iOS for sure! 4. Hybrid Mobile apps are slow: Hmm Let me come to that in few mins.
  18. I hope this is what you all geeks been waiting for. What are the available tools we can use to convert your app to android? Or iOS.
  19. Apache Cordova has the widest community support Eco-system to make developers' life comfortable I found it super cool to work with :-) Today, most hybrid mobile applications leverage Apache Cordova, a platform that provides a consistent set of JavaScript APIs to access device capabilities through plugins, which are built with native code. As a side note, Apache Cordova originally started as a project named PhoneGap. These days, PhoneGap exists as a distribution of Apache Cordova that includes additional tools.
  20. Step 1: Initially you have a website. You have your (Html, CSS, JS) Lets say you have, index.html app.js style.css Step 2: Then you process it through ApacheCordova (PhoneGap). Basically compile, build and release. How: cordova build android ios | upload your web files to PhoneGap Cloud. Step 3: The output will be the native mobile app. Mobile app for iOS, Android, Windows, Blackberry or your preferred mobile platform. Remember my tag line? Simple but not easy. Simple as that.
  21. At the bottom you have the Mobile OS. (Android, iOS, Windows, etc.) On top of that, you have your PhoneGap Application. Inside the PhoneGap Application, you have HTML Rendering Engine at the bottom. Basically a web view. On top of the web view is your web app (Your index.html, app.js, style.css) Separately there will be PhoneGap Plugins, and your app can connect to them through the html rendering engine. The plugin will directly contact the Mobile OS via OS APIs. So you can imagine it as, Cordova will create a native app with a web browser, and run your web-app (html/css/js) inside the web browser. Seems quite a lot to digest? No. Nothing to worry. You only have to think of the Web App Layer :-)
  22. First you install Apache Cordova. Then the development of your app. The first approach would be write your app code from scratch. Doable, however its quite a considerable amount of work if you are a beginner. Even you are a pro, I'd say you can use existing mobile UI framework and customize based on your requirements, which is straightforward and hell a lot of time saver. Okay cool. What are the available mobile UI frameworks? If you are familier with AngularJS - Go for Ionic. Else start with jQuery Mobile.
  23. Native Focused Modeled off of native SDKs Built to work with Cordova Performance Obsessed Hardware accelerated animations Minimal DOM Manipulation Remove 300ms tap delay Plain ol' CSS Cohesive visual system Clean and simple Easy to customize Stand-alone CSS (independent of Ionic's JavaScript) Ionicons Over 700 MIT licensed font-icons included
  24. Source: http://www.slideshare.net/lucio_grenzi/use-ionic-framework-to-develop-mobile-application
  25. https://ccoenraets.github.io/ionic-tutorial/
  26. http://www.tutorialspoint.com/ionic/ionic_environment_setup.htm We will start with https://ccoenraets.github.io/ionic-tutorial/index.html