Comment

Happy Friday!

You've probably grown tired of hearing about the Meltdown and Spectre vulnerabilities by now and you'll have been told a thousand times that any device with a modern processor including ARM-based and Intel CPUs are all vulnerable. All except one... the Apple Watch. 😳

So next time someone tells you you wasted your money on an Apple Watch, you can look them dead in the eye, walk away, and know that at least your wrist is secure. 😏

Oh, and before I forget, we've also added a new section to the newsletter called Up to Speed. More on that below! Enjoy!

Vicc Alexander

News

Realm have been moving towards the goal of a PaaS version of their excellent database product for a while now and with the new year comes a chance for you to try it. There is already a waitlist for beta, but new users will be invited each week. The best part is that it will be 100% free during the beta. Worth a look.

Last week, Jesse Squires' announced that he would be sunsetting the Swift Weekly Brief for good (unless someone was willing to take over). Sadly, it seems another great Swift newsletter has also come to an end. A few days ago, Natasha announced that This Week in Swift would be no more. 😔

So, for those of you wondering if iOS Dev Weekly is next? Rest assured that we're not going anywhere. In fact, we're more excited than ever to try new things as we continue to grow and improve our newsletter.

Tools

Developed by Yonas Kolb, Mint is a package manager that installs and runs Swift command line tools. Although similar to Homebrew, Mint comes with a few added advantages including support for using different versions of a tool side by side and the ability to distribute your own tools without needing recipes or formulas.

If you've been holding off on installing SwiftLint, or any other Swift command line tool, now may be a good time to try it out. 😎

Code

As is sometimes the case with Apple, its documentation on certain topics can be quite misleading. I know I've had this question myself quite a few times and have had a hard time knowing what the correct approach is. Lucky for us, Ole has done a nice job of breaking down the confusion and providing a few advanced tips and tricks. 😎

John Sundell dives into the powerful feature that is first class functions. The ability to simplify code and decrease the number of lines required to do something can be quite useful if done properly. However, too many times I have seen developers attempt to do just this, only to end up over-simplifying their code, resulting in the opposite effect. As John puts it, it's always nice to experiment with new features, but we must also know when to exercise some restraint.

A fully configurable subclass of UICollectionViewLayout that allows the display of slanted cells. You can control the slanting angle, slanting direction exclude the first cell, and much more. The best part is that it's written in Swift 4, and can support both horizontal and vertical layouts. If you're looking to give your app a bit of personality, you might want to give this a look.

Design

Mobile UX design has come a long way since the iPhone was first introduced in 2007. From the detailed leather textures found in the early skeuomorphic days to the flat color craze in 2014. More recently, we've begun seeing a growing interest in custom gesture-based controls and minimal vibrant layouts. There's no doubt in my mind that 2018 will be a huge year for innovative design trends.

Although not iOS-specific, I found Netflix's approach to providing personalized content for different users quite intriguing. A future where an app's interface, content, and user experience is personalized to each and every user is not far off. If anything, I strongly believe that it will become the norm. I'm not simply referring to personalized feeds or content suggestions, but individualized functionality, colors, text sizes, and more. I highly encourage developers to take a page from Netflix's book and find ways to truly create unique and powerful experiences. 😃

Up to Speed

How about something new for 2018? Most of the content in this newsletter is aimed at people with an intermediate knowledge of iOS development but it can potentially seem a little intimidating to someone just getting started. So this occasional section is going to include articles that we come across that are especially good for people trying to learn the ropes. That doesn't mean you won't learn something if you're already there though! We’re excited to hear your feedback on this change to the newsletter.

From time to time I find myself having to iterate over an array of optionals where I need to do something with non-nil values. Although it's pretty straight-forward, Keith Harrison demonstrates several approaches that feel a lot cleaner and in my opinion, should be the standard. Always nice to learn something new. 🤓