{"id":10678,"date":"2011-10-25T21:01:00","date_gmt":"2011-10-25T13:01:00","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=10678"},"modified":"2024-03-05T23:09:13","modified_gmt":"2024-03-05T15:09:13","slug":"ios-development-guide-part1","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/","title":{"rendered":"Beginner&#8217;s Guide to iOS Development: Exploring the Interface &#8211; Part I"},"content":{"rendered":"<p>Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is why many clients prioritize having their applications available on Apple\u2019s App Store, encouraging developers to venture into iPhone app development.<\/p>\n<p>Fortunately, creating an iPhone app may be easier than it seems. This article serves as a detailed guide to help you navigate the journey of developing an app for the iPhone.<\/p>\n<p>We will cover the motivations, stages, and tools involved in app development, culminating in a straightforward tutorial to craft a simple iPhone app using Xcode.<\/p>\n<p>Whether you\u2019re aiming to boost your business or you\u2019re fueled by a groundbreaking app idea that could turn you into a millionaire, let\u2019s embark on the path to creating your first iPhone application!<\/p>\n<p><em>Note: Developing and submitting apps requires a computer running macOS, as Xcode cannot be legally used on Windows.<\/em><\/p>\n<h2>Why Choose Apple for App Development?<\/h2>\n<p>This question comes up often, so let\u2019s dive into why iPhone development is worth considering. As mentioned earlier, the iPhone commands a significant market share in the mobile industry.<\/p>\n<p>This fact alone should motivate you to learn iPhone app development, aiming to reach a vast audience whether you\u2019re creating apps for yourself or for clients.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg\" alt=\"Overview of Apple development\" width=\"500\" height=\"311\"><\/figure>\n<p>From a development perspective, Apple prioritizes simplicity in their products and frameworks. iOS, the operating system for all Apple mobile devices such as the iPod Touch, iPhone, and iPad, exemplifies this. Developing for iPhone means potentially catering to all these devices.<\/p>\n<p>Moreover, the unified programming language across Apple\u2019s devices simplifies coding. Writing code for an iPhone app means you\u2019re also setting the stage for future integration with iPad and even Mac systems.<\/p>\n<p>Objective-C is the foundational language for Apple\u2019s frameworks, used alongside Cocoa Touch, the framework responsible for managing user interactions on iOS.<\/p>\n<p>This introduction is just the tip of the iceberg in iPhone app development. Though the process may seem daunting, approach it with patience. Now that you understand the reasons, the next step is yours to take. Whether you decide to proceed or not, you\u2019re ready to move on to the next phase: designing iPhone apps.<\/p>\n<h2>Mapping Out Your iPhone App\u2019s Structure<\/h2>\n<p>Embarking on the journey of iPhone app creation involves several key stages, starting with <strong>planning and drafting<\/strong>.<\/p>\n<p>Initially, you must define <strong>the purpose of your app<\/strong>: <strong>Why would it be valuable to users?<\/strong> And <strong>which features should it include<\/strong>? This stage is crucial as thorough planning can <strong>minimize confusion and issues<\/strong> during the coding phase, potentially saving you from having to start over.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/sketching.jpg\" alt=\"Initial sketches for app planning\" width=\"500\" height=\"333\"><\/figure>\n<p>It\u2019s advisable to <strong>draft rough layouts for several app screens<\/strong>. Imagine drawing a few rectangle shapes on paper, representing different screens, and sketching out the intended features on each. Think of these screens like web pages, each offering distinct functionality, such as login forms, contact lists, or data tables.<\/p>\n<p>Here\u2019s a quick overview of common UI bar elements you might include:<\/p>\n<ul>\n<li><strong>Status Bar<\/strong> \u2013 Shows the device\u2019s battery level, network status, and more. It\u2019s generally a good idea to incorporate this.<\/li>\n<li><strong>Navigation Bar<\/strong> \u2013 Allows users to navigate through the app\u2019s hierarchy. Typically includes a back button to return to the previous screen.<\/li>\n<li><strong>Toolbar<\/strong> \u2013 Located at the bottom, featuring icons for actions like <em>Share<\/em>, <em>Download<\/em>, <em>Delete<\/em>, etc.<\/li>\n<li><strong>Tab Bar<\/strong> \u2013 Similar to the toolbar but for switching between screens. Tabs highlight upon selection, showcasing a glossy effect.<\/li>\n<\/ul>\n<p>This compilation covers the basics, but there\u2019s a broader array of views and styles available, detailed in Apple\u2019s <a href=\"https:\/\/developer.apple.com\/design\/human-interface-guidelines\/ios\/overview\/themes\/\">iOS UI Element Usage Guidelines<\/a>. Consulting this resource is highly recommended when in doubt about UI components.<\/p>\n<p>While it\u2019s impractical to describe every possible UI element here due to their vast number and the likelihood that not all will be used in a single project, these guidelines and inspirations from existing iPhone apps can greatly inform your design process.<\/p>\n<h2>Crafting Photoshop Mockups for Your App<\/h2>\n<p>Assuming many of you are already familiar with Adobe Photoshop, the leading tool for creating web graphics, banners, logos, and mobile mockups. While designing for web might seem straightforward, crafting designs for iPhone apps introduces a layer of complexity.<\/p>\n<p>For app development, it\u2019s crucial to <strong>start with pixel-perfect mockup designs<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/photoshop-mockup.jpg\" alt=\"Adobe Photoshop app mockup example\" width=\"500\" height=\"398\"><\/figure>\n<p>Let\u2019s dive into the Photoshop settings essential for iPhone design. There are two main design resolutions to consider. The standard iPhone screen resolution is <strong>320 x 480 pixels<\/strong>, but the iPhone 4\u2019s retina display requires designs at <strong>double that resolution, 640 x 960 pixels<\/strong>, to accommodate the increased pixel density.<\/p>\n<p>This also means preparing <strong>two sets of icons<\/strong> for your designs: one at <strong>163ppi<\/strong> and another at <strong>326ppi for the retina display<\/strong>, with the latter typically labeled with <strong>@2x<\/strong> in the file name, like \u201c<em>icon@2x.png<\/em>\u201c.<\/p>\n<p>Optimizing your Photoshop document begins with adjusting preferences: navigate to Photoshop &gt; Edit &gt; Preferences &gt; <strong>Guides, Grid, and Slices<\/strong>. Set your gridline to appear every <strong>20px with 2 subdivisions<\/strong>. This setup means that a <strong>2px line in your design correlates to 1 point<\/strong> on the actual device, a critical consideration for retina display designs.<\/p>\n<p>Although designing at higher resolutions and scaling down is my preferred method, experimenting with both approaches to find what works best for you is advisable. Remember, we\u2019re working with 640 x 960 pixels at 326ppi \u2013 consider saving this as a custom preset for future projects.<\/p>\n<h2>Utilizing Template Elements in Photoshop<\/h2>\n<p>While it\u2019s entirely possible to craft a pixel-perfect layout from scratch in Photoshop, such a task can be overwhelmingly intricate and time-consuming.<\/p>\n<p>Dealing with a file that contains an abundance of elements can get cumbersome. To streamline the process, you can press <span class=\"key\">v<\/span> to enable the <strong>Move Tool<\/strong>, then toggle the \u201c<strong>Auto-Select<\/strong>\u201d option to \u201c<strong>Layer<\/strong>\u201d instead of \u201cGroup\u201d. This adjustment allows you to select any element on your canvas, and Photoshop will automatically navigate to the corresponding layer.<\/p>\n<p>You\u2019re encouraged to experiment with the mockup, adapting it into a prototype for your app. The PSD file may contain a variety of features that could be integral to your app\u2019s functionality. It\u2019s also feasible to modify layer elements, like font styles, gradient colors, and more. Just be cautious to avoid resizing elements, as all UI components are designed to adhere to standard dimensions.<\/p>\n<h2>Navigating App Development in Xcode<\/h2>\n<p>Xcode is the go-to development environment for creating apps on iOS and macOS. If you\u2019re using macOS Lion or later, Xcode and all necessary packages are available for free in the <strong>Mac App Store<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/single-view-application.jpg\" alt=\"Xcode single view application setup\" width=\"500\" height=\"337\"><\/figure>\n<p>Once Xcode is installed, launching it will bring you to its welcome screen. Here, you can either open an existing project or start a new one. To begin, select \u201c<strong>Create a new Xcode project<\/strong>\u201c. In the template window, under iOS &gt; Application, choose \u201c<strong>Single View Application<\/strong>\u201d and proceed to the next step. Name your app, for instance, <em>Test<\/em> (avoid spaces), set a <strong>Company Identifier<\/strong> with any name like <em>mycompany<\/em>, choose where to save it, and click \u201cSave\u201d.<\/p>\n<p>Xcode will then prepare your project\u2019s file structure and present you with your workspace. The folder named after your app contains all the crucial files.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/storyboard.jpg\" alt=\"Xcode storyboard\" width=\"500\" height=\"394\"><\/figure>\n<p>For designing the UI, Xcode offers two approaches. The traditional <strong>xib\/nib<\/strong> method allows for individual page views but can become cumbersome with multiple views. Alternatively, the <strong>storyboard<\/strong> format consolidates all your views into a single editor pane, simplifying the process of adding or removing UI components.<\/p>\n<p>You will also find <strong>.h<\/strong> (header) and <strong>.m<\/strong> (implementation) files within your project, which are used for writing Objective-C code for your app\u2019s functionality. Understanding Xcode\u2019s adherence to the MVC (Model, View, Controller) pattern explains the necessity for separate files for each controller\u2019s code.<\/p>\n<h2>Understanding the MVC Programming Structure<\/h2>\n<p>To grasp how an app functions, it\u2019s essential to comprehend its programming framework. The <strong>Model, View, Controller (MVC) pattern<\/strong> is fundamental in Xcode, delineating the separation between user interface code and the logic and processing operations. Although MVC might initially seem daunting, familiarity and practice with constructing basic apps will enhance your appreciation for its organized architecture.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/model-view-controller.jpg\" alt=\"Illustration of MVC architecture\" width=\"500\" height=\"334\"><\/figure>\n<p>For clarity, here\u2019s a breakdown of each component:<\/p>\n<ul>\n<li><strong>Model<\/strong> \u2013 Contains logic and core data, such as variables, external connections (e.g., to RSS feeds or images), functions, and calculations. It operates independently of your user interfaces, allowing you to modify views without affecting the underlying data.<\/li>\n<li><strong>View<\/strong> \u2013 Represents the visual elements within your app, like tables, profile pages, summaries, and media players. While you can alter their appearance and structure, they interact with the same data defined in the Model.<\/li>\n<li><strong>Controller<\/strong> \u2013 Serves as the bridge between the Model and View, facilitating data transfer. For example, a button tap in the View can be processed by the Controller to affect data in the Model, such as logging out a user and displaying a confirmation message.<\/li>\n<\/ul>\n<p>In essence, the <strong>Model manages the data and functions necessary for display<\/strong>, but cannot directly modify the View, which is strictly for visual representation and receives data via a ViewController. The <strong>Controller conceals backend processes from the frontend<\/strong>, enabling design changes without sacrificing functionality.<\/p>\n<p>With this foundation, venturing into app development becomes more accessible. Using <strong>Objective-C<\/strong>, the primary language for app development on Apple platforms, requires a solid understanding of its syntax and concepts. For beginners, I recommend starting with the <a href=\"https:\/\/code.tutsplus.com\/tutorials\/learn-objective-c-day-1--mobile-1844\" rel=\"nofollow\">Mobiletuts+ tutorial series<\/a> to get acquainted with Objective-C fundamentals.<\/p>\n<h2>Designing Your App\u2019s Interface with Storyboards<\/h2>\n<p>Having delved into the technicalities of app development, let\u2019s shift our focus to the design aspect of the interface. Assuming you selected the <strong>\u201cStoryboard\u201d option<\/strong> when setting up your project, you\u2019ll have access to a <strong>MainStoryboard_iPhone.storyboard<\/strong> file within the project\u2019s folder hierarchy. Navigate to this file and open it to start designing your interface.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/storyboard.jpg\" alt=\"Overview of storyboard in Xcode\" width=\"500\" height=\"394\"><\/figure>\n<p>Upon selecting the storyboard file, a sidebar, known as the <strong>Document Outline<\/strong>, will appear next to the folder group. This feature offers a convenient way to preview all views contained within the storyboard.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/status-bar.jpg\" alt=\"Design elements in storyboard\" width=\"500\" height=\"430\"><\/figure>\n<p>To begin crafting the user interface, we\u2019ll integrate a couple of key components: a <strong>Navigation Bar<\/strong> and a <strong>Tab Bar<\/strong>. But first, head over to the <strong>Attributes Inspector<\/strong> (View &gt; Utilities &gt; Show Attributes Inspector) located on the right-hand side. There, you\u2019ll find the <strong>Status Bar<\/strong> option, which is set to <strong>Inferred<\/strong> by default, reflecting the standard iPhone status bar appearance. However, for a design that matches your app\u2019s aesthetic more closely, you can opt for either <em>Black<\/em> or <em>Translucent Black<\/em>.<\/p>\n<h2>Exploring the Object Library in Xcode<\/h2>\n<p>If you can\u2019t see the <strong>Utilities<\/strong> pane on the right side of the Xcode window, make it visible by going to View &gt; Utilities &gt; Show Utilities. At the bottom of the Utilities pane, you\u2019ll find the <strong>Object Library<\/strong>, identifiable by a drop-down menu with \u201c<strong>Objects<\/strong>\u201d listed first. If it\u2019s not immediately visible, select View &gt; Utilities &gt; Show Object Library to access it.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/navigation-bar.jpg\" alt=\"Inserting a navigation bar in Xcode\" width=\"500\" height=\"430\"><\/figure>\n<p>Within the Object Library\u2019s drop-down menu, navigate to <strong>Windows & Bars<\/strong> and select the <strong>Navigation Bar<\/strong>. Drag it into your storyboard, positioning it just below the Status Bar that displays the battery icon. To customize the title, double-click the default \u201c<em>Title<\/em>\u201d text, and you\u2019ll see a \u201c<strong>Title<\/strong>\u201d label in the Utilities pane where you can change the description to \u201c<em>Test<\/em>\u201c. Press \u201cEnter\u201d to apply the new title.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/tab-bar.jpg\" alt=\"Adding a tab bar in Xcode\" width=\"500\" height=\"430\"><\/figure>\n<p>Return to the Windows & Bars panel to find the <strong>Tab Bar<\/strong>, drag it to your storyboard, placing it at the bottom of the view. These elements naturally integrate well within the design.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/black-opaque-style.jpg\" alt=\"Setting black opaque style for navigation bar\" width=\"500\" height=\"430\"><\/figure>\n<p>To align the Navigation Bar\u2019s gradient with the Tab Bar\u2019s style, select the Navigation Bar and check the <strong>Attributes<\/strong> panel in the Utilities pane. The first option is <strong>Style<\/strong>, set by default to Default. Change this setting to <strong>Black Opaque<\/strong> for a cohesive color scheme.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/bookmark-tab.jpg\" alt=\"Customizing tab bar item in Xcode\" width=\"500\" height=\"430\"><\/figure>\n<p>Add another tab button by selecting a <strong>Tab Bar Item<\/strong> from the Windows & Bars panel and dragging it between the existing Tab Bar buttons. Double-clicking this new button reveals options in the Utilities pane to modify its <strong>image<\/strong> and <strong>title<\/strong>; for instance, setting the title to \u201c<em>Bookmark<\/em>\u201d for the new item.<\/p>\n<p>This brief tutorial introduces the basics of designing views within Xcode. While adapting to the interface might take some time, experimenting with additional elements as you become more comfortable is encouraged. For further learning, explore <a href=\"https:\/\/idmsa.apple.com\/IDMSWebAuth\/signin?appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&path=%2Fdownload%2F&rv=1\">Apple\u2019s iOS Development Resources<\/a> for a wealth of information and guidance.<\/p>\n<h2>Stay Tuned for Part II<\/h2>\n<p>This marks the end of the first installment in our series on iPhone app design and development. <a href=\"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part2-your-first-app\/\">In our next chapter<\/a>, we\u2019ll dive deeper into Objective-C and Cocoa Touch, guiding you through the steps to create a functional iPhone app. Stay tuned for more!<\/p>\n<h2>iOS Design Inspiration Gallery<\/h2>\n<p>For the designers among us seeking inspiration, we\u2019ve compiled a collection of captivating iPhone app designs below. This list showcases a wide array of innovative app elements that may have flown under your radar. We welcome you to share your designs, ideas, or any questions in the comments section. Thank you for your engagement!<\/p>\n<p><strong>Race Splitter<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/race-splitter.jpg\" alt=\"Race Splitter app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Satisfaction Remote<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/satisfaction-remote.jpg\" alt=\"Satisfaction Remote app interface\" width=\"600\" height=\"418\"><\/figure>\n<p><strong>Tweetbot for iPhone<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/tweetbot.jpg\" alt=\"Tweetbot for iPhone app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Reeder<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/reeder.jpg\" alt=\"Reeder app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Foursquare<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/foursquare.jpg\" alt=\"Foursquare app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>MailChimp<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/mailchimp.jpg\" alt=\"MailChimp app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Instagram<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/instagram.jpg\" alt=\"Instagram app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Joystiq<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/joystiq.jpg\" alt=\"Joystiq app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Piictu<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/piictu.jpg\" alt=\"Piictu app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Darkness<\/strong><\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/darkness.jpg\" alt=\"Darkness app interface\" width=\"600\" height=\"436\"><\/figure>\n<p><strong>Note:<\/strong> This post was first published on Oct 25, 2011.<\/p>","protected":false},"excerpt":{"rendered":"<p>Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is why many clients prioritize having their applications available on Apple\u2019s App Store, encouraging developers to venture into iPhone app development. Fortunately, creating an iPhone app may be easier than it seems.&hellip;<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3392],"tags":[76,1846,3933,3214],"topic":[4520,4521],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Beginner&#039;s Guide to iOS Development: Exploring the Interface - Part I - Hongkiat<\/title>\n<meta name=\"description\" content=\"Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beginner&#039;s Guide to iOS Development: Exploring the Interface - Part I\" \/>\n<meta property=\"og:description\" content=\"Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2011-10-25T13:01:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-05T15:09:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg\" \/>\n<meta name=\"author\" content=\"Jake Rocheleau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jake Rocheleau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/\"},\"author\":{\"name\":\"Jake Rocheleau\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\"},\"headline\":\"Beginner&#8217;s Guide to iOS Development: Exploring the Interface &#8211; Part I\",\"datePublished\":\"2011-10-25T13:01:00+00:00\",\"dateModified\":\"2024-03-05T15:09:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/\"},\"wordCount\":2215,\"commentCount\":45,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/ios-appplication-dev-part1\\\/apple-developer.jpg\",\"keywords\":[\"Apple\",\"iOS\",\"macOS\",\"Mobile App Development\"],\"articleSection\":[\"Coding\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/\",\"name\":\"Beginner's Guide to iOS Development: Exploring the Interface - Part I - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/ios-appplication-dev-part1\\\/apple-developer.jpg\",\"datePublished\":\"2011-10-25T13:01:00+00:00\",\"dateModified\":\"2024-03-05T15:09:13+00:00\",\"description\":\"Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/ios-appplication-dev-part1\\\/apple-developer.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/ios-appplication-dev-part1\\\/apple-developer.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/ios-development-guide-part1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Beginner&#8217;s Guide to iOS Development: Exploring the Interface &#8211; Part I\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\",\"name\":\"Jake Rocheleau\",\"description\":\"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers\",\"sameAs\":[\"https:\\\/\\\/www.hongkiat.com\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/jake\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Beginner's Guide to iOS Development: Exploring the Interface - Part I - Hongkiat","description":"Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is","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:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/","og_locale":"en_US","og_type":"article","og_title":"Beginner's Guide to iOS Development: Exploring the Interface - Part I","og_description":"Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is","og_url":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2011-10-25T13:01:00+00:00","article_modified_time":"2024-03-05T15:09:13+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg","type":"","width":"","height":""}],"author":"Jake Rocheleau","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Jake Rocheleau","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/"},"author":{"name":"Jake Rocheleau","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a"},"headline":"Beginner&#8217;s Guide to iOS Development: Exploring the Interface &#8211; Part I","datePublished":"2011-10-25T13:01:00+00:00","dateModified":"2024-03-05T15:09:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/"},"wordCount":2215,"commentCount":45,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg","keywords":["Apple","iOS","macOS","Mobile App Development"],"articleSection":["Coding"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/","url":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/","name":"Beginner's Guide to iOS Development: Exploring the Interface - Part I - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg","datePublished":"2011-10-25T13:01:00+00:00","dateModified":"2024-03-05T15:09:13+00:00","description":"Apple has consistently led the mobile industry with its iPhone and iPad lines, capturing significant market share with each new release. This dominance is","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/ios-appplication-dev-part1\/apple-developer.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/ios-development-guide-part1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Beginner&#8217;s Guide to iOS Development: Exploring the Interface &#8211; Part I"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a","name":"Jake Rocheleau","description":"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers","sameAs":["https:\/\/www.hongkiat.com"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/jake\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-2Me","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/10678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=10678"}],"version-history":[{"count":3,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/10678\/revisions"}],"predecessor-version":[{"id":71435,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/10678\/revisions\/71435"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=10678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=10678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=10678"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=10678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}