iOS.Devs
5.43K subscribers
88 photos
3 videos
1 file
756 links
Всё самое актуальное из мира iOS разработки. По вопросам @suriksarkisyan

При поддержке qonversion.io

Чат: @ios_camp_chat.
Download Telegram
​​⛵️ Интересное в Воскресный вечер

🍭 Задумывались ли вы, почему дизайн в Sketch файле и в вашем iOS приложении часто различаются, если приглядеться? Обычно типографика, градиент и тени не такие, как у дизайнера, хотя все параметры одинаковые.

Автор проводит анализ, показывает разницу и объясняет, почему так.

goo.gl/kvcddE
(Время чтения ~ 4 минуты)
​​🐬 Исчерпывающая статья про клиент-серверный фреймворк Moya. Или про то, как, наконец, перестать использовать Alamofire напрямую.

🕸 Плюсы, минусы использования каждого компонента, подводные камни и подсказки.

goo.gl/s7N8Ry
(Время чтения ~ 10 минут)
🔥 Топ тема

💧 Swift Evolution proposal SE-0195 принесет изменения, близкие к поведению скриптовых языков в Swift 5.

Аттрибут @dynamicMemberLookup позволит брать properties через subscript, когда сам класс этих properties не содержит.

А безопасно ли это? На этот, и другие вопросы, вы найдете ответ в статье ниже.

goo.gl/PXF6AR
(Время чтения ~ 10 минут)
​​🎒 Очевидно, что есть разница в скорости и размере занимаемой памяти среди разных способов сериализации данных. Но что лучше использовать?

Автор следующей статьи сравнил JSON, MessagePack, Plist и KeyedArchiver, подробно расписав сильные стороны каждого. Но решение остается за вами 😉

📈 Тест-код сравнения:
goo.gl/rzbMEH

📉 Статья:
goo.gl/cqBSLM
(Время чтения ~ 5 минут)
🗼Учиться всю жизнь...

🥝 Нашли репозиторий с roadmap'ом для изучения тем в iOS разработке.

После того, как смогли объяснить тему вашему коту, включаете чекбокс в репозитории, который предварительно форкнули. Очень полезно для понимания своего уровня и перспектив дальнейшего роста!

▫️ Сам репозиторий:
goo.gl/Rjhnpd

▫️ Пояснительная статья:
goo.gl/Jzjao2
(Время чтения ~ 2 минуты)
🦂 Доклады с конференции dotSwift.

Самые интересные на наш скромный взгляд:
▫️ Protocols All the Way Down
▫️ Extending the Standard Library
▫️ Supporting Objective-C in a Swift codebase

Приятного просмотра!

goo.gl/pXJX19
(Всего 10 докладов)
🕵️‍ Альфа-Банк ищет iOS UI Engineer. Его особые приметы:
▫️ Обожает создавать качественный UI
▫️ Делает просто нереальные анимации
▫️ Пишет чистый код

Если это вы – поспешите откликнуться
bit.do/ios-ui-engineer
⛳️ Рубрика «Быстрый Взгляд»

Собрали для вас немного интересных фактов и новостей, которые недавно появились.

🍓 Apple выпустила свой кросс-платформенный фреймворк SwiftNIO для event-driven сетевых приложений. Аналог Netty на Swift.
goo.gl/ujtFfp

🍈 Еще 22 февраля Apple разрешила добавлять до 10 скриншотов на страницу вашего приложения в App Store.
goo.gl/L9xmdS

🥑 В Google Summer of Code участвует Swift. С 12 по 27 марта принимают заявки.
goo.gl/jgW295
🦁 А теперь думаем о пользователях

🦑 GDPR (General Data Protection Regulation) — это европейский регламент о персональной информации. Он очень сильно расширит зону ответственности за сбор персональных данных и опишет рамки их использования. Начинает действовать с 25 мая.

🌋 Что интересно, в России об этом не говорят, хотя это очень важно (конечно, если у вас есть пользователи из Европы).
Штраф за нарушение регламента может достигать 20.000.000€ или 4% от денежного оборота компании.

Выделите время, и почитайте про то, как же GDPR повлияет на вас. И главное — на ваших пользователей.

goo.gl/di7gvT
(Время чтения ~ 10 минут)
​​🕊 Пользователи iOS часто замечают визуальные проблемы системы и приложений. Их еще называют Glitches.

