SlideShare a Scribd company logo
1 of 25
Download to read offline
Hızlı Cocoa Geliştirme
        @sarperdag
GitHub
https://github.com/languages/Objective-C
AFNetworking
    https://github.com/AFNetworking/AFNetworking

NSURL	
  *url	
  =	
  [NSURL	
  URLWithString:@"https://alpha-­‐api.app.net/stream/0/posts/stream/global"];
NSURLRequest	
  *request	
  =	
  [NSURLRequest	
  requestWithURL:url];
AFJSONRequestOperation	
  *operation	
  =	
  [AFJSONRequestOperation	
  
JSONRequestOperationWithRequest:request	
  success:^(NSURLRequest	
  *request,	
  NSHTTPURLResponse	
  
*response,	
  id	
  JSON)	
  {
	
  	
  	
  	
  NSLog(@"App.net	
  Global	
  Stream:	
  %@",	
  JSON);
}	
  failure:nil];
[operation	
  start];
FSNetworking
                 https://github.com/foursquare/FSNetworking
NSURL	
  *url	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  ...;	
  //	
  required
NSDictionary	
  *headers	
  	
  	
  	
  	
  =	
  ...;	
  //	
  optional
NSDictionary	
  *parameters	
  	
  =	
  ...;	
  //	
  optional

FSNConnection	
  *connection	
  =
[FSNConnection	
  withUrl:url
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  method:FSNRequestMethodGET
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  headers:headers
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  parameters:parameters
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  parseBlock:^id(FSNConnection	
  *c,	
  NSError	
  **error)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  [c.responseData	
  dictionaryFromJSONWithError:error];
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  	
  completionBlock:^(FSNConnection	
  *c)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  NSLog(@"complete:	
  %@n	
  	
  error:	
  %@n	
  	
  parseResult:	
  %@n",	
  c,	
  c.error,	
  
c.parseResult);
	
  	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  	
  	
  	
  progressBlock:^(FSNConnection	
  *c)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  NSLog(@"progress:	
  %@:	
  %.2f/%.2f",	
  c,	
  c.uploadProgress,	
  
c.downloadProgress);
	
  	
  	
  	
  	
  	
  	
  	
  	
  }];

[connection	
  start];
RestKIT
                              https://github.com/RestKit/RestKit

@interface	
  Tweet	
  :	
  NSObject
@property	
  (nonatomic,	
  copy)	
  NSNumber	
  *userID;
@property	
  (nonatomic,	
  copy)	
  NSString	
  *username;
@property	
  (nonatomic,	
  copy)	
  NSString	
  *text;
@end

RKObjectMapping	
  *mapping	
  =	
  [RKObjectMapping	
  mappingForClass:[RKTweet	
  class]];
[mapping	
  addAttributeMappingsFromDictionary:@{
	
  	
  	
  	
  @"user.name":	
  	
  	
  @"username",
	
  	
  	
  	
  @"user.id":	
  	
  	
  	
  	
  @"userID",
	
  	
  	
  	
  @"text":	
  	
  	
  	
  	
  	
  	
  	
  @"text"
}];

RKResponseDescriptor	
  *responseDescriptor	
  =	
  [RKResponseDescriptor	
  responseDescriptorWithMapping:mapping	
  pathPattern:nil	
  
keyPath:nil	
  statusCodes:nil];
