IOS Developers Looking Ahead to 2018: Tools, Updates, Wishes

Here at Tubik, we are up to our elbows in projects, but wanted to pause for a moment and talk about some of the changes that have occurred in the development field recently. There have been some great updates in the past few months, and we’re hoping for more goodies down the road in 2018!

The Year that Was

We polled our developers about their favorite development tools from the prior year. The clear winners? AppCode and Xcode support for Swift.

Swift gets a makeover

The September 2017 release of the new version of Swift, the programming language for iOS-development, introduced Encodable and Decodable protocols, which enable the conversion of data models to convenient formats for saving. For development and testing, the new ability to perform wireless debugging in Xcode 9 with iOS 11 simplifies the process of setting up apps on devices — no need to use a cable to plug in the device, it works on WiFi! This release also gives the developer the ability to launch several simulators at the same time on different devices, making UI creation faster and simpler. Overall, this version of Swift gets a big thumbs up as the demand for iOS apps continues to hold steady.

iOS 11 has some cool stuff for developers

Speaking of iOS, version 11, also released in September, has a couple of features that make life for app developers a little easier. Top billing goes to a simple but powerful expansion to the screengrab: you can now make screencasts from device screens. The lightweight videos are ideal for development logging tools like Jira that limit file sizes, and the ability to create quick QA visuals is a real winner as it saves time when developers don’t have to bring in a third party app for capture and file transfers. Every minute of time saved in a developer’s day is a win for the client!

We are still AppCode fans

Swift and Xcode are being actively updated and with them the EAP-version (beta-release) of AppCode, which is free to use and includes the latest improvements. Over the last couple of months, we have seen some updates that have made life in the development studio much easier, including the application of DerivedData Xcode which has significantly reduced the time to completion for our projects. The latest AppCode version also has better Swift refactoring support (which was included earlier than in XCode), and it now interprets Swift extension type bounds correctly. It also displays the completion of frameworks such as RxSwift, which is a handy timesaver. These small tweaks add up to some major upgrades to the development process, and we continue to use AppCode for all of our iOS projects.

Xcode has improved

The biggest change in Xcode recently is the introduction of Swift refactoring that allows developers to change titles for variables, classes, etc. on the fly. Fewer code errors (and crashes) combined with shorter development times add up to a big win for Xcode users this year. And our favorite new feature? The ability to customize the layout of the navbar!

Our Wishlist for 2018

For many users, a phone device is the only way they access web content, and we are seeing a shift in focus to mobile app development first, with website development second. Increasing expectations for functional integration, such as social media, in a rapidly changing device and app landscape keep us scrambling to deploy updates on a frequent basis! So our wishlist for the coming year is all about getting things out the door more quickly and reliably.

On the Android front, we anticipate the release of a number of upgrades and new formats from manufacturers, some with edge-to-edge screens, and new security technology. Worldwide, Android still dominates in the phone universe, and our interface designers and developers are going to continue to be challenged to create flexible apps and websites as new devices are released.

As iPhone users continue to outspend Android and Windows users when it comes to in-app purchases, our clients are always looking to stay on top of changes in the iOS world. If rumors hold true, we can expect to see at least:

two or three new iPhone versions this year, with varying screen sizes and display formats

new iPad options

a wide array of other devices such as watches, smart speakers, and an air-charging mat

If there is one lesson we have learned over the years, it is that apps need to adapt to an ever-changing landscape of devices!

We still love Swift

Topping the list of things we hope to see released in 2018 is a basic function that would revolutionize iOS app development: a Swift development environment for Windows and Linux. As Swift is becoming more popular every year, flexible platform options would enable non-iOS developers to write for iOS in Swift with further compilation and updates using a server on a macOS.

It would be great to add a feature to AppCode that would highlight code strings that use outdated syntax, and would update them to the latest Swift version at the click of a button.

And finally, would it be too much to ask that the Swift Package Manager, developed by Apple for macOS and Linux, be integrated into Xcode?! At present, we have to rely on 3rd party libraries such as CocoaPods and Carthage, which were developed by the open-source community. We are keeping our fingers crossed for this one.

Every developer’s dream

A year doesn’t go by that our QA engineers don’t bemoan the lack of an integrated screen simulator which would accurately mimic all types of devices. Currently, digital simulators provide a poor imitation of performance on real devices, necessitating the ongoing purchase of actual hardware for testing. An advanced simulator would make this stage faster and more productive, not to mention cheaper. We’d love to see a new offering in this area in 2018!

Along those same lines, how about a reliable camera simulator? The increasing demand for in-app photo sharing, video conferencing, facial recognition security, and so forth, creates huge headaches during testing (see above). How awesome would it be if the Mac webcam could simulate iOS webcams?