38
Cross Platform Development Building Applications for Multiple Platforms Created by / || Last Updated: August 31, 2013 Femi TAIWO @dftaiwo GDG Lagos

Cross platform development

  • Upload
    dftaiwo

  • View
    598

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Cross platform development

Cross PlatformDevelopmentBuilding Applications for Multiple

PlatformsCreated by   /   ||   

Last Updated: August 31, 2013Femi TAIWO @dftaiwo GDG Lagos

Page 2: Cross platform development

Heads UpKey Areas

WhatWhyWhenHow

Page 3: Cross platform development

What is it?Let's lay (or re-lay) a foundation

Page 4: Cross platform development

What is a platform?A platform: hardware architecture and a software framework

Page 5: Cross platform development

Hardware:

Examples

PCsMacintoshVideo Game ConsolesMobile DevicesMainframe

Page 6: Cross platform development

Software Framework

Examples

Adobe AirJava Platform (Micro, Standard,...)Mono.NetSilverlightQt

Page 7: Cross platform development

PlatformsExamples

AndroidBada OSBlackberry OSChrome OSFirefox OSiOSMaemoTizenLinux | UbuntuWebOSWindows 8Windows MobileWindows Phone

Page 8: Cross platform development

Mobile PlatformsOperating system running on a smartphone, tablet, PDA, or other

digital mobile devices.

Page 9: Cross platform development

Mobile Platforms - BriefHistory

1999 - Symbian Launched2002 - Windows CE Smartphones 2002 - BlackBerry OS.2005 - Maemo OS2007 - Apple iOS2007/2008 - Android 1.0 2009 - Palm WebOS2009 - Samsung Bada OS 2010 - Windows Phone OS 2011 - MeeGo2012 - Tizen - Samsung,Intel,Linux Foundation 2012 - Firefox OS2013 - Ubuntu Touch2013 - BB10 OS2014 - ?

Page 10: Cross platform development

Next Slide to the Right

Foundation Laid

Page 11: Cross platform development

Types of Applications(Platform-Wise)Native | Non-Native

Page 12: Cross platform development

NativeApplications

What are they ?

Page 13: Cross platform development

Native ApplicationsApplications coded in a specific programming language

Page 14: Cross platform development

Programming LanguageLanguage designed for programming computers

Page 15: Cross platform development

Programming LanguageThousands of themExamples, anyone ?

Page 16: Cross platform development

Programming LanguageThousands of them

Examples : PHP, C++, Java, VisualBasic, C#, Python, Perl, Fortran,QBasic

Page 17: Cross platform development

Native ApplicationsA native app is an application written purely in platform-specific

programming language

Single-Platform-Based Development

Page 18: Cross platform development

Native App DevelopmentWarning: This is not exhaustivePlatform Languages Supported IDEsAndroid Java, C, C++ Android Studio, Eclipse,

NetBeansBlackberry Java Blackberry JDE, EclipseiOS Objective-C XCode, AppCodeSymbian C++ Qt, Carbide, BorlandWindows C#, Visual Basic, C,

C++Visual Studio

Page 19: Cross platform development

Non-Native

Page 20: Cross platform development

Non-Native!='Native Application'

i.e Not Platform Specific Programming

Page 21: Cross platform development

Non-Native AppBetter called "Cross Platform App"

Page 22: Cross platform development

Cross Platform Apps

One Code Base.Multiple Platforms

Well, mostly from one code base

Page 23: Cross platform development

Cross Platform AppsA cross platform app is an application written or compiled in a way

that allows it to run on multiple platforms.

With or Without Special Preparation

Page 24: Cross platform development

Cross Platform AppsLanguages include

C++C# (Mono)HTMLJavaQtRealbasicRubyOthers?

Page 25: Cross platform development

Phonegap (Cordova)* | Blackberry Webworks * | Ripple Emulator * |Titanium Appcelerator* | MoSync (C)| MoSync Reload (C+H)|

Rhomobile (H+R)| Xamarin (C#) | CodeNameOne (J)| Oracle ADFMobile(J+H) | DragonRad ($$$*$) | Platform SDKs | & much more

Cross Platform AppsTools & IDEs

* - HTML & Javascript based

Page 26: Cross platform development

Space for Examples

Page 27: Cross platform development

- Faster Deployment- Lower Dev & Maintenance Cost

- Easier Learning Curve- Easier Integration

Pros of CPD

Page 28: Cross platform development

- Non-Native Look- Limited Feature Support

- Slower Graphics API- Less Secure Storage

Cons of CPD

Page 29: Cross platform development

Quick ComparisonsCapability Metric WinnerRich User Experience Native WinsPerformance Native WinsCross Platform Development $ CPDFragmentation Similar ChallengesUpdate & Distribution Control CPDDevice Hardware NativeBleeding Edge Features NativeSecurity NativeLearning Curve CPD

Page 30: Cross platform development

IntroducingPlayer 3!{ Hybrid Apps }

Page 31: Cross platform development

This type of application has cross-platform compatibility but can stillaccess a phone's hardware.

Hybrid AppsThe best of both worlds

Page 32: Cross platform development

Hybrid AppsBuilt by combining a Cross Platform Language (e.g HTML5) and

the Platform-Specific Language (Android Java)

Page 33: Cross platform development

Hybrid AppsUse a regular IDE for HTML5 and Use the Platform SDK/IDE to

build the rest

Page 34: Cross platform development

More on the HTML5 PartsTools & Libraries

Page 35: Cross platform development

More on the HTML5 PartsMark Zuckerberg: Facebook & Fastbook

from on .Sencha Fastbook Sencha Vimeo

Page 36: Cross platform development

So let's build stuff.

Finally

Page 37: Cross platform development

Stellar LinksThe Sample Projects On GitHubNewsMix

Page 38: Cross platform development

THE END