{"id":63,"date":"2015-02-18T11:14:00","date_gmt":"2015-02-18T11:14:00","guid":{"rendered":"http:\/\/52.11.58.189\/blog\/?p=63"},"modified":"2022-07-01T18:12:45","modified_gmt":"2022-07-01T18:12:45","slug":"cakers-review-afnetworking","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/","title":{"rendered":"Cakers&#8217; Review: AFNetworking"},"content":{"rendered":"<blockquote><p>&#8220;Choose AFNetworking for your next project, or migrate over your existing projects\u2014you&#8217;ll be happy you did!&#8221;<\/p><\/blockquote>\n<p>One of the most discussed points in software companies, between their managers and coworkers is about the question &#8220;rewrite the program or not rewrite it?&#8221;.<\/p>\n<p><!--more--><\/p>\n<p>Many would argue that starting over is shooting yourself in the foot, because, after all, it would be a declaration that you screwed up and you couldn&#8217;t bear the errors from the past rather than understanding where you made mistakes. It would be like giving up, a moral weakness and a strategic bankruptcy. Worse: it&#8217;s going to be the same software with more and different bugs!<br \/>\nIn Cheesecake Labs we deal a lot with HTTP requests, one of the most complex and unreliable parts of mobile development, and it&#8217;s really time-consuming to test every refactoring and commit in each new project. Every now and then, rewriting can&#8217;t be avoided at all.<\/p>\n<p>However, would we go through lots of re-coding, if we had something that was widely used and worked wonderfully? What if there were an external library that made fairly complex networking operations possible, being extremely lightweight and easy to use? That is AFNetworking, which covers a great deal of our job. It&#8217;s robust, with a good acceptance of the community and it&#8217;s an open-source project, which means that everyone can (and does actively) collaborate to create a better framework. HTTP requests can be easily set up with this library, saving a great deal of time and energy, without losing efficiency in the process. It&#8217;s safe to say that strange bugs won&#8217;t be appearing if you make use of AFNetworking, as there are many people involved in the library&#8217;s updates.<\/p>\n<figure id=\"attachment_64\" aria-describedby=\"caption-attachment-64\" style=\"width: 341px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\" wp-image-64\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-12-at-14.28.43.png\" alt=\"Screen Shot 2015-02-12 at 14.28.43\" width=\"341\" height=\"207\"><figcaption id=\"caption-attachment-64\" class=\"wp-caption-text\">Yes, it&#8217;s just like that!<\/figcaption><\/figure>\n<p>We are currently working with AFNetworking in two projects. Although we use it for extremely similar functions, we&#8217;ve built slightly different structures: in the first project, we use the library\u2019s code directly, explicitly importing parts (functions) and using them throughout our codebase; in the second one, we create an intermediate layer that provides a more organized and abstract usage of the core AFNetworking functions.<\/p>\n<p>It&#8217;s really a miracle: 15,000 lines turning into half a dozen. It won&#8217;t look messy, ugly or with a ton of errors &#8212; that you&#8217;d probably do if you were (re)writing from zero. When you see something like AFNetworking, it is a turning point on networking programming. So, if you are experiencing troubles in that area and yet you never used this library, you are probably wasting your time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Choose AFNetworking for your next project, or migrate over your existing projects\u2014you&#8217;ll be happy you did!&#8221; One of the most discussed points in software companies, between their managers and coworkers is about the question &#8220;rewrite the program or not rewrite it?&#8221;.<\/p>\n","protected":false},"author":65,"featured_media":2990,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[432,7],"tags":[12],"class_list":["post-63","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","category-opinion","tag-tag-github"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cakers&#039; Review: AFNetworking | Cheesecake Labs<\/title>\n<meta name=\"description\" content=\"Starting over is shooting yourself in the foot because it would be a declaration that you screwed up and you couldn&#039;t bear the errors from the past.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cakers&#039; Review: AFNetworking | Cheesecake Labs\" \/>\n<meta property=\"og:description\" content=\"Starting over is shooting yourself in the foot because it would be a declaration that you screwed up and you couldn&#039;t bear the errors from the past.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2015-02-18T11:14:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T18:12:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2008\" \/>\n\t<meta property=\"og:image:height\" content=\"790\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\"},\"author\":{\"name\":\"Giovannu Car\u00fas\"},\"headline\":\"Cakers&#8217; Review: AFNetworking\",\"datePublished\":\"2015-02-18T11:14:00+00:00\",\"dateModified\":\"2022-07-01T18:12:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\"},\"wordCount\":446,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg\",\"keywords\":[\"github\"],\"articleSection\":[\"Engineering\",\"Opinion\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\",\"name\":\"Cakers' Review: AFNetworking | Cheesecake Labs\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg\",\"datePublished\":\"2015-02-18T11:14:00+00:00\",\"dateModified\":\"2022-07-01T18:12:45+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Giovannu Car\u00fas\"},\"description\":\"Starting over is shooting yourself in the foot because it would be a declaration that you screwed up and you couldn't bear the errors from the past.\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg\",\"width\":2008,\"height\":790,\"caption\":\"AFNetworking\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cakers&#8217; Review: AFNetworking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Giovannu Car\u00fas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":false,\"contentUrl\":false,\"caption\":\"Giovannu Car\u00fas\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/giovannicarus\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cakers' Review: AFNetworking | Cheesecake Labs","description":"Starting over is shooting yourself in the foot because it would be a declaration that you screwed up and you couldn't bear the errors from the past.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/","og_locale":"en_US","og_type":"article","og_title":"Cakers' Review: AFNetworking | Cheesecake Labs","og_description":"Starting over is shooting yourself in the foot because it would be a declaration that you screwed up and you couldn't bear the errors from the past.","og_url":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2015-02-18T11:14:00+00:00","article_modified_time":"2022-07-01T18:12:45+00:00","og_image":[{"width":2008,"height":790,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg","type":"image\/jpeg"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/"},"author":{"name":"Giovannu Car\u00fas"},"headline":"Cakers&#8217; Review: AFNetworking","datePublished":"2015-02-18T11:14:00+00:00","dateModified":"2022-07-01T18:12:45+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/"},"wordCount":446,"commentCount":0,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg","keywords":["github"],"articleSection":["Engineering","Opinion"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/","url":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/","name":"Cakers' Review: AFNetworking | Cheesecake Labs","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg","datePublished":"2015-02-18T11:14:00+00:00","dateModified":"2022-07-01T18:12:45+00:00","author":{"@type":"person","name":"Giovannu Car\u00fas"},"description":"Starting over is shooting yourself in the foot because it would be a declaration that you screwed up and you couldn't bear the errors from the past.","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/02\/Untitled.jpg","width":2008,"height":790,"caption":"AFNetworking"},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/cakers-review-afnetworking\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cakers&#8217; Review: AFNetworking"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Giovannu Car\u00fas","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":false,"contentUrl":false,"caption":"Giovannu Car\u00fas"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/giovannicarus\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/63","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=63"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/63\/revisions"}],"predecessor-version":[{"id":10435,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/63\/revisions\/10435"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/2990"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}