These days, I’m living in the great city of San Francisco. I’ve got an iOS development job that I love, and one that I’ve dreamt of having for a long time. Everything seems easy now, but it wasn’t always like this.How it all started
I was born in San Pedro Sula, a small town in the northwest corner of Honduras. I started programming when I was 12 years old. It all began with BASIC. One day, I [...]
Developing iOS games can be an enriching experience in terms of both personal and financial growth. Earlier this year, I deployed a Cocos2D-based game, Bee Race, to the App Store. Its gameplay is simple: an infinite runner in which players (in this case, bees) collect points and avoid obstacles. See here for a demo.
In this tutorial, I’ll explain the process behind developing games for iOS, from Cocos2D through to publishing. For reference, here are a short table-of-contents:Sprites and physical objects A brief introduction to Cocos2D Using Cocos2D with storyboards Gameplay and [...]
Building a great app is not all about looks or functionality, it’s also about how well it performs. Although hardware specifications of mobile devices are improving at a rapid pace, apps that perform poorly, stutter at every screen transition or scrolls like a slideshow can ruin the experience of its user and become a cause of frustration. In this article we will see how to measure performance of an iOS app and tune it for efficiency. For the purpose of this article, we will build a simple app with a long list of images and texts.
For the [...]
These days, modern mobile application development requires a well thought-out plan for keeping user data in sync across various devices. This is a thorny problem with many gotchas and pitfalls, but users expect the feature, and expect it to work well.
For iOS and macOS, Apple provides a robust toolkit, called CloudKit API, which allows developers targeting Apple platforms to solve this synchronization problem.
In this article, I’ll demonstrate how to use CloudKit to keep a user’s data in sync between multiple clients. It’s intended for experienced iOS developers who are already familiar with Apple’s [...]
BY JOSIP PETRIĆ – FREELANCE SOFTWARE ENGINEER @ TOPTAL#Automated #iOS #Testing #UI #Unit #XCode
As a good developer, you do your best to test all the functionality and every possible code path and outcome in the software that you write. But it is extremely rare and unusual to be able to manually test every possible outcome and every possible path a user might take.
As the application gets bigger and more complex, the likelihood that you are going to miss something through manual testing increases significantly.
Automated testing, both of the UI and the back-end service APIs, will make you more confident that everything works as intended [...]
Apple’s launch this past June of Swift, a new programming language for writing iOS apps, created a great deal of buzz and excitement throughout the iOS developer community.
Since its launch, many iOS developers have been struggling with the question of if, how, and when to transition from Objective-C to Swift. The answer to that question will of course be different for every team and every project.
There are a number articles you can read covering many of the advantages of Swift. So instead of rehashing those same points, in this article we’ll instead focus on some of the [...]
BY NERMIN HAJDARBEGOVIC – TECHNICAL EDITOR @ TOPTAL#4G #Freelance #Remote #TravelHardware
Nevermind Game of Thrones, winter is not coming, at least not in the northern hemisphere. It’s summertime, and here at Toptal that usually means many of our freelance developers and designers are either on the road or getting ready to hit the beach.
When I started writing this, some of our people were in Portugal, trying to work out the math behind surfboards. Now it’s my turn, and I’m wrapping up my draft with a nice view of the Adriatic Sea, just a few miles away from the best windsurfing spot in Europe.
Yes, I’m a workaholic, so this might as well be a [...]
Apple’s latest mobile OS is out, and if you’re an iOS developer, here is what you need to know. The changes in iOS 9.x are not just skin deep, although the lack of a thorough redesign may lead the casual observer to conclude it’s not a big update. It’s an evolutionary step, there’s nothing revolutionary about iOS 9.x, but it does sport a few new features.
We already covered 3D Touch, which is coming to refreshed 6S-series iPhones, but that’s only one iOS 9.x feature worth mentioning. The new update also brings a lot of tablet-oriented tweaks, which is understandable considering Apple’s [...]
BY ALEXANDER GAIDUKOV – FREELANCE SOFTWARE ENGINEER @ TOPTAL#API #iOS #REST #Swift
Nowadays most mobile applications rely heavily on client-server interactions. Not only does this mean that can they offload most of their heavy tasks to backend servers, but it also allows these mobile applications to offer all sorts of features and functionality that can only be made available through the Internet.
Backend servers are usually designed to offer their services through RESTful APIs. For simpler applications, we often feel tempted to get by creating spaghetti code; mixing code that invokes the API with rest of the application logic. However as applications [...]
BY ANTONIO BELLO – IOS DEVELOPER @ TOPTAL#iOS #NIBs #ObjectiveC #Storyboards
I often hear iOS developers ask some variant of the same key question:
What’s the best way to develop a UI in iOS: through Storyboards, NIBs, or code?
Answers to this question, explicitly or implicitly, tend to assume that there’s a mutually exclusive choice to be made, one that is often addressed upfront, before development.
I’m of the opinion that the answer instead should take the form of one or more counter questions.What’s the “best” car?
Let me explain with an off-topic example. Say I want to buy a car and I ask you one simple question: “What’s the [...]