Дослiдження IT ринку 2019 Go to site!
×Закрыть

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 выпуска дайджеста мы решили устроить конкурс 🎉

Мы хотим сделать наш дайджест еще круче, и вы можете в этом поучаствовать. Напишите, что бы вам хотелось изменить или улучшить (наполнение, формат, рубрики, подача и т. д.). Авторы лучших фидбэков и предложений получат лицензию на CleanMyMac X!


← Предыдущий выпуск: iOS дайджест #29
Следующий выпуск: iOS дайджест #31

LinkedIn

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

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

Мені подобається, що зараз «iOS дайджест» містить значно більше посилань, ніж раніше. Але не подобається, що повністю ігноруються мейнстримові теми iOS-розробки. Якщо зайти на Developer.Apple.com, там на першій сторінці доповнена реальність, машинне навчання та голосове управління. В «iOS дайджесті» ці теми навіть не згадуються. В якості збірки випадкових посилань цей проект не виживе, тому що він не витримає конкуренції з iOS Dev Weekly. Але з ними і не потрібно конкурувати, тому що коли мені щось потрібно по роботі, я легко знайду це в Інтернеті. «iOS дайджест» може бути дуже сильним, якщо він допомагатиме зорієнтуватись розробникам, схвильованим своїми професійними перспективами в умовах постійних змін.

Починаючи з iOS-дайджесту #2, Валентина Донченко, яка тоді була редактором ДОУ, запропонувала, щоб випуски були тематичними. Це було вдалим рішенням. Наприклад, якщо вийде «iOS дайджест #31: Machine Learning», то розробнику, який почав проект в ML, буде достатньо відкрити конкретний тематичний дайджест. Коли в дайджесті все перемішано, інформацію простіше знайти в Google.

Мені здається, було би крутим ходом, якби кожен випуск розповідав свою історію. Наприклад «iOS дайджест #32: що ми читали в MacPaw, коли працювали над Gemini Photos». Щоб люди не проходили повз, я би навіть не посоромився додати трохи епатажу: «iOS дайджест #32: що ми курили в MacPaw, коли працювали над Gemini Photos».

Важливий нюанс стосується теми macOS. Коли я придумав назву «iOS дайджест», я розглядав варіанти «iOS/macOS дайджест» та «Objective-C/Swift дайджест». Я зупинився на найбільш простій назві в маркетингових цілях. Але теми macOS, watchOS та tvOS є невід‘ємними складовими «iOS дайджесту». Я впевнений, що команда MacPaw, спеціалізуючись на macOS, могла би зробити цю тему однією з фішок проекту.

До речі, #30 — не ювілейний випуск. Першим був #0 (dou.ua/...​nta/digests/ios-digest-0), таким чином на цей момент є 31 випуск.

Дуже вам дякую, що продовжуєте проект! Буду радий поділитися посиланнями, які стосуються AR та ML.

PS: хештег SWIFT давно час виправити на Swift.

Дима, спасибо за такой детальный ответ)

> Але не подобається, що повністю ігноруються мейнстримові теми iOS-розробки
Тут, наверное, играет мое имхо — 90% статей на мейстрим темы слишком поверхностные и ориентированы на новичков. Мне же хочется чуть больше хардкора или чей-то уникальный опыт)

> запропонувала, щоб випуски були тематичними. Це було вдалим рішенням.
Звучит вроде и интересно, но сколько действительно интересных материалов можно найти за месяц по одной теме? И тут еще два важных момента: 1. Если кому-то эта тема ну вообще неинтересна, тогда придется ждать месяц до следующего дайджеста? 2. Будет ли дайджест актуален через полгода-год? Или все равно придется гуглить потому что там был Vapor 2, а уже вышел Vapor 3 и никто не будет смотреть статьи про старую версию. Я надеялся на большее количество ответов, чтобы можно было понять, что действительно интересно людям)
Мне еще каждый раз кажется, что ссылок слишком много, начинаю убирать, потом уже кажется, что ничего интересного не осталось))

> Мені здається, було би крутим ходом, якби кожен випуск розповідав свою історію.
Насчет истории — это действительно интересно. У нас уже есть определенные планы на этот счет и, возможно, на доу можно будет рассказать чуть-чуть больше

Ждите лицензию на почту😉

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