Download - Dev Wars - iOS vs Android vs Titanium

Transcript
Page 1: Dev Wars - iOS vs Android vs Titanium

Mobile Dev Wars iOS vs Android vs Titanium

Michael Siddi @michaelsiddi

Federico Pinna @0xfede

Giuseppe Broccia @gbroccia

Page 2: Dev Wars - iOS vs Android vs Titanium

Agenda

• iOS vs Android - Pros & Cons

• Let’s create a simple app on both platforms

• How to: Async HTTP/JSON Requests

• What’s & Why Titanium?

Page 3: Dev Wars - iOS vs Android vs Titanium

iOS vs Android

Page 4: Dev Wars - iOS vs Android vs Titanium

iOSPROs CONs

Great documentation for APIs Objective-C learning curve

Almost no fragmentation All the Provisioning Profiles + Certificates stuff

AppStore Only Verified Apps

The only way to install third-party apps (no jailbreak)

AppStore Long Review Times

(starting from 1 week to infinity & beyond)Customers are more willing to spend money for an

app iOS Developer Program costs 99$/year

XCode It’s a complete suite for building your apps.. It has debugging tools + test & profiling instruments, etc.

XCode Looks like iTunes and it crashes very often since

version 4.0. Project configuration is not that simple.Beautiful UI and great UX

No need of physical back buttons 😜 Create a Framework (SDK) for iOS is a pain in the ass!

Great Debugging Tools LLDB (Apple’s replacement for GDB)

No colors for the Console logs without third-party addons to XCode

Page 5: Dev Wars - iOS vs Android vs Titanium

AndroidPROs CONs

Java & XML Complex code if you don’t design it nicely

Play Store One time registration fee of 25$

New Apps Instant ApprovalPlay Store

Many Low-Quality Apps

With many alternative stores your audience can be HUGE! + 200%!!! but you have to handle all of them!

You can develop under the hood with native code … and you need to take care of all different HWs.

Localization is quite simple IDE ?

Entry Level Devices are cheap and fully equipped with sensors.

Entry Level Devices Fragmentation & Low Performance

No support for Android future versions by OEMs

Page 6: Dev Wars - iOS vs Android vs Titanium

iOS vs Android - Fragmentation

iOS 7 is installed on the 90% of

active iOS devices The last version of Android (KitKat) is installed

on the 18% of active Android Devices

Jelly Bean

KitKat

Froyo

Gingerbread

ICS

Page 7: Dev Wars - iOS vs Android vs Titanium

iOS vs Android - Market Share

Q1-2014: Android WINS with the 81% of Market Share!iOS has the 15%

Page 8: Dev Wars - iOS vs Android vs Titanium

Let’s code!!!

Page 9: Dev Wars - iOS vs Android vs Titanium

PROs CONsYou don’t need to be a pro! If you’re not a pro you will make a mess! 😁

It’s Javascript, babe! It’s Javascript, damn!

Consistent & well designed APIs The documentation is so so…

Generates native code Optimization can be very hard

Great for prototypes and betas Not so great for complex and big projects

The best of both worlds: TitaniumWORST

Page 10: Dev Wars - iOS vs Android vs Titanium

Let’s code!!!

Page 11: Dev Wars - iOS vs Android vs Titanium

One more thing…

Page 12: Dev Wars - iOS vs Android vs Titanium

SwiftAt the WWDC this year, Apple decided to reboot all the iOS developers’ working life !

announcing a new programming language: Swift!

They called it the “Objective-C without C”… The Square Brackets notation is gone 😢class MyClass {

var aVariable: Int = 0

func myMethod() -> String {

return “The number is \(aVariable)."

}

}

@interface MyClass:NSObject

@property (nonatomic, assign) NSInteger aVariable;

- (NSString *) myMethod;

@end

@implementation MyClass

- (NSString *) myMethod{

return [NSString stringWithFormat:@“The number is %d.”, aVariable];

}

@end

Swift

Objective-C

Page 13: Dev Wars - iOS vs Android vs Titanium

SwiftThe two languages will coexist until Apple will decide to drop the support for

Objective-C

If you want to approach iOS development !this is the right time! !

😀

Page 14: Dev Wars - iOS vs Android vs Titanium

Thank you!