SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Developing a native mobile apps using
Ionic&Cordova
Damir Beylkhanov
Paragon Ind. | Saint Petersburg
Roadmap
• What is Hybrid App?
• Cordova framework (hybrid app)
• Cordova App Architecture
• Cordova Tools
• Ionic (better hybrid apps)
• Full Runtime Architecture
• Ionic App Samples
• Cordova vs Xamarin
• Native vs Hybrid
• Env. to deploy Cordova apps
• Demo
What is Hybrid App?
• An open-source (MIT License) mobile development framework for building natively mobile apps (https://cordova.apache.org/)
• Standards-compliant API bindings to access each device's capabilities
• Use standard web technologies - HTML5, CSS3, and JavaScript (Typescript) for cross-platform development
• Native wrapper around a web browser view (100% width, 100% height):
iOS = UIWebView (WKWebView) WebKit
Android = android.webkit.WebView
Windows Mobile = Edge WebView
• No URL bar
• No decorations
• No zooming
• No text selection
How is app works?
Client side:
• SPA model
• Page is never unloaded from memory
• Data will be displayed by updating the HTML DOM
• Data is retrieved from the application server using ajax
Server side:
• Server scripting language such as .NET, Java, PHP, etc..
• Communication based on:
• RESTful services (XML, JSON, etc…)
• SOAP
• Business logic performs on server side in generally
• Data repository may be standard DB or external API
Cordova App architecture
Cordova Tools
A diverse ecosystem of command line tools, JavaScript frameworks, and cloud services
exist that augment Cordova:
• Ionic
• Visual Studio
• Tools for Apache Cordova (TACO)
• Adobe PhoneGap
• PlugReg
• Telerik
• App Builder
• Onsen UI
• etc.
• Ionic is most popular cross-platform mobile technology which created in 2013. World have
built over 1.2 million mobile apps with Ionic.
• Used everywhere from Fortune 500 co’s to YC/TechStars companies
• Ionic is mobile app development framework for interactive mobile apps using HTML5
and Angular for a lot of the core functionality of the framework
• Support for a broad range of common native mobile components, slick animations, and
beautiful design
• It needs a native wrapper like Cordova
• Provides access to native device features via Cordova
• Have apps that have top rating in the App Store (e.g., Joule)
• Supports Gulp, Sass, Less
• Ionic market with Ionic starter apps, pre-built and ready to go (market)
• Integration with TypeScript 2 (types, classes, enums, etc…) + Angular 2
• Stack style navigation (push/pop)
• ES6 (Modular, Scoping, Promises, Classes)
• Ionic Native components (Keyboard, Camera, Action sheets, Calendar, Date picker)
• Strong typing by way of TypeScript
• Easier to customize
Full Runtime Architecture
Camera Bluetooth Video Health KitTouch ID Streaming
Security &
Encryption
Push
Notifications
Audio
Code Push/
update
Xamarin
Pros:
• C# can be used to code all platforms.
• Performance is pretty good and comparable to native.
• Customizable to allow users to create native look and feel for each platform + support for hardware features like camera, accelerometer, gps
Cons:
• Xamarin.Forms is not a complete replacement for native API programming, i.e. Xamarin.Forms != Mobile Native App
• Xamarin.iOS & Xamarin.Android doesn’t support XAML
• If you want to use native API features (UI controls or widgets), then you need to use Xamarin.iOS(Android)
• Xamarin.iOS requires a high performance from hardware, in particular, for storyboards rendering
• You still are not using a «write once» solution, you still need to understand architecture and frameworks of an iOS or Android app.
Cordova
Pros:
• Faster development with «write once» solution
• Developing a custom Native Component – Yes!
• Huge qty of plugins on markets – Ionic Components, Ionic Native, PlugReg (~2k plugins in total)
• Widest community support
• Multi threading
Cons:
• Difficulties of making apps appear native
• View render is a bit slower (but with using an external API plugins, problem can be resolved)
• Performance to be a bit slower
Env. to deploy Cordova apps
Common:
• NPM [v.^3.10]
• Node.js [v.^6]
• Cordova (npm install –g cordova) [v.6.4.0 - latest stable]
• Ionic (npm install –g ionic) [v.2.0 RC 2 - latest stable]
• Visual Studio 2013+
• Tools for Apache Cordova (extension for VS)
For deploy to Android:
• Java Development Kit (JDK) [v.8+]
• Android SDK Manager
• Hyper-V Manager
For deploy to iOS:
• Mac 
• OS X [v.10+]
• Xcode [v.7+]
• iOS SDK [v.9+]
Another way it’s use Cloud Services (e.g., Ionic Cloud) with pre-built Docker containers for deploy on iOS or Android.
DEMO
• Project structure
• CLI commands
• Emulating app
• Publishing app
• Debugging app
Thanks for your attention!
Questions? 

Weitere ähnliche Inhalte

Was ist angesagt?

Tool review
Tool reviewTool review
Tool reviewwm175309
 
Single page apps a bleeding edge new concept or a revived old one?
Single page apps   a bleeding edge new concept or a revived old one?Single page apps   a bleeding edge new concept or a revived old one?
Single page apps a bleeding edge new concept or a revived old one?Omer Dawelbeit
 
MongoDB Jump Start
MongoDB Jump StartMongoDB Jump Start
MongoDB Jump StartHaim Michael
 
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than EverJava Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than EverStefan Schmidt
 
Frameworks for Web Development
Frameworks for Web DevelopmentFrameworks for Web Development
Frameworks for Web Developmentdtmodern
 
Build a real app with react native
Build a real app with react nativeBuild a real app with react native
Build a real app with react nativeJohn Pham
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Toolsbarciszewski
 
Building RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
Building RIA - Comparison between Adobe Flex and GWT - Hu ShunjieBuilding RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
Building RIA - Comparison between Adobe Flex and GWT - Hu Shunjiejasonong
 
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...WordCamp Sydney
 
Recent Market Trends in software development
Recent Market Trends in software developmentRecent Market Trends in software development
Recent Market Trends in software developmentShahid Ahmad
 
React JS for the mobile web
React JS for the mobile webReact JS for the mobile web
React JS for the mobile webSreten Madžgalj
 
JS digest. February 2017
JS digest. February 2017JS digest. February 2017
JS digest. February 2017ElifTech
 
Continuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsContinuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsMovel
 
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...rtCamp
 
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersMaking sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersLewiz
 
Introduction à GWT
Introduction à GWTIntroduction à GWT
Introduction à GWTArcbees
 
Hybrid app development frameworks
Hybrid app development frameworksHybrid app development frameworks
Hybrid app development frameworksSquash Apps Pvt Ltd
 
O futuro do desenvolvimento .NET
O futuro do desenvolvimento .NETO futuro do desenvolvimento .NET
O futuro do desenvolvimento .NETRodrigo Kono
 

Was ist angesagt? (20)

Tool review
Tool reviewTool review
Tool review
 
Node.js
Node.jsNode.js
Node.js
 
Single page apps a bleeding edge new concept or a revived old one?
Single page apps   a bleeding edge new concept or a revived old one?Single page apps   a bleeding edge new concept or a revived old one?
Single page apps a bleeding edge new concept or a revived old one?
 
MongoDB Jump Start
MongoDB Jump StartMongoDB Jump Start
MongoDB Jump Start
 
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than EverJava Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
 
Frameworks for Web Development
Frameworks for Web DevelopmentFrameworks for Web Development
Frameworks for Web Development
 
Build a real app with react native
Build a real app with react nativeBuild a real app with react native
Build a real app with react native
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
Building RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
Building RIA - Comparison between Adobe Flex and GWT - Hu ShunjieBuilding RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
Building RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
 
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
 
Recent Market Trends in software development
Recent Market Trends in software developmentRecent Market Trends in software development
Recent Market Trends in software development
 
React JS for the mobile web
React JS for the mobile webReact JS for the mobile web
React JS for the mobile web
 
JS digest. February 2017
JS digest. February 2017JS digest. February 2017
JS digest. February 2017
 
Continuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsContinuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile Apps
 
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
 
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersMaking sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
 
Introduction à GWT
Introduction à GWTIntroduction à GWT
Introduction à GWT
 
MVP with GWT and GWTP
MVP with GWT and GWTPMVP with GWT and GWTP
MVP with GWT and GWTP
 
Hybrid app development frameworks
Hybrid app development frameworksHybrid app development frameworks
Hybrid app development frameworks
 
O futuro do desenvolvimento .NET
O futuro do desenvolvimento .NETO futuro do desenvolvimento .NET
O futuro do desenvolvimento .NET
 

Ähnlich wie Develop hybrid mobile apps using Ionic & Cordova

Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicErmias Bayu
 
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
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 
Top Technologies to Develop Mobile Apps.pptx
Top Technologies to Develop Mobile Apps.pptxTop Technologies to Develop Mobile Apps.pptx
Top Technologies to Develop Mobile Apps.pptxGokulKanna18
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Jad Salhani
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
Developing Hybrid Applications with IONIC
Developing Hybrid Applications with IONICDeveloping Hybrid Applications with IONIC
Developing Hybrid Applications with IONICFuat Buğra AYDIN
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkCihad Horuzoğlu
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Ryan Cuprak
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 

Ähnlich wie Develop hybrid mobile apps using Ionic & Cordova (20)

Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
Building mobile apps using meteorJS
Building mobile apps using meteorJSBuilding mobile apps using meteorJS
Building mobile apps using meteorJS
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
Cross-Platform Development
Cross-Platform DevelopmentCross-Platform Development
Cross-Platform 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
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
Top Technologies to Develop Mobile Apps.pptx
Top Technologies to Develop Mobile Apps.pptxTop Technologies to Develop Mobile Apps.pptx
Top Technologies to Develop Mobile Apps.pptx
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Developing Hybrid Applications with IONIC
Developing Hybrid Applications with IONICDeveloping Hybrid Applications with IONIC
Developing Hybrid Applications with IONIC
 
Mobile applications development
Mobile applications developmentMobile applications development
Mobile applications development
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 

Develop hybrid mobile apps using Ionic & Cordova

  • 1. Developing a native mobile apps using Ionic&Cordova Damir Beylkhanov Paragon Ind. | Saint Petersburg
  • 2. Roadmap • What is Hybrid App? • Cordova framework (hybrid app) • Cordova App Architecture • Cordova Tools • Ionic (better hybrid apps) • Full Runtime Architecture • Ionic App Samples • Cordova vs Xamarin • Native vs Hybrid • Env. to deploy Cordova apps • Demo
  • 4. • An open-source (MIT License) mobile development framework for building natively mobile apps (https://cordova.apache.org/) • Standards-compliant API bindings to access each device's capabilities • Use standard web technologies - HTML5, CSS3, and JavaScript (Typescript) for cross-platform development • Native wrapper around a web browser view (100% width, 100% height): iOS = UIWebView (WKWebView) WebKit Android = android.webkit.WebView Windows Mobile = Edge WebView • No URL bar • No decorations • No zooming • No text selection
  • 5. How is app works? Client side: • SPA model • Page is never unloaded from memory • Data will be displayed by updating the HTML DOM • Data is retrieved from the application server using ajax Server side: • Server scripting language such as .NET, Java, PHP, etc.. • Communication based on: • RESTful services (XML, JSON, etc…) • SOAP • Business logic performs on server side in generally • Data repository may be standard DB or external API
  • 7. Cordova Tools A diverse ecosystem of command line tools, JavaScript frameworks, and cloud services exist that augment Cordova: • Ionic • Visual Studio • Tools for Apache Cordova (TACO) • Adobe PhoneGap • PlugReg • Telerik • App Builder • Onsen UI • etc.
  • 8. • Ionic is most popular cross-platform mobile technology which created in 2013. World have built over 1.2 million mobile apps with Ionic. • Used everywhere from Fortune 500 co’s to YC/TechStars companies • Ionic is mobile app development framework for interactive mobile apps using HTML5 and Angular for a lot of the core functionality of the framework • Support for a broad range of common native mobile components, slick animations, and beautiful design • It needs a native wrapper like Cordova • Provides access to native device features via Cordova • Have apps that have top rating in the App Store (e.g., Joule) • Supports Gulp, Sass, Less • Ionic market with Ionic starter apps, pre-built and ready to go (market)
  • 9. • Integration with TypeScript 2 (types, classes, enums, etc…) + Angular 2 • Stack style navigation (push/pop) • ES6 (Modular, Scoping, Promises, Classes) • Ionic Native components (Keyboard, Camera, Action sheets, Calendar, Date picker) • Strong typing by way of TypeScript • Easier to customize
  • 10. Full Runtime Architecture Camera Bluetooth Video Health KitTouch ID Streaming Security & Encryption Push Notifications Audio Code Push/ update
  • 11.
  • 12.
  • 13.
  • 14. Xamarin Pros: • C# can be used to code all platforms. • Performance is pretty good and comparable to native. • Customizable to allow users to create native look and feel for each platform + support for hardware features like camera, accelerometer, gps Cons: • Xamarin.Forms is not a complete replacement for native API programming, i.e. Xamarin.Forms != Mobile Native App • Xamarin.iOS & Xamarin.Android doesn’t support XAML • If you want to use native API features (UI controls or widgets), then you need to use Xamarin.iOS(Android) • Xamarin.iOS requires a high performance from hardware, in particular, for storyboards rendering • You still are not using a «write once» solution, you still need to understand architecture and frameworks of an iOS or Android app. Cordova Pros: • Faster development with «write once» solution • Developing a custom Native Component – Yes! • Huge qty of plugins on markets – Ionic Components, Ionic Native, PlugReg (~2k plugins in total) • Widest community support • Multi threading Cons: • Difficulties of making apps appear native • View render is a bit slower (but with using an external API plugins, problem can be resolved) • Performance to be a bit slower
  • 15. Env. to deploy Cordova apps Common: • NPM [v.^3.10] • Node.js [v.^6] • Cordova (npm install –g cordova) [v.6.4.0 - latest stable] • Ionic (npm install –g ionic) [v.2.0 RC 2 - latest stable] • Visual Studio 2013+ • Tools for Apache Cordova (extension for VS) For deploy to Android: • Java Development Kit (JDK) [v.8+] • Android SDK Manager • Hyper-V Manager For deploy to iOS: • Mac  • OS X [v.10+] • Xcode [v.7+] • iOS SDK [v.9+] Another way it’s use Cloud Services (e.g., Ionic Cloud) with pre-built Docker containers for deploy on iOS or Android.
  • 16. DEMO • Project structure • CLI commands • Emulating app • Publishing app • Debugging app
  • 17. Thanks for your attention! Questions? 