Native development doesn't just mean a faster app, it means faster results.

A large portion of my work in recent years has consisted of creating native iOS apps. I focus on creating the best possible user experience on a platform I am intimately familiar with, with emphasis on lightness, platform standards, and speed of delivery. I have delivered more than 20 high-quality apps in the past six years, 8 of which have topped the iTunes charts.

Lead with iOS

Especially if you're planning a multi-platform app launch. There are great business reasons for this, backed by solid technical facts:

Maximum users in one go

User engagement dwarfs other platforms (at least for the time being.) This means that the majority of the customer usage you want to capture will be on iOS (as most website logs can attest to - and the difference grows drastically when you look at apps). Engagement can be further increased by things that iOS makes easy to implement, like iMessage apps, intelligent (but mindful) push messaging, integration with iCloud and social services, and so forth.

Time-to-market

Native development on iOS is significantly faster than on any other mobile platform. In my experience 2x to 4x the speed of reaching 1.0 versus any other platform (including so-called "hybrid" multi-platform approaches.) This is because iOS was created from the ground up with apps in mind, based on macOS and stretching back to its NeXT legacy in the 1980s. The stability and maturity of the operating system and tools, combined with lack of long backward-compatibility constraints (and device variations), all add up to easily, quickly and economically creating high quality user experiences.

Leverage infrastructure built for design and performance

This saving in delivery time and effort allows freeing internal resources for building a solid foundation: Well thought-out APIs and architecture designed to support your app with the least amount of tech-debt. Building a solid technological foundation is one of the most critical and long-term beneficial steps that end up becoming a key differentiator as businesses mature. Having to worry less about making a client app and more about creating solid service-side foundations pays off hugely as your business matures.

In short, a native iOS app means you quickly get a functional, beautiful, future-proof and very marketable MVP ready for distribution, which can then also double as a clear working prototype for other platforms you may be targeting (Android most notably) hence speeding up that work as well.

Building

For the majority of cases, my approach involves taking time to understand what a client is trying to achieve with a product, then actively engaging with design and back-end specialists to create artwork and APIs required for the final product. I rely heavily on Apple platform guidelines, and encourage design that follows the platform's best practises.

I develop using only native technologies, and rely on as few external toolkits as possible, for the simple reason that not only it results in the leanest, fastest, stable, and most responsive products possible, but it's much faster to build and deliver products this way. I take pride in both the responsiveness of my apps, but also in the timeframes in which I can deliver them without shortcuts or compromises.

User Experience

Platform apps

In some cases clients chose the lightning-fast path of "platform" apps. A platform app is created by skipping the screen-design step and relying on iOS design patterns to dictate the user experience. This is usually done in cases where intense branding or differentiation of the user experience is of limited benefit. Health-related and backoffice-related apps can fall into this category for their 1.0 release. This approach can mean creating and publishing their MVPs on iOS in less time than it would take to even mock-up a UI in the first place - while engaging design resources only as required for specific icons and branding.

Examples: Gladys, Trailer, Healios, XE, Fweebi, Sport.gr/Agronews/Thema

Themed apps

This is the approach taken for the majority of customer-facing apps. Apps that follow the platform's best practises, feel and work in the way recommended by the platform but are themed and differentiated from all the other apps by applying design strongly in the areas where the platform affords it.

Examples: Peanut, Deliveroo, Deliveroo RiderAdzuna, e-Food, iMoney, SoBy, CheapIs

Bespoke apps

On the opposite extreme, I have worked with clients who have demanded pixel-accurate, totally bespoke, yet accessible user interfaces. In both cases, I have worked closely with both in-house and freelance designers, strongly advocating for simplicity and focus, and always approaching the interface from the user's perspective.

Examples: HouseTripHouseTrip-For-HostsNetrobePlaisio

Integrating

Legacy: Some projects require that mobile apps leverage existing, legacy, hard-to-adapt APIs, which involve significant post-processing on the side of the app itself, including things like offline modes, opportunistic syncing and giant interconnected datasets.

From scratch: On the opposite end, I have designed and specified extensible APIs from scratch, specifically for the use of mobile apps which clients wanted to create, always keeping in mind the harsh limitations and delays imposed by mobile data connections.