iOS дайджест #30: контрибьютим в Swift, snapshot тестирование, server-side Swift и розыгрыш

В выпуске: нужны ли алгоритмы разработчику, когда SPM будет доступен на iOS, советы по Swift на каждый день, разбираем UIImage до косточек.

Статьи

One year nomad — a review
Как это жить, когда все твои вещи помещаются в чемодан и рюкзак. Особенно интересна статистика, которую собирает Феликс.

Big O Notation
Знание алгоритмов не нужно для повседневной работы iOS разработчика, но понимание сложности алгоритмов все же будет полезно.

Analyzing Complexity
И сразу пример, чем незнание сложности алгоритмов может быть чревато.

Working for a Company vs. Working for Yourself
Забавное сравнение в картинках работы на компанию и на себя.

iOS HEIC Performance
В iOS 11 появился новый формат для фотографий, который должен занимать меньше места. Но так ли он хорош и подходит ли для всех задач?

Docker ❤️ Swift & Vapor
Backend разработчики уже не представляют свою жизнь без Docker. А для iOS разработчиков, которые только начали разбираться с веб-фреймворками, это может показаться достаточно сложным. Разбираемся, что это, зачем и как поднять свой первый сервер в Docker.

What do you dislike about React Native?
React Native сообщество собирает факты: что не нравится разработчикам при работе с фреймворком. По-моему, это очень взрослая позиция.

Analysis of the Nest app for iOS
Размер iOS приложений растет с каждым годом. Смотрим, что же занимает место в бандле на примере приложения Nest.

Bundles and Packages
Bundles and Packages — в чем же разница.

Tap to Dismiss
Казалось бы, что может быть проще, как правильно задизайнить крестик закрытия экрана.

Why is the Swift Package Manager taking so long?
Прошло три года с момента, когда Swift Package Manager стал опенсорсным, но он до сих пор недоступен для iOS приложения. Почему же?

How to Optimize Charts For Color Blind Readers Using Color Blind Friendly Palettes
Тема немного не про iOS, но от этого не менее полезная и интересная. Как оптимизировать цвета в приложении, чтобы их могли использовать люди с ограниченным зрением.

Swift

Server-side Swift: Making Canopy
6 частей о том, как ребята делали бекенд на Swift.

How Never Works Internally in Swift
Немного хардкора — как устроен типа Never, который используется в fatalError.

Daily Tips from Swift World
Десятки примеров, хаков и просто удобных штук на Swift.

Contributing to the Swift Benchmark Suite
С того момента, как Swift стал опенсорсным, любой человек может как-то дополнить его или исправить баг. Патрик рассказывает, как погрузиться во внутренности Swift и создать свой PR.

Mock-free unit tests in Swift
Джон предлагает вместо моков использовать реальные объекты просто с фейковыми данными. Ну не знаю, я все-таки фанат black box тестирования.

Using errors as control flow in Swift
А вот использование exception вместо nil действительно будет намного информативнее в ряде случаев.

Код

SnapshotTesting 1.0: Delightful Swift snapshot testing
Point Free продолжают делиться кодом. На это раз библиотека для снепшот-тестов. Выглядит очень интересно, но с некоторыми NSViewController с ходу не получилось заставить работать.

Integration Testing for Memory Leaks
SoundCloud использует интеграционные тесты для того, чтобы отловить часть утечек памяти.

Optimizing Images
Любопытная статья про то, почему изображения занимают столько места, сколько они занимают, про downscaling и downsampling.

Using launch arguments/environment variables to simulate in-app purchase purchased and etc
Используем аргументы запуска вместо условий. Люблю такие штуки, потому что они вроде и очевидные, но часто забываешь про них.

ISO-8601, YYYY, yyyy, and why your year may be wrong
Работа со временем и особенно часовыми поясами. Вы знаете разницу между YYYY и yyyy? Я вот не знал, и это может вылезти боком.

Библиотеки

Sherlock for iOS — Give your iOS Simulator superpowers
Пришел убийца Reveal. Пока бета — можно пользоваться бесплатно.

Komondor
Orta продолжает фигачить утилиты для разработчиков. Теперь Git Hook можно писать еще проще и на Swift.

iSimulator
Плюс одно приложение для управления iOS симуляторами. А если не хочется ставить еще одно приложение, то с помощью CleanMyMac X можно удалить Derived Data, iOS DeviceSupport, архивы, а также мы недавно добавили удаление ненужных симуляторов.

DynamicJSON
В Swift 4.2 расширили рантайм, благодаря чему работа с JSON станет еще проще с помощью подобных библиотек.

Connectivity
В прошлом выпуске мы читали про особенности работы Reachability, а теперь появились ребята, которые грозятся побороть те проблемы.

Swift Studio
Надоел Xcode? Тогда подписывайся и жди выход на Swift Studio.

SPPermission
Проект достоин звездочки как минимум за то, как оформлен репозиторий.

SPStorkController
Красивая библиотека для показа модальных окон в стиле Apple Music.

Посмотреть

Swift Heroes 2018

iOS митап роботов

MobileWarsaw

CocoaHeads Belarus

Functional Swift

Functional Swift Conference 2018

/dev/world/2018

CocoaHeads Stockholm

Конкурс

В честь юбилейного 30 выпуска дайджеста мы решили устроить конкурс

Похожие статьи:
Європейська Бізнес Асоціація звернулася до Верховної Ради із закликом не квапитися із прийняттям законопроєкту про мобілізацію,...
Компания Microsoft с сегодняшнего дня начинает официальные продажи гаджета Microsoft Band 2, который является прямым продолжением устройства,...
Оператор мобильной связи «Билайн» объявил об открытии сезона акционных предложений по супервыгодным ценам, приуроченного к...
Пройдя данный курс, вы сможете: 1. Получить знания и навыки, необходимые для работы младшим программистом C#.NET (Junior C#.NET developer)2....
Одна з найбільших ІТ-компаній в Україні SoftServe запускає GenAI Lab — лабораторію генеративного штучного інтелекту. Це буде...
Яндекс.Метрика