AppCoda Weekly - Issue #20

Welcome to the 20th issue of AppCoda Weekly! Time flies. I couldn't imagine that we have already deli
AppCoda Weekly - Issue #20
By AppCoda • Issue #20
Welcome to the 20th issue of AppCoda Weekly! Time flies. I couldn’t imagine that we have already delivered 20 newsletters to you. Hope you enjoy it so far. 
While, as a Swift developer, I would like to use Swift to develop Android apps, Google has officially made Kotlin as the new programming language for Android development. I haven’t checked it out yet. But if you are interested in Kotlin, please do let us know by replying this email. We are thinking whether we should write some tutorials on the language and Android development. 
Lastly, please enjoy all the links we collected for you. If you do not have time to read them all, just pick the one that interests you the most. You can still learn a lot from it.
Cheers,
Simon
Founder of AppCoda

Tutorials
Using Lazy Properties in Swift
Do you know how to use lazy properties? Let us take a look at a few ways to define lazy properties in Swift, and how different techniques are useful in different situations.
Moving Core Data Files
Are you using Core Data with an SQLite database and you need to move the location of the store or replace the contents? Avoid the use of direct file operations and use the persistent store coordinator instead to do the job for you.
Protocols and MVVM in Swift to Avoid Repetition
A nice post on how to avoid the Massive View Controller syndrome and have as little repetitive code as possible.
Macaw iOS Library: Morphing Animations
Macaw is an open source library which makes vector graphics drawing and animation easy and enjoyable.
Improving our iOS Share Extension Installation Guide
Installing extensions on an iOS device isn’t so easy for the end user. This post shows how several iterations of guides had to be followed to walk users through the process of adding the Buffer button to their list of extensions within UIActivityViewController.
A Simple Undo/Redo Implementation in Swift
NSUndoManager is a powerful API, but it is geared towards Objective-C code and relies on runtime features. This post demonstrates a simpler alternative that is better suitable for idiomatic Swift code.
Adding Continuous Integration to a Swift project
Let us take a look at how we can use Continuous Integration (CI) to establish a smooth and nice work flow for the team working on a Swift project.
App Security in Swift
Keeping your user data safe and private is not the simplest of tasks. Yet there are a simple set of tools and concepts that can go a long way with minimal effort. Read this post to know more!
Unit Testing Nibs in Swift
This is a short tutorial to show how to apply TDD principles to setting up nibs in your iOS projects, hopefully this will give you a better understanding of nibs and TDD practices in general.
Ads / Sponsored
Beginning iOS 10 Programming with Swift 3
Get ready for Swift 4 and iOS 11. All our books come with 1-year free update. That means you will receive a free book update this fall if you purchase the book now.
Intermediate iOS 10 Programming with Swift | Learn by Doing
It’s not just about the theory or syntax of Swift. This intermediate book (over 600 pages) will help you learn the new APIs introduced in iOS 8/9/10 in a practical way. It is regularly updated. The book is now updated for Xcode 8.3 and Swift 3.1.
UI/UX
I Got Rejected by Apple Music… So I Redesigned It
The author shares his experience of how he initially got rejected for a graphic design internship at Apple Music and consequently got inspired to offer potential solutions to address some of Apple Music’s problems, as well as ideas for future development.
$0 Design Tools to Help You Create Your Next Project
Creating a well-designed site, product, or project usually isn’t cheap. You know you want to make something that looks good–but how do you do it if you’re working with a limited budget?
The Types of Design Research Every Designer Should Know NOW
Why is design research so important? Design research allows us to understand a user’s needs, requirements and goals and allows us to make decisions which results in creation of products that are relevant, accessible and applicable for users.
Libraries
GitHub - SpreadsheetView
Fully configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel.
github.com  •  Share
GitHub - TLPhotoPicker
TLPhotoPicker enables application to pick images and videos from multiple smart album in iOS, similar to the current facebook app.
This is the simple circle countdown with a configurable timer for iOS.
github.com  •  Share
News
Google makes Kotlin a first-class language for writing Android apps  |  TechCrunch
We dreamed to use Swift as the official language for Android development. But Google prefers Kotlin. Google announced that it is making Kotlin, a statically typed programming language for the Java Virtual Machine, a first-class language for writing..
Apple’s New Campus: An Exclusive Look Inside the Mothership | WIRED
Flawless curves, milled aluminum, endless glass, walled garden—sounds like an Apple product. In fact, it’s the company’s biggest launch ever.
Did you enjoy this issue?
AppCoda
By AppCoda
Must-read Swift & iOS programming articles for your weekend. Deliver every Friday!
Carefully curated by AppCoda with Revue. If you were forwarded this newsletter and you like it, you can subscribe here. If you don't want these updates anymore, please unsubscribe here.