Try! Swift is a series of conferences to promote the use of Apple’s Swift development language. The events cover all things Swift for developers, including best practices, application development, and much more.
AIM consultants Puma Thongsithavong and Christian Hansen attended the New York City event this month. While we can’t cover everything from the two days, we’re eager to share our main takeaways from the gathering.
Design patterns: RxSwift Steps Up
In the mobile space, the MVC (Model-View-Controller) and MVVM (Model-View-ViewModel) design patterns are popular, straightforward frameworks used as a way to separate your code and make it cleaner and more readable. RxSwift simplifies this even more by keeping every layer of an application independent of others. With RxSwift, asynchronous operations are simplified and classes are able to communicate via event/data streams, which means classes in an app don’t need to know each other at all. For example, Class A can emit an event on a data stream that Class B is observing on, and react based on the event. This decouples the dependency between Class A and Class B. This is a huge transition in the use of design patterns, and the market is trending more toward signal-based architectures for mobile development. While there’s up-front work to create the app architecture, once it’s in place, adding and testing new features become very maintainable and your apps become more stable.
Augmented Reality is Here
Released this summer, Apple’s Augmented Reality Kit (ARKit) is fairly new to iOS developers. Apple is making it very easy to enable AR in an app. The session clearly demonstrated the different planes that a phone camera can see, and how to place objects on those planes in 3D space. In a live demo, the speaker showed some very basic things like dropping blocks on a floor and changing the floor from carpet to wood. At AIM, we’re looking at business use-case scenarios for enabling AR in apps across all mobile platforms, and we believe we’ll start seeing a big boost in the number of AR-enabled apps in the marketplace very soon.
Accessibility: Making it Easier to Enable in Apps
Accessibility is near and dear to our hearts at AIM — it’s a no-brainer, given the benefits of making mobile apps accessible to everyone. Apple makes it easy for developers to incorporate accessibility in its apps, but unfortunately this is underrepresented in the marketplace. While we have experience in enabling accessibility in iOS apps, we learned some new approaches to enabling this as painlessly as possible.
In the accessibility session, the speaker performed a live demo with a blindfold on. First, he showed what it was like handling an app without accessibility built-in, and the user experience was less than desirable. A user with visual impairment doesn’t know what’s going on with the app or what state the app is in, and can even unintentionally hit a purchase button because it doesn’t have proper accessibility. In an alternate version of the app with an identical user interface, accessibility was addressed. The speaker was able to very easily navigate the app on stage, blindfolded, in front of 250 people. It’s great to see Apple advocating accessibility so strongly.
Creating Richer Push Notifications
Push notifications are messages that appear on mobile devices to get a user’s attention. We believe that push notifications to engage users are underutilized in apps now, and clients should be using them more to re-engage customers and reinvigorate interest in their products and services. One simple but powerful example of an organization’s use of push notifications is the National Football League notifying its app users of team news, player moves and league events during the offseason. Apple is making it very easy to develop richer push notifications, for example, to create a mini view where you can take action on a notification. This can be leveraged in captivating ways to keep customers engaged after a holiday season of sales, for example.
AIM’s View: Swift is Now Enterprise Ready
Following the release of Swift 2.0 in 2015, AIM noted the language’s growing maturity but advised that it was not enterprise-ready at that time. Following the 2016 WWDC, we recommended that while Swift still wasn’t enterprise-ready, some might want to use it for limited applications. However, with Swift’s incremental releases, the full release of Swift 3, and the upcoming release of Swift 4, we believe that Swift is now stable and robust enough to use as the sole language for all Apple-based enterprise mobile apps. We’re seeing an exponential shift to Swift now, with many enterprises moving to 100% Swift for Apple mobile-app development (and we’re even starting to hear Objective-C talked about as a legacy language). We do understand, however, that some enterprises will take longer to move to Swift, and the decision will depend on business goals and what level of maintainability to extend to Swift moving forward.
The rapid rise of Swift in the marketplace has mimicked its name quite well. The Try! Swift conference prominently highlighted the language’s maturity level and proved to us beyond any doubt that Swift is enterprise-ready and here to stay.