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

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

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