Sep 10, 2015

iOS User Interface Development Approaches

When it comes to developing UI components for iOS, it seems every week I am involved in a discussion or debate over best practices. The conformist side is following the “Apple Way” of using Xcode storyboards and iOS Auto Layout as the best tools to develop your iOS UI views. The consultant side leans toward a broader “it depends” look at best practices.

There are alternative, valid approaches in developing responsive, well designed UI components other than using storyboards and Auto Layout. Sometimes, these approaches are the “best way”.

Two articles that explore these approaches in detail are:

  • iOS User Interfaces: Storyboards vs Nibs vs Custom Code by Antonio Bello, iOS Developer at Toptal Engineering. This article does a great job laying the groundwork to answer the inevitable “it depends” response.
  • Layout Managers for iOS Views. This is an article I wrote when Auto Layout was in its infancy. It still has relevance and I have been thinking how it could compliment Auto Layout when the “right way” to implement a UI component is custom code.
  • I recommend taking the time to read these articles and gain useful insight into finding the right fit to build your iOS UI components.

    About the Author

    Torey Lomenda profile.

    Torey Lomenda

    VP - Solution Delivery

    Torey has over 26 years of software development experience.  As VP of Solution Delivery he blends his skills as a solution architect and pragmatic hands-on technologist to deliver working software solutions. He enjoys collaborating with clients and team members to develop enterprise software systems that provide right-fit solutions for the business.

     

    As an architect he has expertise working with key stakeholders to drive common understanding leading to structured solutions that meet business, technical, and operational objectives. He follows a practical approach to modeling systems, applications, components, data and the flows between them to frame solutions that are feasible to implement.

     

    As a technologist he has a solid foundation in web and mobile, cloud native APIs, and enabling modern platforms with the help of AWS and Kafka technologies. He has led the development of many mission-critical, end-to-end applications using a diverse set of technologies and supports a pragmatic delivery approach leveraging agile methodologies

     

    Expertise: iOS and Android development, Web technologies (HTML, CSS, JavaScript, Ionic/Angular, Vue.js), APIs and enterprise applications (Spring Boot, Kotlin, Node.js, SQL, NoSQL).

     

    Practical Experience: Cloud infrastructure (AWS, Google) and container orchestration (Docker, Rancher, Kubernetes), messaging (RabbitMQ) and data streaming (Kafka)

     

    Interests: Micro-services architecture, cloud-based platforms and services, native & hybrid mobile development

    Leave a Reply

    Your email address will not be published.

    Related Blog Posts
    Building Better Data Visualization Experiences: Part 1 of 2
    Through direct experience with data scientists, business analysts, lab technicians, as well as other UX professionals, I have found that we need a better understanding of the people who will be using our data visualization products in order to build them. Creating a product utilizing data with the goal of providing insight is fundamentally different from a typical user-centric web experience, although traditional UX process methods can help.
    Kafka Schema Evolution With Java Spring Boot and Protobuf
    In this blog I will be demonstrating Kafka schema evolution with Java, Spring Boot and Protobuf.  This app is for tutorial purposes, so there will be instances where a refactor could happen. I tried to […]
    Redis Bitmaps: Storing state in small places
    Redis is a popular open source in-memory data store that supports all kinds of abstract data structures. In this post and in an accompanying example Java project, I am going to explore two great use […]
    Let’s build a WordPress & Kernel updated AMI with Packer
    First, let’s start with What is an AMI? An Amazon Machine Image (AMI) is a master image for the creation of virtual servers in an AWS environment. The machine images are like templates that are configured with […]