NSURL	
  *url	
  =	
  [NSURL	
  URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"];
NSURLRequest	
  *request	
  =	
  [NSURLRequest	
  requestWithURL:url];
RKObjectRequestOperation	
  *operation	
  =	
  [[RKObjectRequestOperation	
  alloc]	
  initWithRequest:request	
  
responseDescriptors:@[responseDescriptor]];	
  
[operation	
  setCompletionBlockWithSuccess:^(RKObjectRequestOperation	
  *operation,	
  RKMappingResult	
  *result)	
  {
	
  	
  	
  	
  NSLog(@"The	
  public	
  timeline	
  Tweets:	
  %@",	
  [result	
  array]);
}	
  failure:nil];
[operation	
  start];
MBProgressHUD
https://github.com/jdg/MBProgressHUD
               MBProgressHUD	
  *hud	
  =	
  [MBProgressHUD	
  
               showHUDAddedTo:self.view	
  animated:YES];
               hud.mode	
  =	
  MBProgressHUDModeAnnularDeterminate;
               hud.labelText	
  =	
  @"Loading";
               [self	
  
               doSomethingInBackgroundWithProgressCallback:^(float	
  
               progress)	
  {
               	
  	
  	
  	
  hud.progress	
  =	
  progress;
               }	
  completionCallback:^{
               	
  	
  	
  	
  [MBProgressHUD	
  hideHUDForView:self.view	
  
               animated:YES];
               }];
SVPullToRefresh
 https://github.com/samvermette/SVPullToRefresh
[tableView	
  addPullToRefreshWithActionHandler:^{
	
  	
  	
  	
  //	
  prepend	
  data	
  to	
  dataSource,	
  insert	
  cells	
  at	
  top	
  of	
  table	
  view
	
  	
  	
  	
  //	
  call	
  [tableView.pullToRefreshView	
  stopAnimating]	
  when	
  done
}];
ColorSense
  https://github.com/omz/ColorSense-for-Xcode

      Plugin for Xcode to make working with
                 colors more visual

http://www.youtube.com/watch?v=eblRfDQM0Go
NUI
https://github.com/tombenner/nui
NUI
@primaryFontName:	
  HelveticaNeue;
@secondaryFontName:	
  HelveticaNeue-­‐Light;
@primaryFontColor:	
  #333333;
@primaryBackgroundColor:	
  #E6E6E6;

Button	
  {
	
  	
  	
  	
  background-­‐color:	
  @primaryBackgroundColor;
	
  	
  	
  	
  border-­‐color:	
  #A2A2A2;
	
  	
  	
  	
  border-­‐width:	
  @primaryBorderWidth;
	
  	
  	
  	
  font-­‐color:	
  @primaryFontColor;
	
  	
  	
  	
  font-­‐color-­‐highlighted:	
  #999999;
	
  	
  	
  	
  font-­‐name:	
  @primaryFontName;
	
  	
  	
  	
  font-­‐size:	
  18;
	
  	
  	
  	
  corner-­‐radius:	
  7;
}
NavigationBar	
  {
	
  	
  	
  	
  background-­‐tint-­‐color:	
  @primaryBackgroundColor;
	
  	
  	
  	
  font-­‐name:	
  @secondaryFontName;
	
  	
  	
  	
  font-­‐size:	
  20;
	
  	
  	
  	
  font-­‐color:	
  @primaryFontColor;
PSTCollectionView
   https://github.com/steipete/PSTCollectionView
Open Source, 100% API compatible replacement of UICollectionView for iOS4.3+



UICollectionViewFlowLayout	
  *flowLayout	
  =	
  
[UICollectionViewFlowLayout	
  new];
PSTCollectionView	
  *collectionView	
  =	
  
[PSTCollectionView	
  alloc]	
  
initWithFrame:self.view.bounds	
  
collectionViewLayout:
(PSTCollectionViewFlowLayout	
  *)flowLayout];
QuickDialog
https://github.com/escoz/QuickDialog
BlockAlerts
https://github.com/gpambrozio/BlockAlertsAnd-
                  ActionSheets
                   BlockAlertView	
  *alert	
  =	
  [BlockAlertView	
  alertWithTitle:@"Alert	
  Title"
                   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  message:@"This	
  is	
  a	
  very	
  long	
  
                   message,	
  designed	
  just	
  to	
  show	
  you	
  how	
  smart	
  this	
  class	
  is"];

                   [alert	
  addButtonWithTitle:@"Do	
  something	
  cool"	
  block:^{
                   	
  	
  	
  	
  //	
  Do	
  something	
  cool	
  when	
  this	
  button	
  is	
  pressed
                   }];

                   [alert	
  setCancelButtonWithTitle:@"Please,	
  don't	
  do	
  this"	
  block:^{
                   	
  	
  	
  	
  //	
  Do	
  something	
  or	
  nothing....	
  This	
  block	
  can	
  even	
  be	
  nil!
                   }];

                   [alert	
  setDestructiveButtonWithTitle:@"Kill,	
  Kill"	
  block:^{
                   	
  	
  	
  	
  //	
  Do	
  something	
  nasty	
  when	
  this	
  button	
  is	
  pressed
                   }];
SEHumanizedTimeDiff
  https://github.com/sarperdag/SEHumanizedTimeDiff
//1	
  minute
myLabel.text	
  =	
  [[NSDate	
  dateWithTimeIntervalSinceNow:-­‐360]
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  stringWithHumanizedTimeDifference:NSDateHumanizedSuffixNone
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  withFullString:NO];
//This	
  will	
  return	
  @"1m"

//2	
  days
myLabel.text	
  =	
  [[NSDate	
  dateWithTimeIntervalSinceNow:-­‐3600*24*2]
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  stringWithHumanizedTimeDifference:NSDateHumanizedSuffixAgo
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  withFullString:YES];
//This	
  will	
  return	
  @"2	
  days	
  ago"
HPSocialNetworkManager
https://github.com/Hipo/HPSocialNetworkManager


  iOS framework for handling authentication to
  Facebook and Twitter with reverse-auth support.
STTweetLabel
           https://github.com/
   SebastienThiebaud/STTweetLabel/
  STTweetLabel	
  *tweetLabel	
  =	
  [[STTweetLabel	
  alloc]	
  initWithFrame:CGRectMake(20.0,	
  
  60.0,	
  280.0,	
  200.0)];

  	
  	
  	
  	
  [tweetLabel	
  setFont:[UIFont	
  fontWithName:@"HelveticaNeue"	
  size:17.0]];
  	
  	
  	
  	
  [tweetLabel	
  setTextColor:[UIColor	
  blackColor]];
  	
  	
  	
  	
  [tweetLabel	
  setDelegate:self];
  	
  	
  	
  	
  [tweetLabel	
  setText:@"Hi.	
  This	
  is	
  a	
  new	
  tool	
  for	
  @you!	
  Developed	
  by-­‐
  >@SebThiebaud	
  for	
  #iPhone	
  #ObjC...	
  ;-­‐)	
  My	
  GitHub	
  page:	
  https://t.co/pQXDoiYA"];
  	
  	
  	
  	
  [self.view	
  addSubview:tweetLabel];
DTCoreText
https://github.com/Cocoanetics/DTCoreText
iRate
https://github.com/nicklockwood/iRate
  iRate is a library to help you promote your iPhone and
  Mac App Store apps by prompting users to rate the
  app after using it for a few days. This approach is one
  of the best ways to get positive app reviews by
  targeting only regular users (who presumably like the
  app or they wouldn't keep using it!).
iOSImageFilters
https://github.com/esilverberg/ios-image-filters
                                  #import	
  "ImageFilter.h"
                                  UIImage	
  *image	
  =	
  [UIImage	
  
                                  imageNamed:@"landscape.jpg"];
                                  self.imageView.image	
  =	
  [image	
  sharpen];
                                  //	
  Or
                                  self.imageView.image	
  =	
  [image	
  saturate:
                                  1.5];
                                  //	
  Or
                                  self.imageView.image	
  =	
  [image	
  lomo];
CorePlot
http://code.google.com/p/core-plot/
TestFlight
https://testflightapp.com/
CocoaControls
http://www.cocoacontrols.com
BinPress
Good artists copy; great artists steal
                                     Steve Jobs

More Related Content

What's hot

Javascript call ObjC
Javascript call ObjCJavascript call ObjC
Javascript call ObjCLin Luxiang
 
Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#Rainer Stropek
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gearsdion
 
Developing iOS REST Applications
Developing iOS REST ApplicationsDeveloping iOS REST Applications
Developing iOS REST Applicationslmrei
 
The Many Ways to Build Modular JavaScript
The Many Ways to Build Modular JavaScriptThe Many Ways to Build Modular JavaScript
The Many Ways to Build Modular JavaScriptTim Perry
 
Aplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & JetpackAplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & JetpackNelson Glauber Leal
 
Droidcon ES '16 - How to fail going offline
Droidcon ES '16 - How to fail going offlineDroidcon ES '16 - How to fail going offline
Droidcon ES '16 - How to fail going offlineJavier de Pedro López
 
V2 and beyond
V2 and beyondV2 and beyond
V2 and beyondjimi-c
 
Arquillian Constellation
Arquillian ConstellationArquillian Constellation
Arquillian ConstellationAlex Soto
 
Aplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & JetpackAplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & JetpackNelson Glauber Leal
 
Python Code Camp for Professionals 2/4
Python Code Camp for Professionals 2/4Python Code Camp for Professionals 2/4
Python Code Camp for Professionals 2/4DEVCON
 
10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming languageYaroslav Tkachenko
 
Google Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and BeyondGoogle Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and Beyonddion
 
Django Celery - A distributed task queue
Django Celery - A distributed task queueDjango Celery - A distributed task queue
Django Celery - A distributed task queueAlex Eftimie
 
Flask Introduction - Python Meetup
Flask Introduction - Python MeetupFlask Introduction - Python Meetup
Flask Introduction - Python MeetupAreski Belaid
 
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIPython Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIBruno Rocha
 
Something about Golang
Something about GolangSomething about Golang
Something about GolangAnton Arhipov
 
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代Shengyou Fan
 

What's hot (20)

Javascript call ObjC
Javascript call ObjCJavascript call ObjC
Javascript call ObjC
 
Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gears
 
Developing iOS REST Applications
Developing iOS REST ApplicationsDeveloping iOS REST Applications
Developing iOS REST Applications
 
The Many Ways to Build Modular JavaScript
The Many Ways to Build Modular JavaScriptThe Many Ways to Build Modular JavaScript
The Many Ways to Build Modular JavaScript
 
Aplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & JetpackAplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & Jetpack
 
Droidcon ES '16 - How to fail going offline
Droidcon ES '16 - How to fail going offlineDroidcon ES '16 - How to fail going offline
Droidcon ES '16 - How to fail going offline
 
V2 and beyond
V2 and beyondV2 and beyond
V2 and beyond
 
Arquillian Constellation
Arquillian ConstellationArquillian Constellation
Arquillian Constellation
 
Aplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & JetpackAplicações assíncronas no Android com
Coroutines & Jetpack
Aplicações assíncronas no Android com
Coroutines & Jetpack
 
Python Code Camp for Professionals 2/4
Python Code Camp for Professionals 2/4Python Code Camp for Professionals 2/4
Python Code Camp for Professionals 2/4
 
10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language
 
Google Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and BeyondGoogle Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and Beyond
 
Django Celery - A distributed task queue
Django Celery - A distributed task queueDjango Celery - A distributed task queue
Django Celery - A distributed task queue
 
Flask Introduction - Python Meetup
Flask Introduction - Python MeetupFlask Introduction - Python Meetup
Flask Introduction - Python Meetup
 
Async Frontiers
Async FrontiersAsync Frontiers
Async Frontiers
 
Zenly - Reverse geocoding
Zenly - Reverse geocodingZenly - Reverse geocoding
Zenly - Reverse geocoding
 
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIPython Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CI
 
Something about Golang
Something about GolangSomething about Golang
Something about Golang
 
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
 

Similar to Hızlı Cocoa Geliştirme (Develop your next cocoa app faster!)

Webエンジニアから見たiOS5
Webエンジニアから見たiOS5Webエンジニアから見たiOS5
Webエンジニアから見たiOS5Satoshi Asano
 
Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2Filippo Matteo Riggio
 
303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Codejonmarimba
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentationipolevoy
 
Cocoa Heads Tricity - Design Patterns
Cocoa Heads Tricity - Design PatternsCocoa Heads Tricity - Design Patterns
Cocoa Heads Tricity - Design PatternsMaciej Burda
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
 
iOS 2 - The practical Stuff
iOS 2 - The practical StuffiOS 2 - The practical Stuff
iOS 2 - The practical StuffPetr Dvorak
 
JavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the PlatformJavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the PlatformRobert Nyman
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best PracticesYekmer Simsek
 
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014Fábio Pimentel
 
REST/JSON/CoreData Example Code - A Tour
REST/JSON/CoreData Example Code - A TourREST/JSON/CoreData Example Code - A Tour
REST/JSON/CoreData Example Code - A TourCarl Brown
 
I Phone On Rails
I Phone On RailsI Phone On Rails
I Phone On RailsJohn Wilker
 
Meetup uikit programming
Meetup uikit programmingMeetup uikit programming
Meetup uikit programmingjoaopmaia
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]Nilhcem
 
Beginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCABeginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCAWhymca
 
I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)Katsumi Kishikawa
 

Similar to Hızlı Cocoa Geliştirme (Develop your next cocoa app faster!) (20)

UIWebView Tips
UIWebView TipsUIWebView Tips
UIWebView Tips
 
Webエンジニアから見たiOS5
Webエンジニアから見たiOS5Webエンジニアから見たiOS5
Webエンジニアから見たiOS5
 
Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2
 
303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code
 
Pioc
PiocPioc
Pioc
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
 
Cocoa Heads Tricity - Design Patterns
Cocoa Heads Tricity - Design PatternsCocoa Heads Tricity - Design Patterns
Cocoa Heads Tricity - Design Patterns
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
iOS 2 - The practical Stuff
iOS 2 - The practical StuffiOS 2 - The practical Stuff
iOS 2 - The practical Stuff
 
JavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the PlatformJavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the Platform
 
Three20
Three20Three20
Three20
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best Practices
 
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
 
Play!ng with scala
Play!ng with scalaPlay!ng with scala
Play!ng with scala
 
REST/JSON/CoreData Example Code - A Tour
REST/JSON/CoreData Example Code - A TourREST/JSON/CoreData Example Code - A Tour
REST/JSON/CoreData Example Code - A Tour
 
I Phone On Rails
I Phone On RailsI Phone On Rails
I Phone On Rails
 
Meetup uikit programming
Meetup uikit programmingMeetup uikit programming
Meetup uikit programming
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]
 
Beginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCABeginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCA
 
I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)
 

Recently uploaded

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Recently uploaded (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

Hızlı Cocoa Geliştirme (Develop your next cocoa app faster!)

  • 3. AFNetworking https://github.com/AFNetworking/AFNetworking NSURL  *url  =  [NSURL  URLWithString:@"https://alpha-­‐api.app.net/stream/0/posts/stream/global"]; NSURLRequest  *request  =  [NSURLRequest  requestWithURL:url]; AFJSONRequestOperation  *operation  =  [AFJSONRequestOperation   JSONRequestOperationWithRequest:request  success:^(NSURLRequest  *request,  NSHTTPURLResponse   *response,  id  JSON)  {        NSLog(@"App.net  Global  Stream:  %@",  JSON); }  failure:nil]; [operation  start];
  • 4. FSNetworking https://github.com/foursquare/FSNetworking NSURL  *url                                =  ...;  //  required NSDictionary  *headers          =  ...;  //  optional NSDictionary  *parameters    =  ...;  //  optional FSNConnection  *connection  = [FSNConnection  withUrl:url                                method:FSNRequestMethodGET                              headers:headers                        parameters:parameters                        parseBlock:^id(FSNConnection  *c,  NSError  **error)  {                                return  [c.responseData  dictionaryFromJSONWithError:error];                        }              completionBlock:^(FSNConnection  *c)  {                      NSLog(@"complete:  %@n    error:  %@n    parseResult:  %@n",  c,  c.error,   c.parseResult);              }                  progressBlock:^(FSNConnection  *c)  {                          NSLog(@"progress:  %@:  %.2f/%.2f",  c,  c.uploadProgress,   c.downloadProgress);                  }]; [connection  start];
  • 5. RestKIT https://github.com/RestKit/RestKit @interface  Tweet  :  NSObject @property  (nonatomic,  copy)  NSNumber  *userID; @property  (nonatomic,  copy)  NSString  *username; @property  (nonatomic,  copy)  NSString  *text; @end RKObjectMapping  *mapping  =  [RKObjectMapping  mappingForClass:[RKTweet  class]]; [mapping  addAttributeMappingsFromDictionary:@{        @"user.name":      @"username",        @"user.id":          @"userID",        @"text":                @"text" }]; RKResponseDescriptor  *responseDescriptor  =  [RKResponseDescriptor  responseDescriptorWithMapping:mapping  pathPattern:nil   keyPath:nil  statusCodes:nil]; NSURL  *url  =  [NSURL  URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"]; NSURLRequest  *request  =  [NSURLRequest  requestWithURL:url]; RKObjectRequestOperation  *operation  =  [[RKObjectRequestOperation  alloc]  initWithRequest:request   responseDescriptors:@[responseDescriptor]];   [operation  setCompletionBlockWithSuccess:^(RKObjectRequestOperation  *operation,  RKMappingResult  *result)  {        NSLog(@"The  public  timeline  Tweets:  %@",  [result  array]); }  failure:nil]; [operation  start];
  • 6. MBProgressHUD https://github.com/jdg/MBProgressHUD MBProgressHUD  *hud  =  [MBProgressHUD   showHUDAddedTo:self.view  animated:YES]; hud.mode  =  MBProgressHUDModeAnnularDeterminate; hud.labelText  =  @"Loading"; [self   doSomethingInBackgroundWithProgressCallback:^(float   progress)  {        hud.progress  =  progress; }  completionCallback:^{        [MBProgressHUD  hideHUDForView:self.view   animated:YES]; }];
  • 7. SVPullToRefresh https://github.com/samvermette/SVPullToRefresh [tableView  addPullToRefreshWithActionHandler:^{        //  prepend  data  to  dataSource,  insert  cells  at  top  of  table  view        //  call  [tableView.pullToRefreshView  stopAnimating]  when  done }];
  • 8. ColorSense https://github.com/omz/ColorSense-for-Xcode Plugin for Xcode to make working with colors more visual http://www.youtube.com/watch?v=eblRfDQM0Go
  • 10. NUI @primaryFontName:  HelveticaNeue; @secondaryFontName:  HelveticaNeue-­‐Light; @primaryFontColor:  #333333; @primaryBackgroundColor:  #E6E6E6; Button  {        background-­‐color:  @primaryBackgroundColor;        border-­‐color:  #A2A2A2;        border-­‐width:  @primaryBorderWidth;        font-­‐color:  @primaryFontColor;        font-­‐color-­‐highlighted:  #999999;        font-­‐name:  @primaryFontName;        font-­‐size:  18;        corner-­‐radius:  7; } NavigationBar  {        background-­‐tint-­‐color:  @primaryBackgroundColor;        font-­‐name:  @secondaryFontName;        font-­‐size:  20;        font-­‐color:  @primaryFontColor;
  • 11. PSTCollectionView https://github.com/steipete/PSTCollectionView Open Source, 100% API compatible replacement of UICollectionView for iOS4.3+ UICollectionViewFlowLayout  *flowLayout  =   [UICollectionViewFlowLayout  new]; PSTCollectionView  *collectionView  =   [PSTCollectionView  alloc]   initWithFrame:self.view.bounds   collectionViewLayout: (PSTCollectionViewFlowLayout  *)flowLayout];
  • 13. BlockAlerts https://github.com/gpambrozio/BlockAlertsAnd- ActionSheets BlockAlertView  *alert  =  [BlockAlertView  alertWithTitle:@"Alert  Title"                                                                                              message:@"This  is  a  very  long   message,  designed  just  to  show  you  how  smart  this  class  is"]; [alert  addButtonWithTitle:@"Do  something  cool"  block:^{        //  Do  something  cool  when  this  button  is  pressed }]; [alert  setCancelButtonWithTitle:@"Please,  don't  do  this"  block:^{        //  Do  something  or  nothing....  This  block  can  even  be  nil! }]; [alert  setDestructiveButtonWithTitle:@"Kill,  Kill"  block:^{        //  Do  something  nasty  when  this  button  is  pressed }];
  • 14. SEHumanizedTimeDiff https://github.com/sarperdag/SEHumanizedTimeDiff //1  minute myLabel.text  =  [[NSDate  dateWithTimeIntervalSinceNow:-­‐360]                                stringWithHumanizedTimeDifference:NSDateHumanizedSuffixNone                                withFullString:NO]; //This  will  return  @"1m" //2  days myLabel.text  =  [[NSDate  dateWithTimeIntervalSinceNow:-­‐3600*24*2]                                stringWithHumanizedTimeDifference:NSDateHumanizedSuffixAgo                                withFullString:YES]; //This  will  return  @"2  days  ago"
  • 15. HPSocialNetworkManager https://github.com/Hipo/HPSocialNetworkManager iOS framework for handling authentication to Facebook and Twitter with reverse-auth support.
  • 16. STTweetLabel https://github.com/ SebastienThiebaud/STTweetLabel/ STTweetLabel  *tweetLabel  =  [[STTweetLabel  alloc]  initWithFrame:CGRectMake(20.0,   60.0,  280.0,  200.0)];        [tweetLabel  setFont:[UIFont  fontWithName:@"HelveticaNeue"  size:17.0]];        [tweetLabel  setTextColor:[UIColor  blackColor]];        [tweetLabel  setDelegate:self];        [tweetLabel  setText:@"Hi.  This  is  a  new  tool  for  @you!  Developed  by-­‐ >@SebThiebaud  for  #iPhone  #ObjC...  ;-­‐)  My  GitHub  page:  https://t.co/pQXDoiYA"];        [self.view  addSubview:tweetLabel];
  • 18. iRate https://github.com/nicklockwood/iRate iRate is a library to help you promote your iPhone and Mac App Store apps by prompting users to rate the app after using it for a few days. This approach is one of the best ways to get positive app reviews by targeting only regular users (who presumably like the app or they wouldn't keep using it!).
  • 19. iOSImageFilters https://github.com/esilverberg/ios-image-filters #import  "ImageFilter.h" UIImage  *image  =  [UIImage   imageNamed:@"landscape.jpg"]; self.imageView.image  =  [image  sharpen]; //  Or self.imageView.image  =  [image  saturate: 1.5]; //  Or self.imageView.image  =  [image  lomo];
  • 21.
  • 25. Good artists copy; great artists steal Steve Jobs