Upload
vivochalabs
View
202
Download
0
Tags:
Embed Size (px)
DESCRIPTION
A free and informal technical introduction to multiplatform mobile development, on scientific explanation on why "my platform" is better than "your platform" and how to reuse as much code as possible when targeting multiple systems at once. - Multiplatform Mobile Development: making the most of it - Code reuse across different mobile systems - Dealing with fangirls & fanboys
Citation preview
Mobile Dev Wars iOS vs Android vs Titanium
Michael Siddi @michaelsiddi
Federico Pinna @0xfede
Giuseppe Broccia @gbroccia
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?
iOS vs Android
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
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
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
iOS vs Android - Market Share
Q1-2014: Android WINS with the 81% of Market Share!iOS has the 15%
Let’s code!!!
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
Let’s code!!!
One more thing…
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
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! !
😀
Thank you!