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

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

Чат: @ios_camp_chat.
Download Telegram
Swift становится всё более высокоуровневым языком. Вот и попытка решить за разработчика ряд известных проблем при работе с много-поточностью привела к появлению нового типа в Swift 5.5 – Actors.

Акторы – это математическая модель, здесь ничего нового. Если вы не знакомы с понятием, можете представлять каждый актор как остров, который общается с материком посредством лодок. Вся логика взаимодействия актора с миром содержится в самой модели.

Если говорить уже знакомыми терминами, то актор в Swift, это фактически DispatchQueue, state, а также механизм управления этим состоянием. Иными словами, всё то, что раньше делали вручную, язык берёт на себя.

Это действительно отличный инструмент, который вместе с async/await был рекомендован для внедрения аж 29 июля 2016 года. Спустя 5 лет разработчики дождались. Вооружайтесь, но помните – с любой силой приходит и ответственность 😉


Материалы для изучения:
https://developer.apple.com/videos/play/wwdc2021/10133/
https://betterprogramming.pub/a-deep-dive-into-actors-in-swift-5-5-8cc2fa004ded
📦 Swift Collections & Swift Algorithms

Apple представила два новых пакета, которые расширяют набор структур данных и алгоритмов в Swift.

Сессия WWDC 2021
https://developer.apple.com/videos/play/wwdc2021/10256/

Swift Collections добавляет три структуры данных (кратко опишем преимущества):
- Deque — коллекция, которая позволяет эффективно добавлять и удалять начальные элементы, при этом эффективность добавления и удаления элементов с конца сопоставима с Array;
- OrderedSet — Set, который сохраняет порядок, в котором элементы были добавлены;
- OrderedDictionary — Dictionary, который сохраняет порядок, в котором элементы были добавлены.

Подробнее: https://swift.org/blog/swift-collections/
Репозиторий: https://github.com/apple/swift-collections

Swift Algorithms добавляет дополнительные эффективные методы для последовательностей и коллекций:
- генерация сочетаний;
- генерация перестановок;
- генерация всех пар двух последовательностей;
- разбиение последовательности на подпоследовательности по переданному условию;
- объединение последовательностей с одинаковым типом данных;
- итерация последовательности заданное количество раз;
- удаление повторяющихся элементов из последовательности;
- случайная выборка элементов k элементов из последовательности;
- разбиение последовательностей;
- поворот последовательности.

Подробнее: https://swift.org/blog/swift-algorithms/
Репозиторий: https://github.com/apple/swift-algorithms
📖 Apple DocC

DocC — инструмент для создания документации, представленный Apple на WWDC 2021.

DocC позволяет создавать документацию из MarkDown комментариев для QuickHelp, Developer Documentation и экспортировать её как сайт. Теперь MarkDown в Xcode поддерживает ссылки на другие свойства и методы, а сгенерированная документация позволяет по ним перемещаться.

Пока DocC поддерживает только фреймворки и пакеты, при этом он создает документацию только для public части.

DocC — это не просто аналог Jazzy, кроме создания обычного справочника, в DocC появилась возможность добавлять статьи и туториалы.

Подборка сессий WWDC 2021 про DocC:
Elevate your DocC documentation in Xcode
Build interactive tutorials using DocC
Host and automate your DocC documentation

Также Paul Hudson одним из первых написал статью про DocC.
#промо

Хотите создавать приложения для Apple, даже если раньше никогда не программировали?
Начните с изучения Swift — языка программирования для разработчиков iOS и macOS.

Прямо сейчас запишитесь на бесплатный интенсив GeekBrains «Swift для начинающих».

За два часа вы:
- узнаете особенности и преимущества Swift;
- научитесь использовать базовые конструкции Swift;
- создадите простое iOS-приложение.

Участие бесплатное, регистрация по ссылке.
📲 Нововведения в iOS 15 для разработчиков и дизайнеров

Основные из них:
- новый способ делиться геополицией;
- появились приоритеты уведомлений;
- новый встроенный controller — UISheetPresentationController;
- новые способы раскраски иконок SF Symbols 3;
- UIToolbar и UITabBar теперь не отображают фон при прокрутке страницы вниз;
- возвращение колеса прокрутки в UIDatePicker;
- новые стили для UIButton;
- унификация системных цветов.

https://ux.pub/ios-15-chto-novogo-dlya-produktovyh-dizaynerov-i-razrabotchikov/
⚙️ Что нового в SwiftUI 3

Новые возможности:
— Новые вью - Canvas и TimelineView
— Асинхронные задачи и AsyncImage для загрузки изображений по URL
— Враппер @FocusState для управления фокусом вью

Расширения:
— В списке появился свайп, поддержка Pull-to-Refresh и поиска
— Text вью теперь поддерживает markdown
— Появился \.dismiss в @Environment
— Добавили badges для TabView и Text в List
— Теперь можно стилизовать сепараторы
— 4 новых стиля для Toggle
— К Color добавили .mint, .teal, .cyan, .indigo, .brown
— Новый эффект размытия заднего фона с помощью материалов