☘️ Нашли статью, где автор рассказывает про один из видов Glitch'а — Jank. А также, как стоит с ним бороться не только разработчику, но и дизайнеру.

Статья написана с огромным количеством визуальных примеров этих самых Jank'ов.

goo.gl/n5FzPv
(Время чтения ~ 8 минут)
​​🤽‍♂️ Каждый из нас немного дизайнер

🍡 Нашли статью, где показана разница 7 «Хороших» и «Отличных» анимаций.
Простое сравнение взаимодействий с одинаковыми целями посредством гифок и небольшого количества текста.

goo.gl/4wypPf
(Время чтения ~ 3 минуты)
☄️ WWDC 18 официально анонсирована!

🎂 Пройдет 4-8 июня в Сан-Хосе (как и год назад). Регистрация уже открыта и продлится до 22 марта. Билет стоит традиционные 1599$.

goo.gl/fnLyDk
🐣 Твиттер не телеграм

🌾 Уже почти ежемесечная рубрика про iOS хаки из твиттера. В этот раз сразу за январь и ферваль. В сумме, 23 совета.

Основные темы про Xcode, Swift, UI. Нам понравились следующие:
— Утилита toolxccov для “human-readable” way отчётов.
— Переопределение свойства родителя с помощью computed property, с сохранением доступа к свойству суперкласса.
— Красивая обёртка для инициализации UIEdgeInsets

goo.gl/p7ZgYQ
(Время чтения ~ 8 минут)
😜 Радикальные изменения в Swift, которые были отклонены:

▫️ Отступы вместо { } (Python-Style)
▫️ Переименовывание guard в unless
▫️ Cборищик мусора на замену ARC

Эти и другие изменения, к счастью или нет, были отклонены командой Swift. Рекомендуем ознакомиться с ними, чтобы представлять вектор развития языка.

goo.gl/1adX2Z
🛣 Маршрутизация в приложении

Роутинг до сих пор остаётся краеугольным камнем при проектировании архитектуры проекта. Не помогает даже буква R в слове VIPER.

Подобрали две статьи для детального изучения проблем и вариантов решений.

A Flexible Routing Approach in an iOS App
goo.gl/s62Qa2

URL Routing in iOS apps
goo.gl/ZKKNdg
Network Layer
Одна из важнейших частей в клиент-серверных приложениях. В этом вопросе важно не только правильное проектирование, но и необходимо предоставить удобное верхнееуровнее API.

Если вы не хотите подтягивать сотни зависимостей и решили взять всё в свои руки, статья ниже с полным обзором всех сторон этого вопроса.

medium.com/flawless-app-stories/writing-network-layer-in-swift-protocol-oriented-approach-4fa40ef1f908
Hackintosh vs Mac. Скорость сборки Xcode проекта.

Статья со сравнением скорости сборки нескольких Xcode проектов на разных маках и хакинтоше.

▫️ Objective-C и Swift
▫️ CocoaPods и Carthage
▫️ Новая и старая Build System

habrahabr.ru/post/353200/
🐤 Нововведения Swift 4.1

Ни для кого не секрет, что версия Swift 4.1 вышла на той неделе, но не всегда легко понять все изменения.

Вот тут основные изменения в виде playground:
github.com/twostraws/whats-new-in-swift-4-1

А вот тут описаны изменнения “behind-the scenes”:
medium.com/@slavapestov/behind-the-scenes-improvements-in-swift-4-1-269dd56e30c2
🤖 Автоматизация рутинных процессов является важной составляющей нашей работы. В статье ниже рассказывается про использование Swift для написания Build Phase скриптов.

medium.com/p/94bb54cbeded
🕊 Это с каждым случится однажды, через год или два. Может век....

Уже начинаем заглядывать в будущее и говорить о том, что появится в Swift 4.2.

🌕 Если коротко:
— Новый аттрибут @dynamicMemberLookup, о котором мы уже вспоминали. Он позволит обращаться к properties через subscript.
— Протокол CaseIterable для enum, где можно будет пройтись по allCases. Шах и мат, атеисты!
#warning и #error diagnostic директивы
toggle для Bool. Наконец-то!
— Метод removeAll(where:) для коллекций с high-performance.

hackingwithswift.com/articles/77/whats-new-in-swift-4-2