How Mobile SDKs Help You
Transcript of How Mobile SDKs Help You
![Page 1: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/1.jpg)
www.bignerdranch.com
How Mobile SDKs Help [email protected]
www.bignerdranch.com
Wednesday, June 19, 13
![Page 2: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/2.jpg)
www.bignerdranch.com
Hi, I’m BolotBorn in the USSR, Kyrgyzstan
Studied in the USat Georgia Tech
@bolot
Tango and taido
Wednesday, June 19, 13
![Page 3: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/3.jpg)
www.bignerdranch.com
Big Nerd Ranch★ BNR Atlanta: Galactic Headquarters★ BNR Europe★ BNR Training in Silicon Valley
Wednesday, June 19, 13
![Page 4: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/4.jpg)
www.bignerdranch.com
What does SDK do for you?
Wednesday, June 19, 13
![Page 5: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/5.jpg)
www.bignerdranch.com
Source: ifixit.com
Wednesday, June 19, 13
![Page 6: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/6.jpg)
www.bignerdranch.com
ComplexityCPU, GPU
power management
gyroscopes
accelerometers
storage
radios, GPS, cameras
microphones
display, touchscreen, etc...Source: ifixit.com
Wednesday, June 19, 13
![Page 7: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/7.jpg)
www.bignerdranch.com
ComplexityNetwork protocols
Audio/video codecs
Graphics
Device drivers
Process management
Memory management
Security
Power management, etc...
Source: http://developer.android.com/
Wednesday, June 19, 13
![Page 8: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/8.jpg)
www.bignerdranch.com
ComplexityAPIs
App lifecycle management
User interface
User experience
Services
Distribution
Wednesday, June 19, 13
![Page 9: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/9.jpg)
www.bignerdranch.com
Mobile: 1993 vs 2013
http://dashburst.com/humor/technology-in-1993-vs-2013/
Wednesday, June 19, 13
![Page 10: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/10.jpg)
www.bignerdranch.com
ToolsIDE
Editor
Compiler
UI Designer
Test runner
Programming language
Wednesday, June 19, 13
![Page 11: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/11.jpg)
www.bignerdranch.com
ToolsDiagnostics
Debugging
Profiling
Network
Energy
CPU
Wednesday, June 19, 13
![Page 12: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/12.jpg)
www.bignerdranch.com
Frameworks, librariesClass libraries
Location, Maps (Google, Apple, Bing)
Graphics, Open GL ES
Accelerometers
Data, SQLite
Wednesday, June 19, 13
![Page 13: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/13.jpg)
www.bignerdranch.com
Developer resourcesSoftware design patterns
Best practices
Reusable components
Application templates and sample projects
Documentation, education
Human interface guidelines
Wednesday, June 19, 13
![Page 14: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/14.jpg)
www.bignerdranch.com
Design
Source: http://apple.com/
Wednesday, June 19, 13
![Page 15: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/15.jpg)
www.bignerdranch.com
Design
Source: http://developer.android.com/
Wednesday, June 19, 13
![Page 16: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/16.jpg)
www.bignerdranch.com
Example: LocationCell identification
Cell triangulation
SIM, raw GSM
Wifi
GPS
Wednesday, June 19, 13
![Page 17: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/17.jpg)
www.bignerdranch.com
Example: LocationiOS
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { _locationManager = [[CLLocationManager alloc] init]; [_locationManager setDelegate:self]; [_locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [_locationManager startUpdatingLocation]; } return self;}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ CLLocation *newLocation = [locations lastObject]; NSLog(@"%@", newLocation);}
Wednesday, June 19, 13
![Page 18: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/18.jpg)
www.bignerdranch.com
Example: LocationAndroid
public void startLocationUpdates() { LocationManager lm = (LocationManager)mAppContext.getSystemService(Context.LOCATION_SERVICE); PendingIntent pi = getLocationPendingIntent(true); lm.requestLocationUpdates(0, 0, new Criteria(), pi); }
public void onReceive(Context context, Intent intent) { Location loc = (Location)intent.getParcelableExtra(LocationManager.KEY_LOCATION_CHANGED); onLocationReceived(loc); } protected void onLocationReceived(Location loc) { Log.d(TAG, this + " Got location: " + loc.getLatitude() + ", " + loc.getLongitude()); }
Wednesday, June 19, 13
![Page 19: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/19.jpg)
www.bignerdranch.com
Example: LocationWindows
{_geoLocator = new Geolocator();_geoLocator.PositionChanged += new Windows.Foundation.TypedEventHandler<Geolocator, PositionChangedEventArgs>(geolocator_PositionChanged);}
private void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args){ // Need to set map view on UI thread. this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler( () => { DisplayPosition(this, args); }));}
private void DisplayPosition(object sender, PositionChangedEventArgs args){ Location location = new Location(args.Position.Coordinate.Latitude, args.Position.Coordinate.Longitude);}
Wednesday, June 19, 13
![Page 20: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/20.jpg)
www.bignerdranch.com
Distribution: Stores
Wednesday, June 19, 13
![Page 21: How Mobile SDKs Help You](https://reader034.fdocuments.net/reader034/viewer/2022051412/627dcdae91f17e06a11ae59d/html5/thumbnails/21.jpg)
www.bignerdranch.com
How Mobile SDKs Help You
Bolot Kerimbaev [email protected]
19 June 2013
Wednesday, June 19, 13