

{"id":2294,"date":"2016-11-18T12:04:07","date_gmt":"2016-11-18T09:04:07","guid":{"rendered":"https:\/\/tubikstudio.com\/?p=2294"},"modified":"2021-02-18T14:39:19","modified_gmt":"2021-02-18T14:39:19","slug":"ios-glossary-architecture-patterns-xcode","status":"publish","type":"post","link":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/","title":{"rendered":"IOS Glossary: Architecture, Patterns, Xcode"},"content":{"rendered":"<p><span style=\"color: #333333;\">As soon as you know the basics, you set the foundation for growth. It works the same way for any job and there is no secret that many significant innovations are still grounded on diverse knowledge boosting the potential and force of creativity. So, today let&#8217;s do our homework on the basics and add one more article to the set of the professional glossary. Earlier we have already published the Glossary posts with key terms for the topics of <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/uiux-design-glossary-steps-to-usability\/\" target=\"_blank\" rel=\"noopener noreferrer\">UI\/UX design<\/a> and <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/uiux-glossary-web-design-issues\/\" target=\"_blank\" rel=\"noopener noreferrer\">web design<\/a>\u00a0as well as <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/business-terms-in-design-for-e-commerce-sales-basics\/\" target=\"_blank\" rel=\"noopener noreferrer\">business terms<\/a> and <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/short-but-vital-key-abbreviations-in-ui-design-for-business\/\" target=\"_blank\" rel=\"noopener noreferrer\">abbreviations<\/a>. This time the perspective will get changed a bit, featuring the first set of terms in the theme of iOS development. Let&#8217;s get started briefly reviewing the basic notions common for the sphere of iOS development.<\/span><\/p>\n<h2><span style=\"color: #333333;\">iOS<\/span><\/h2>\n<p><span style=\"color: #333333;\">Basically, widely known iOS is the well-established abbreviation taking its roots from the phrase &#8220;iPhone Operating System&#8221; which was created originally for the system of mobile devices produced by Apple such as iPhone, iPad, and iPodTouch and now also AppleTV.\u00a0<\/span><\/p>\n<p><span style=\"color: #333333;\">User interfaces created for\u00a0iOS are made on the basis of\u00a0direct manipulation involving multi-touch gestures. Interface control elements present a variety of functions and forms including\u00a0buttons, sliders, and switches. Gestures taking place in the process of interaction with such type of interface are also various, for instance, swipe, tap, pinch, and reverse pinch; what is more, they all have specific definitions in the context of the iOS operating system. Some\u00a0iOS applications even use internal accelerometers which can react to the cases of shaking or rotating the device in three dimensions. Another typical feature is portrait and landscape mode switching.<\/span><\/p>\n<p><span style=\"color: #333333;\">From the standpoint of development, Apple gives steady preference to simple and durable things, and this concept is applied to their products, <a href=\"https:\/\/blog.tubikstudio.com\/mobile-app-design-big-guide-into-types-of-mobile-applications\/\">applications<\/a>, tools, and frameworks. It is expected that when an iOS developer builds an app for iPhone, it will run on any other device with iOS. This aspect of iOS development can save a large amount of time for programmers as writing code, let&#8217;s say, for iPhone, the developer uses the same programming language for all Apple\u2019s computing devices. Said otherwise, an application created for iPhone can later be even integrated into Mac.<\/span><\/p>\n<p><span style=\"color: #333333;\">In both UI\/UX design and development for iOS, specialists making screens and writing code, apply their flight of creativity in terms of definite rules and guidelines to keep. The apps which don&#8217;t keep those guidelines risk failing to submit their app to the Apple ecosystem of devices. Working on the digital products intended to be used in iOS, professionals need to know iOS <a style=\"color: #333333;\" href=\"https:\/\/developer.apple.com\/ios\/human-interface-guidelines\/overview\/design-principles\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Human Interface Guidelines<\/a> and always keep an eye on updates and fresh recommendations. The set of guidelines for designers states: &#8220;As an app designer, you have the opportunity to deliver an extraordinary product that rises to the top of the App Store charts. To do so, you&#8217;ll need to meet high expectations for quality and functionality&#8221;. Actually, the same position works the same way for developers who are offered samples, guidelines, and support to find the optimal solutions for user-friendly and effective digital products.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10118\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-developers-tubik-1-1.jpg\" alt=\"ios developers-tubik\" width=\"1200\" height=\"800\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-developers-tubik-1-1.jpg 1200w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-developers-tubik-1-1-300x200.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-developers-tubik-1-1-768x512.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-developers-tubik-1-1-1024x683.jpg 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-developers-tubik-1-1-150x100.jpg 150w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h2><span style=\"color: #333333;\">iOS architecture<\/span><\/h2>\n<p><span style=\"color: #333333;\">As it was mentioned before, iOS allows users to interact with their devices and products using gestures such as swiping, tapping and pinching. These finger actions are typically performed on touchscreen displays, which provide fast response and accept inputs from multiple fingers. <\/span><\/p>\n<p><span style=\"color: #333333;\">The iOS architecture can be pictured as four abstraction layers that define it:<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>Cocoa Touch.<\/strong> The layer containing a variety of frameworks that define the appearance of the app. It also provides the basic app infrastructure and support for main technologies such as multitasking, touch-based input, push-notifications, and many high-level system services.<\/span><\/p>\n<p><span style=\"color: #333333;\"> <strong> Media.<\/strong> The layer with graphics, audio, and video technologies that developers use to implement multimedia experiences in the apps. The technologies in this layer make enable building apps that look and sound excellent.<\/span><\/p>\n<p><span style=\"color: #333333;\"> <strong> Core Services.<\/strong> The layer consists of essential system services for apps. The main services are the Core Foundation and Foundation frameworks, which define the basic types that all apps use. It also contains individual technologies to support features such as location, iCloud, social media, networking, etc.<\/span><\/p>\n<p><span style=\"color: #333333;\"> <strong> Core OS.<\/strong> The layer including services such as security, local authentication, and core Bluetooth frameworks.<\/span><\/p>\n<p><span style=\"color: #333333;\">Apple recommends developers to write code to the highest applicable layer whenever possible, and only use the lower-level frameworks for features not exposed at higher levels.<\/span><\/p>\n<h2><span style=\"color: #333333;\">Architecture design patterns<\/span><\/h2>\n<p><span style=\"color: #333333;\">In software development, an architecture design pattern is the matter of structure. It is not a finished architecture that can be transformed directly into code. Patterns are similar to the case of reliable practices that the developer can use to solve common problems building an application or system.<\/span><\/p>\n<p><span style=\"color: #333333;\">In general terms, architecture pattern in the case of development could be described as a reusable solution that could be repetitively applied to the issues that frequently arise within a particular context of development and engineering interactions. This sort of patterns takes into account various limitations and restrictions including the problems of hardware performance, availability, the environment of use, and even particular business goals.<\/span><\/p>\n<p><span style=\"color: #333333;\">Among the main architecture design patterns we could mention:<\/span><\/p>\n<ul>\n<li><span style=\"color: #333333;\"><strong>MVC<\/strong> (Model\u2013view\u2013controller)<\/span><\/li>\n<li><span style=\"color: #333333;\"><strong>MVP<\/strong> (Model\u2013view\u2013presenter)<\/span><\/li>\n<li><span style=\"color: #333333;\"><strong>MVVM<\/strong> (Model\u2013view\u2013view-model)<\/span><\/li>\n<li><span style=\"color: #333333;\"><strong>VIPER<\/strong> (View-interactor-presenter-entity-routing)<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #333333;\">The first three types of architectural design patterns assume putting the entities of the app into one of 3 categories:<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>Models<\/strong> \u2013 give the controller\/ presenter\/ view-model the data to populate view.<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>Views<\/strong> \u2013 display content and are populated by the controller\/ presenter\/ view-model. Each screen of the app is a \u2018view\u2019 which includes buttons, text, menus, fields and etc.<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>Controllers\/ Presenters\/ View-models<\/strong> \u2013 control behavior of the app. Apps are based on event-driven programming, controllers\/ presenters\/ view-models receive, process and return events.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10938\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/06\/Tubik-Studio-iOS-development.jpg\" alt=\"Tubik-Studio-iOS-development\" width=\"1200\" height=\"797\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/06\/Tubik-Studio-iOS-development.jpg 1200w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/06\/Tubik-Studio-iOS-development-300x199.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/06\/Tubik-Studio-iOS-development-768x510.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/06\/Tubik-Studio-iOS-development-1024x680.jpg 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/06\/Tubik-Studio-iOS-development-150x100.jpg 150w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"color: #333333;\">To see how it works in practice, let\u2019s take the MVC pattern and describe it a bit more in detail. The model-view-controller (MVC) is an architectural design pattern that breaks the code down into three parts: user interfaces (views), data (model), and the software that communicates between the two (controller). The building blocks of apps are objects &#8211; arrays of code organized with MVC pattern. Each screen of the app is a view: the data model controls the content it displays, and the controller manages communication between the view and the model. The model-view-controller is just one of the architecture design patterns developers use while building the app, still, it is popular in development.<\/span><\/p>\n<h2><span style=\"color: #333333;\">Xcode<\/span><\/h2>\n<p><span style=\"color: #333333;\">Xcode is Apple\u2019s integrated development environment (IDE) and it is the main tool for building iOS apps. iOS developers can work applying either Objective-C or Swift, in fact, using only Xcode. This software only runs on Macs and there are no official ways to launch it on a Windows or Linux PC.<\/span><\/p>\n<p><span style=\"color: #333333;\">Xcode has tons of features for iOS development, among which:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><strong>Interface Builder<\/strong>. It allows designing and testing user interface without writing a code. Interface Builder helps to prototype and then connect the interface to the source within the Xcode editor.<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>Source Editor<\/strong>. It is a professional editor with code completion, code folding, syntax highlighting, and messages that display warnings, errors, and other context-sensitive information.<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>Continuous Integration.<\/strong> It is a feature of OS X Server controlling server-side bots that continuously build, analyze, test, and even archive Xcode projects.<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>XCTest Framework.<\/strong> It assists in building unit tests that check iPhone, iPad, Apple Watch, Apple TV and Mac apps performance.<\/span><\/p>\n<p><span style=\"color: #333333;\"><strong>iOS Simulator.<\/strong> It allows prototyping and testing apps during the development process. This testing tool simulates iOS, watchOS, and tvOS devices before testing the app on an actual device.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #333333;\">iOS programming languages<\/span><\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Two fundamental programming languages for iOS development are Objective-C and Swift. The benefits and drawbacks of each language were considered in <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/swift-or-objective-c-tool-tips-for-ios-developers\/\" target=\"_blank\" rel=\"noopener noreferrer\">our earlier post.<\/a><\/span><\/p>\n<p><span style=\"color: #333333;\">At the moment Objective-C is commonly described as the general-purpose, object-oriented programming language adding Smalltalk-style messaging to the C programming language. Before Swift came into play, Objective-C had been the main programming language used by developers for OS X and iOS operating systems, and their APIs. Swift, introduced at Apple\u2019s 2014 WWDC, brought its own dose of revolution. In the general description, Swift is a general-purpose, multi-paradigm, compiled programming language broadening the previous scope of operating systems as it was developed for iOS, OS X, watchOS, tvOS, and Linux. Swift was designed to enable work with Apple\u2019s Cocoa and Cocoa Touch frameworks as well as the large body of Objective-C code already written for Apple products.\u00a0<\/span><\/p>\n<p><span style=\"color: #333333;\">Initially, Swift was intended to be more resilient and safer than Objective-C, and also more concise and developer-friendly. It was built with the LLVM compiler framework including in Xcode 6 and using the Objective-C runtime library that enables C, Objective-C, C++, and Swift code to run within one program. Therefore, it enhances broadening professional horizons for developers making their work more efficient. That was the milestone when developers started their discussion of what is better, tradition or innovation.<\/span><\/p>\n<p><span style=\"color: #333333;\">Since 2014, Swift language has been used by Xcode for coding more often than Objective-C. Objective-C is the initial programming language for building OS X and iOS software and in the perspective of all the apps coded for iOS, it presents a superset of the C-programming language and provides object-oriented programming and a dynamic runtime. Nowadays, Objective-C is a good fit for the early iPhone and it is also effectively applicable for maintaining and updating the apps initially created in it. Swift in its turn is a newer and more flexible programming language for Apple devices that has the best features of C and Objective-C, without the constraints of C compatibility. It keeps step with modern hardware being faster in the actual process of coding as well as shorter, more secure, and easy-to-use.\u00a0<\/span><\/p>\n<p><span style=\"color: #333333;\"><em>Read more about\u00a0the topic in our <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/swift-or-objective-c-tool-tips-for-ios-developers\/\" target=\"_blank\" rel=\"noopener noreferrer\">previous article<\/a>\u00a0<\/em><\/span><\/p>\n<p><span style=\"color: #333333;\">Anyway, the choice of the programming language, framework, method, and tool for creating iOS apps should be based on the intention to provide an efficient product to both the client and the final user.\u00a0<\/span><\/p>\n<p><span style=\"color: #333333;\">This set of our glossary is ready for those who need it and we are going to continue this practice before long. Don\u2019t miss the new sets. New definitions are coming soon!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.<\/p>\n","protected":false},"author":3,"featured_media":10120,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[20,24,255,257,271,272,280,350,560],"coauthors":[],"class_list":["post-2294","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-processes_and_tools","tag-app-design","tag-apple","tag-interaction","tag-interface","tag-ios-best-practices","tag-ios-developers","tag-ios-services","tag-objective-c","tag-xcode"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>IOS Glossary: Architecture, Patterns, Xcode<\/title>\n<meta name=\"description\" content=\"Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IOS Glossary: Architecture, Patterns, Xcode\" \/>\n<meta property=\"og:description\" content=\"Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/\" \/>\n<meta property=\"og:site_name\" content=\"Tubik Blog: Articles About Design\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-18T09:04:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-18T14:39:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1275\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marina Yalanska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marina Yalanska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/\",\"url\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/\",\"name\":\"IOS Glossary: Architecture, Patterns, Xcode\",\"isPartOf\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png\",\"datePublished\":\"2016-11-18T09:04:07+00:00\",\"dateModified\":\"2021-02-18T14:39:19+00:00\",\"author\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f\"},\"description\":\"Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.\",\"breadcrumb\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#primaryimage\",\"url\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png\",\"contentUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png\",\"width\":1920,\"height\":1275,\"caption\":\"ios development glossary\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/tubikstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IOS Glossary: Architecture, Patterns, Xcode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\",\"url\":\"https:\/\/tubikstudio.com\/blog\/\",\"name\":\"Tubik Blog: Articles About Design\",\"description\":\"Tubik Studio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f\",\"name\":\"Marina Yalanska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/2ddde1c118fcf989ce8e73997a3909dd\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g\",\"caption\":\"Marina Yalanska\"},\"url\":\"https:\/\/tubikstudio.com\/blog\/author\/marina-yalanska\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IOS Glossary: Architecture, Patterns, Xcode","description":"Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.","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:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/","og_locale":"en_US","og_type":"article","og_title":"IOS Glossary: Architecture, Patterns, Xcode","og_description":"Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.","og_url":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/","og_site_name":"Tubik Blog: Articles About Design","article_published_time":"2016-11-18T09:04:07+00:00","article_modified_time":"2021-02-18T14:39:19+00:00","og_image":[{"width":1920,"height":1275,"url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png","type":"image\/png"}],"author":"Marina Yalanska","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marina Yalanska","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/","url":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/","name":"IOS Glossary: Architecture, Patterns, Xcode","isPartOf":{"@id":"https:\/\/tubikstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#primaryimage"},"image":{"@id":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png","datePublished":"2016-11-18T09:04:07+00:00","dateModified":"2021-02-18T14:39:19+00:00","author":{"@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f"},"description":"Fresh set of entries by Tubik team for professional glossary, this time focused on basic descriptions of common terms and tools in the field of iOS development.","breadcrumb":{"@id":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#primaryimage","url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png","contentUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/02\/ios-development-glossary.png","width":1920,"height":1275,"caption":"ios development glossary"},{"@type":"BreadcrumbList","@id":"https:\/\/tubikstudio.com\/blog\/ios-glossary-architecture-patterns-xcode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tubikstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"IOS Glossary: Architecture, Patterns, Xcode"}]},{"@type":"WebSite","@id":"https:\/\/tubikstudio.com\/blog\/#website","url":"https:\/\/tubikstudio.com\/blog\/","name":"Tubik Blog: Articles About Design","description":"Tubik Studio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f","name":"Marina Yalanska","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/2ddde1c118fcf989ce8e73997a3909dd","url":"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g","caption":"Marina Yalanska"},"url":"https:\/\/tubikstudio.com\/blog\/author\/marina-yalanska\/"}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=2294"}],"version-history":[{"count":3,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2294\/revisions"}],"predecessor-version":[{"id":10942,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2294\/revisions\/10942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media\/10120"}],"wp:attachment":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=2294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=2294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=2294"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/coauthors?post=2294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}