Статьи для изучения:
https://swiftwithmajid.com/2021/06/08/what-is-new-in-swiftui-after-wwdc21/
https://www.fivestars.blog/articles/swiftui-wwdc21/
https://www.hackingwithswift.com/articles/235/whats-new-in-swiftui-for-ios-15

Сессия WWDC 2021:
https://developer.apple.com/videos/play/wwdc2021/10018/
📱Приглашаем на One Day Offer для iOS разработчиков от Tinkoff

Вы — в течение одного дня общаетесь с командой Тинькофф.
Мы — даем оффер в конце дня, если общение проходит хорошо.

В какую команду
Набираем разработчиков в мобильный банк — делать приложение Тинькофф для 10 миллионов клиентов каждый месяц. Сейчас над приложением работают 5 технических и 25 кросс-функциональных команд, поэтому вы сможете выбрать интересное вам направление.

Кого ждем
У нас сильная команда, и мы ищем таких же коллег: с хорошим знанием языка, платформы, умением писать качественный код и опытом от двух лет.

📨 Отправляйте заявку на участие в Тинькофф One Day Offer. В течение трех дней мы дадим обратную связь, а за два дня до мероприятия пришлем всю информацию об интервью.
Async await в примерах

Новая статья от Antoine с примерами использования async/await, разбором концепции и сравнением с concurrency подходом.

https://www.avanderlee.com/swift/async-await/
Возможность управлять фокусом TextField и других элементов в SwiftUI появилась аж в третей версии, спустя два года после запуска.
Иными словами, если вы хотите сделать форму ввода и автоматически передать фокус (first responder) элементу – изощряйтесь, think different, придумывайте велосипеды, тащите UITextField или используйте версию таргета iOS 15 (она не в проде ещё).

Топик WWDC
Direct and reflect focus in SwiftUI

Обсуждение на форуме Apple, где разработчики делятся своим разочарованием
https://developer.apple.com/forums/thread/650112

Как мне сказали, Flutter имел эту возможность сразу в первой версии. Не проверял, но звучит логично. Почему Apple мог забить на такой важный функционал?
Замечательная система логирования для Apple на SwiftUI. Записывает события URLSession, позволяет искать по ним, делиться, даже разбивку HTTP запроса на компоненты предоставляет.

⭐️ Stars: 3.3k

https://github.com/kean/Pulse
Привет!
Команда Cameos ищет крутого iOS разработчика в лондонский офис Snapchat. Cameos полностью генерируются на клиенте, поэтому Вас ожидают сложные, классные задачи, связанные с перфомансов и работой с ML. Полагаются все плюшки работы в большой компании, при этом еще сохраняется дух стартапа внутри (компания AI Factory была недавно куплена Snap). Через год возможен relocation в Лос-Анджелес 😎🌴
Желающие попробовать свои силы пишите @grtkachenko
Довольно интересный инструмент для работы с CoreData на Swift. Декларативная, удобная и безопасная апишка. Очень много фич, в том числе такие как поддержка API SwiftUI и Combine, отказ от файлов xcdatamodeld, упрощённая система миграции. В пэт-проджекте однозначно стоит поиграться

⭐️ Stars: 3k
👩‍💻 Contributors: 29

https://github.com/JohnEstropia/CoreStore

UPD от @oknesta: И есть слак канал, где активно отвечают на вопросы:
http://swift-corestore-slack.herokuapp.com
Приглашаем iOS- и Android-разработчиков присоединиться к мобильной команде Kaspersky по программе Mobile Easy Offer.

Какие условия?

Если коротко — ты сможешь сам выбрать, как работать: в офисе, на удаленке или в гибридном формате, — будешь решать масштабные задачи вместе с командой лучших экспертов, работать над проектами в разных направлениях (B2B- и B2C-продукты, технологические решения и др). А еще у нас предусмотрены: программа релокации; премии; страхование сотрудников и их детей; 2 спортзала, сауна, массажист и врач прямо в офисе, и многое другое.

Если хочешь узнать подробнее, то переходи по ссылке.

Кого мы приглашаем?

- iOS-разработчиков со знанием Swift / ObjectiveC
- Android-разработчиков со знанием Java / Kotlin

Что нужно делать?

- До 12 августа подай заявку и пройди небольшое тестирование.
- 14 августа приходи на онлайн-знакомство и собеседование с командой, и 15 августа получи оффер.

Подать заявку: https://kas.pr/n825
Классный вводный туториал для The Composable Architecture.

https://medium.com/@atimca/the-composable-architecture-tutorial-d220fd25cab3
Обсудить архитектуры, задать вопрос, поделиться мнением можно в чате канала.

@ios_camp_chat
Какой менеджер зависимостей используете?
Anonymous Poll
38%
SPM
76%
CocoaPods
8%
Carthage
2%
Другое
Как подготовиться к iOS собеседованию

Хорошая статья, затрагивающая все аспекты поиска работы, в том числе самоанализ на тему, что вам этот поиск вообще нужен.

https://habr.com/ru/company/indriver/blog/575572/