×Закрыть

iOS дайджест #34: что не так с собеседованиями, продолжаем изучать SwiftUI, видео с NSSpain

В выпуске: 100 дней изучения SwiftUI, iOS best practices, Data Science на Swift, пишем свой движок для регулярных выражений.

Статьи

iOS 13
Вышла iOS 13, многие выпустили обновления, все уже обсудили SwiftUI, темную тему и другие хайповые фишки. Но ведь для разработчиков добавили еще множество вещей, про которые забыли, — превью для URL, распознавание речи, сокеты на основе URLSession.

Supporting Low Data Mode in your app
Более детально про еще одну не самую популярную фичу iOS 13 — как использовать меньше данных при работе с сетью.

Из Ханчжоу в Лондон: что не так с собеседованиями?
Автор делится своими наблюдениями после прохождения собеседований в большие и маленькие компании: «Прохождение интервью и вообще поиск работы — навык. Это навык тренируется и теряется».

What is Module Stability in Swift and why should you care?
Если вы видели ошибку, что Swift 5.0.1 не может работать с Swift 5.0, то вот отличное объяснение.

Type-safe User Defaults
Необычный подход как сделать типизированный User Defaults.

Implementing End-to-End encryption in Bear App
Если за безопасность берутся Cossack Labs, тогда это будет максимально качественно. Ребята помогали приложению Bear сделать сквозное шифрование.

Mocking Network Calls Using URLProtocol
Какой дайджест без упоминания тестов. Когда начинаешь писать тесты, возникает вопрос: «А как же протестировать работу с сетью?» Если не хочется использовать библиотеки, то достаточно просто это можно сделать с помощью URLProtocol.

A Repository Full of Our Best Practices in iOS Development
Я каждый раз радуюсь, когда компании делятся тем, как они пишут приложения. Особенно, когда это так детально.

Implementing Dark Mode in iOS 13
Instagram делится опытом, как они добавляли поддержу темной темы.

Hardcode

objc_msgSend’s New Prototype
В последних iOS и macOS Apple изменили заголовок функции objc_msgSend, но зачем?

Let’s Build a Regex Engine
Почему бы не взять и написать свой движок для регулярных выражений. Об этом серия из пяти статей.

Unexpected compilation
Триллер о том, почему компилировался код, который не должен был бы.

A Comprehensive Guide to Learn Swift from Scratch for Data Science
Использование Swift выходит за рамки iOS и macOS. И вот уже полноценный гайд, как использовать его для Data Science.

Swift Dependency Injection via Property Wrapper
Чувак немного упоролся и сделал DI на property wrappers.

SwiftUI

100 Days of SwiftUI
Не знаешь, с чего начать изучение SwiftUI? Марафон на 100 дней именно для тебя.

SwiftUI Layout System
В SwiftUI нет Auto Layout, с которым уже все знакомы, поэтому надо изучать новую систему.

SwiftUI Accessibility — Accessible User Interface
Не забывает и про accessibility.

Localization in SwiftUI
И про локализацию.

The Scene Delegate In Xcode 11 And iOS 13
Если создать новый проект в Xcode 11, то он автоматически создает файл SceneDelegate. Что это, зачем это и в чем отличие от AppDelegate.

Alignment Guides in SwiftUI
Выравнивание часто недооценивают, хотя они могут быть очень полезны, о чем и лонгрид.

Advanced SwiftUI Transitions
И от этого же автора статья про анимации и транзишены.

SwiftUI Tutorial for Slider Control
Туториал, как сделать красивый, но не самый практичный слайдер. Может быть полезно для создания других элементов.

Replicating the Apple Card Application using SwiftUI
Apple Card будет доступна в Украине еще не скоро, но а пока можно сделать интерфейс с помощью SwiftUI.

Third party

Yaap
Парсер аргументов на основе property wrapper.

BuildSettingExtractor
Вот ты решил наконец-то переехать с конфига в xcodeproj на конфиг xcconfig и не хочется переносить все настройки, тогда эта библиотека как раз для тебя.

xcdiff
В продолжение xcodeproj — библиотека для дифов между xcodeproj.

Impact
Еще одна нишевая, но тем не менее интересная библиотека для сбора крешей от разработчика из Crashlytics.

Video

NSSpain

Advanced Swift L1 — Memory Layout & Pointers


← Предыдущий выпуск: iOS дайджест #33

LinkedIn

4 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо!
Раз упомянуты утилиты для работы с Xcode проектами, то можете ещё взглянуть на наш линтер проектов.
github.com/...​icanexpress/xcprojectlint
Одним из нарушений, как раз, можно сделать наличие конфигураций в xcodeproj, вместо xcconfig.

Ещё недавно я написал линтер, который сравнивает два таргета в одном проекте на предмет различий в списках source файлов, фреймворков и ресурсов. И кидает ошибку сборки, если есть различия. Мы это используем для синхронизации таргетов основного и бета приложения. Постараюсь опенсорснуть под аккаунтом компании в ближайшее время.

А шо таке оце «лінтєр»?

По сути, статический анализатор.
en.m.wikipedia.org/wiki/Lint_(software

Дякую. Не дуже поважаю брудну мову та сленг.

Подписаться на комментарии