How to Approach Wrappers for 斯威夫特 Properties
A property wrapper is a generic structure that encapsulates read and write access to the property and adds additional behavior to it. We use it if we need to constrain the available property values, add extra logic to the read/write access (like using databases or user defaults), or add some additional methods.
在本文中, Toptal Freelance iOS Developer Alexander Gaidukov demonstrates 斯威夫特 5.1’s new @propertyWrapper annotation—a more elegant solution.
亚历山大Gaidukov
Advanced Concurrency in 斯威夫特 with HoneyBee
Handling concurrency in 斯威夫特 can cause headaches and pyramids of doom. HoneyBee is a futures/promises library that makes concurrent programming easy, expressive, and safe.
Join Toptal 斯威夫特 Developer 亚历克斯·林奇 in exploring the performance and readability advantage of using this library.
亚历克斯·林奇
Rx斯威夫特 and Animations in iOS
iOS developers love the power of UIKit, and animating a UIView is usually fairly easy. 然而, if you want to chain animations together and set up dependencies between them, your code can quickly become difficult to read with many nested closures and indentation levels.
在本文中, I’ll explore how to apply the power of a reactive framework such as Rx斯威夫特 to make that code look much cleaner as well as easier to read and follow. My client wanted a story told through a sequence of animations rather than by playing a pre-rendered video, 以及Rx斯威夫特, we easily tweaked it to perfection.
瓦迪姆Dagman
Working With Static Patterns: A 斯威夫特 MVVM Tutorial
Real-time data-driven apps create new challenges in the way we structure our programs, 尤其是在手机上. 在本文中, Toptal Freelance iOS Developer 卢卡斯·范·东根 implements an iOS chat app, comparing the classic MVC approach with a static immutable MVVM pattern.
卢卡斯·范·东根
Option/Maybe, 要么, and Future Monads in JavaScript, Python, Ruby, 斯威夫特, and Scala
If you’re searching for the holy grail of bug-free code in JavaScript, Python, Ruby, 斯威夫特, Scala和/或, 不要再看了! This monad tutorial by Toptal Freelance Functional Programmer Alexey Karasev takes you from category theory to the practical implementations of the Option/Maybe, 要么, 和未来单子, plus a sample program—in all five languages.
Alexey Karasev
斯威夫特 Tutorial: An Introduction to the MVVM 设计 Pattern
每一个新项目, you have the privilege of deciding how you’ll architect the app and organize the code. But if you don’t pay attention, or you rush through coding, you risk ending up with spaghetti code. 解决方案? 使用合适的设计模式.
在本教程中, Toptal Software Engineer 恐龙Bartoš正义与发展党 explains how to implement an MVVM design pattern on a demo 斯威夫特 application.
恐龙Bartoš正义与发展党
An Introduction to Protocol-oriented Programming in 斯威夫特
Most modern programming languages, in the hopes of enhanced maintainability and reusability of code, offer some constructs that help the developer keep the definition of behavior and its implementation separate.
斯威夫特 takes the idea of interfaces a step further with protocols. With protocols and protocol extensions, 斯威夫特 allows developers to enforce elaborate conformity rules without compromising the expressiveness of the language.
在本文中, Toptal Software Engineer Alexander Gaidukov explores 斯威夫特 protocols and how protocol-oriented programming can improve the maintainability and reusability of your code.
亚历山大Gaidukov
How to Isolate Client-Server Interaction Logic in iOS Applications
Client-server interactions play a vital role in most modern mobile applications. By leveraging available back-end services, these mobile applications can provide some really amazing functionalities. 然而, as mobile applications grow complex, it becomes essential to keep the networking module as clean and maintainable as possible - separated from the rest of the application logic.
在本文中, Toptal freelance software engineer Alexander Gaidukov walks us through the design of a simple networking module that allows your iOS application to interact with RESTful APIs.
亚历山大Gaidukov
The Mistakes Most 斯威夫特 开发人员 Don't Know They're Making
斯威夫特 is the new programming language created to be a modern replacement for Objective-C in iOS and OS X application development. 在一般情况下, a skilled 斯威夫特 developer is usually someone who is already experienced with Objective-C, 这, 除此之外, might lead them to write 斯威夫特 code using Objective-C best practices, which can cause some bad mistakes.
在本文中, Toptal Freelance Software Engineer 尼尔森Souto outlines the most common mistakes 斯威夫特 developers should be aware of.
尼尔森Souto
World-class articles, delivered weekly.