2. • Computer Science graduate from the American University of Beirut.
• Currently freelancing in software engineering and design
• Focused mainly on Mobile Development using best practices and Agile
methods
• Thriving to be an international speaker in different topics
A BRIEF ABOUT ME
Jad Salhani
3. What is a Hybrid App?
• HTML5 / CSS / JS
• Web View or Transpiled
• Hybrid Framework
4. Hybrid. It's Awesome.
• Use Existing Web Skills
• Single Codebase
• Java is Terrible
• Hot-fixes - No Review
• Mostly Platform-Agnostic
• Objective-C is MoonMan
5. But Isn’t it True That…
• “…hybrid is slow?”
• “…native is more performant?”
• “…hybrid has janky animations?”
• “…hybrid can’t access native features?”
17. NATIVE +
• No middle-man translator
• Access to latest SDK on
release and latest device
features
• Machine-code optimizations
• Best performance
• Native design
18. NATIVE -
• Supporting more platforms
= More codebases
• Language migration
obstacles (For ex, Swift 2 ->
3)
• Responsive design is hard
• Self-write almost every UI
component
• Slow development
22. What is Ionic?
• Hybrid mobile framework
• Built with AngularJS
• Written in Typescript
• Open Source - MIT License
• Built on Web/Browser Standards
ionicframework.com
40. Deploying to a Device
• Enable Developer Options
• Enable USB Debugging
• Create Provisioning Profile
• Code Sign .IPA in Xcode
• npm install -g ios-deploy
• bit.ly/deploy-without-dev-account
41. THE UGLY
Ionic is strongly linked to Angular 2
If Angular 2 introduces breaking changes, most
probably Ionic will too
Still moody about their project architecture and
tools
46. CHOICE IN ARCHITECTURE
Write your
application
using plain
Javascript
Use TypeScript to
get Object
Oriented features
and compile time
error checking
Use Angular to
architect
application. Reuse
almost all code
between web and
mobile
47. USE LOTS OF PREBUILT CODE
• Use thousands of plugins
from NPM
• Use free native controls
from Cocoapods or Android
Arsenal
57. WHAT IS REACT NATIVE?
• Built by Facebook
• Uses the same architectural
design as React
• Declarative components
• Promoted as
“indistinguishable” from an
app built using Objective-C
or Java
• Embeds native components
for use if needed
65. THE UGLY
• index.{platform}.js implies 2 code bases
• Native iOS support much greater than
Android
• Less stable than others
66.
67. WHAT IS XAMARIN?
• Microsoft’s take on Hybrid Mobile Apps
• Uses C# as main language
• Visual Studio support for native app projects and files
• Native SDKs ported to C# for easier use in code
• Supports wearables
• Not Open-Source, licensed by Microsoft
77. WHAT IS APPCELERATOR?
Mobile Hybrid framework that uses JavaScript
Has custom IDE with SDK Support
Immediate support for each new OS release
App designer that updates running app
82. AND ITS JS
1 function doClick(e) {
2 alert($.label.text);
3 }
4
5 $.index.open();
83. THE UGLY
• Uses Vanilla Javascript with a jQuery-like SDK
• Counter-intuitive XML tags have to be used
• NOT Free
• When in-practice, has poor performance compared to other
frameoworks
84. CLOSING NOTE
So many more frameworks are available
Choose depending on your use case and your
skills
There is no “One Ring” of hybrid frameworks