А раз уж мы начали день с асинхронщины, то вот еще новая статья от Санделла про то, как подружить кодовую базу на Combine с кодом на async/await.
https://www.swiftbysundell.com/articles/creating-combine-compatible-versions-of-async-await-apis
https://www.swiftbysundell.com/articles/creating-combine-compatible-versions-of-async-await-apis
Swift by Sundell
Creating Combine-compatible versions of async/await-based APIs | Swift by Sundell
Creating convenience APIs that make it possible to convert async/await-based functions into Combine publishers.
👍6
Обещаю, это последняя ссылка про async/await. В докладе обсуждается реализация async/await в Swift, а также сравнивают подходы, принятые в С++ и Rust.
https://www.youtube.com/watch?v=H_K-us4-K7s
https://www.youtube.com/watch?v=H_K-us4-K7s
YouTube
2021 LLVM Dev Mtg “Asynchronous Functions in Swift”
2021 LLVM Developers' Meeting
https://llvm.org/devmtg/2021-11/
—
Asynchronous Functions in Swift - John McCall, Arnold Schwaighofer
Slides: https://llvm.org/devmtg/2021-11/slides/2021-AsyncFunctionsInSwift.pdf
—
async/await is an increasingly common language…
https://llvm.org/devmtg/2021-11/
—
Asynchronous Functions in Swift - John McCall, Arnold Schwaighofer
Slides: https://llvm.org/devmtg/2021-11/slides/2021-AsyncFunctionsInSwift.pdf
—
async/await is an increasingly common language…
👍16
Что ждет Swift на сервере в 2022 году и как последние изменения в экосистеме на него повлияют.
https://theswiftdev.com/the-future-of-server-side-swift/
https://theswiftdev.com/the-future-of-server-side-swift/
Theswiftdev
The future of server side Swift - The.Swift.Dev.
What's going to happen with Swift on the Server in 2022? Distributed actors, Vapor 5, some predictions and wishes.
🎉3👍2
Какой язык вы бы выбрали, если бы вам надо было написать несложный бэкенд для своего приложения? База, немного бизнес-логики и REST API.
Anonymous Poll
33%
Python
21%
Go
7%
Java
33%
Swift
8%
Kotlin
6%
PHP
15%
JavaScript/TypeScript
9%
Другой
👍4😁1
Старт новой серии статей про использование CryptoKit. В первой из них разбирается, как работает криптография с открытым ключом.
https://tanaschita.com/20220105-public-key-cryptography-with-cryptokit/
https://tanaschita.com/20220105-public-key-cryptography-with-cryptokit/
Tanaschita
Public-key cryptography with CryptoKit for iOS
Learn how to implement public-key cryptography in iOS using CryptoKit. This guide covers encryption, digital signatures, and secure key exchange to protect sensitive data in our Swift apps.
👍12
Вы из тех, кто считает, что знание алгоритмов нужно только для собеседований на вайтбордах? Может быть, это короткое видео вас переубедит.
https://www.youtube.com/watch?v=ymCXsPwg8G8
https://www.youtube.com/watch?v=ymCXsPwg8G8
YouTube
Computer Science in the Real World: Building a Better Blur
I don't think sorting algorithms are the best introduction to Computer Science. So let's talk through a real world example of speeding up a blurring algorithm. We touch on time complexity ("Big O") and what a quadratic algorithm looks like.
Accidentally…
Accidentally…
🔥16👍9💩4😁2
Команда мобильной разработки Slack поделилась историей масштабного рефакторинга своих мобильных приложений, получившего название «Дупло». По ссылке – первая часть цикла, в которой команда рассказывает про историю развития их архитектуры, цели рефакторинга и выбранные метрики. Если вы тоже работаете над проектом с огромной легаси кодовой базой, обязательно прочитайте!
https://slack.engineering/stabilize-modularize-modernize-scaling-slacks-mobile-codebases/
https://slack.engineering/stabilize-modularize-modernize-scaling-slacks-mobile-codebases/
Engineering at Slack
Stabilize, Modularize, Modernize: Scaling Slack’s Mobile Codebases - Engineering at Slack
When do you need to overhaul a large code base to address tech debt? What is the best way to address widespread inconsistencies and outdated patterns? How can you make significant architectural improvements to a complex application while still continuing…
🔥13👍3
Как и почему добавление SFSymbols в проект влияет на время билда.
https://hacknicity.medium.com/xcode-build-times-with-custom-sf-symbols-58ebdd92bc43
https://hacknicity.medium.com/xcode-build-times-with-custom-sf-symbols-58ebdd92bc43
Medium
Xcode Build Times with Custom SF Symbols
Introduction
👍3
Подробное исследование того, как
https://www.emergetools.com/blog/posts/SwiftProtocolConformance
as?
чеки на реализацию протокола замедляют как время старта приложения, так и производительность в рантайме.https://www.emergetools.com/blog/posts/SwiftProtocolConformance
Emergetools
Emerge Tools Blog | The Surprising Cost of Protocol Conformances in Swift
A deep dive into the Swift runtime to see how protocol conformance checks slow down post-main startup time as your binary size increases.
👍22
Я хочу активно развивать канал дальше, но для этого мне хочется узнать побольше про вас. Я подготовил небольшой опрос, который поможет мне разобраться, кто сейчас читает канал, и как сделать его лучше. А чтобы мотивировать вас ответить на мои вопросы, я разыграю между всеми, кто его прошел, две проходки на ближайшую конференцию Podlodka iOS Crew, и одну подписку на Pointfree!
https://forms.gle/16zJnDAsEXJXZKSa8
https://forms.gle/16zJnDAsEXJXZKSa8
Google Docs
Опрос подписчиков iOS Good Reads
Чтобы понять, как дальше развивать канал, мне надо получше узнать его текущих читателей. Ответьте на несколько вопросов – а я за это разыграю билет на Podlodka iOS Crew и подписку на PointFree!
❤24👍16👎7🔥4😱3
Вечером пятницы можно расслабиться и прочитать огромный материал про текущее состояние метавселенных, причины роста популярности баззворда и первых адоптеров. А там, может быть, и для какого-нибудь пет-проекта идея появится.
https://mirror.xyz/themeaganloyst.eth/kUmuLvRKFs6CimhFGVmlP7kBHPKCswPra_U05Clwncw
https://mirror.xyz/themeaganloyst.eth/kUmuLvRKFs6CimhFGVmlP7kBHPKCswPra_U05Clwncw
meagan.mirror.xyz
The Metaverse: 101
By Meagan Loyst, Founder of Gen Z VCs & Investor at Lerer Hippeau
🤮14🤩6
Загорелись метавселенными? Держите вдогонку обзор ключевых фичей iOS, которые помогут для этой самой метавселенной создавать приложения.
https://evilmartians.com/chronicles/our-slice-of-the-metaverse-7-key-ar-features-for-ios-devs
https://evilmartians.com/chronicles/our-slice-of-the-metaverse-7-key-ar-features-for-ios-devs
evilmartians.com
Our slice of the metaverse: 7 key AR features for iOS devs—Martian Chronicles, Evil Martians’ team blog
Martian iOS Engineer Russ St Amant covers 7 key AR features every dev needs in their toolkit to make this modern-day magic possible!
🤮22👍3
Если вы следите за появлением в Swift async/await, то вам может быть интересно почитать пропозал с уточнением того, по каким принципам организуются вызовы async-функций и передача управления в них. А можете еще и поучаствовать в обсуждении, это хороший способ и себя развивать, и языку помочь.
https://forums.swift.org/t/se-0338-clarify-the-execution-of-non-actor-isolated-async-functions/54621
https://forums.swift.org/t/se-0338-clarify-the-execution-of-non-actor-isolated-async-functions/54621
Swift Forums
SE-0338: Clarify the Execution of Non-Actor-Isolated Async Functions
Hello Swift community, The review of SE-0338 "Clarify the Execution of Non-Actor-Isolated Async Functions" begins now and runs through January 24, 2022. Reviews are an important part of the Swift evolution process. All review feedback should be either on…
👍24
Интересный трюк с использованием
https://www.pointfree.co/blog/posts/70-unobtrusive-runtime-warnings-for-libraries
os_log,
который помогает удобным образом предупреждать пользователя библиотеки о случившейся ошибке.https://www.pointfree.co/blog/posts/70-unobtrusive-runtime-warnings-for-libraries
www.pointfree.co
Unobtrusive runtime warnings for libraries
Runtime warnings in libraries are a great way to notify your users that something unexpected has happened, or that an API is being used in an incorrect manner. In this post we give an overview of some techniques that can be employed easily today, as well…
👍15
Многие из вас предложили попробовать делать еженедельные подборки постов с канала. Давайте так – пару недель мы с этим поэкспериментируем, а потом сделаем вывод по количеству просмотров/шарингов/реакций к постам. Нравится – ставьте сердечки!
На этой неделе мы много говорили про async/await. Если вы все еще не разобрались с новым подходом к написанию асинхронного кода на Swift, пора уже собраться с силами и погрузиться!
Подборка материалов от Jonfir
Доклад про детали реализации async/await
Как работать одновременно с Combine и async/await
Language proposal по доработке async/await
Вот эти две статьи могут вам пригодиться уже в следующем рабочем спринте и улучшить вашу текущую кодовую базу в плане понятности ее работы и производительности.
as? тормозят время старта и перфоманс в рантайме
Используем os_log для runtime warnings
Было и несколько неплохих материалов, не связанных напрямую с мобильной разработкой, но расширяющих вашу картину мира.
Как работать с jq
Что там со Swift на сервере
Как знание алгоритмов помогает сделать хороший blur
Есть идеи, как сделать такой дайджест полезнее? Накидывайте в реплаи!
#digest
На этой неделе мы много говорили про async/await. Если вы все еще не разобрались с новым подходом к написанию асинхронного кода на Swift, пора уже собраться с силами и погрузиться!
Подборка материалов от Jonfir
Доклад про детали реализации async/await
Как работать одновременно с Combine и async/await
Language proposal по доработке async/await
Вот эти две статьи могут вам пригодиться уже в следующем рабочем спринте и улучшить вашу текущую кодовую базу в плане понятности ее работы и производительности.
as? тормозят время старта и перфоманс в рантайме
Используем os_log для runtime warnings
Было и несколько неплохих материалов, не связанных напрямую с мобильной разработкой, но расширяющих вашу картину мира.
Как работать с jq
Что там со Swift на сервере
Как знание алгоритмов помогает сделать хороший blur
Есть идеи, как сделать такой дайджест полезнее? Накидывайте в реплаи!
#digest
JonFir
Подборка материалов по swift concurrency (async/await)
Документация, статьи, видео для полного погружения в тему
👍92❤58🤮6
В DocC, утилиту для генерации документации к Swift библиотекам, добавили поддержку экспорта файлов, совместимых с хостингами вроде GitHub Pages. Это значит, что вы теперь можете сделать сайт с документацией для своей либы всего в пару кликов.
https://github.com/apple/swift-docc/pull/56
https://github.com/apple/swift-docc/pull/56
GitHub
[5.6] Add Static Hosting Support by ethan-kusters · Pull Request #56 · apple/swift-docc
Rationale: Adds support for creating DocC archives that are compatible with static hosting environments like GitHub Pages.
Risk: Low.
Risk Detail: This is an isolated change that touches very littl...
Risk: Low.
Risk Detail: This is an isolated change that touches very littl...
👍11
Спасибо всем, кто поучаствовал в недавнем опросе подписчиков! Как и обещал, среди участников провел розыгрыш билетов на iOS Crew (их получают @all_cats_are_beautiful и @MORS1983) и подписки на Pointfree (она улетает @tempestary). И интересный факт, чтобы оправдать этот пост: 31% подписчиков – сеньоры, и всего 11% – джуны. Поэтому, согласно статистике, если вы читаете этот пост, скорее всего вы тоже сеньор!
👍31
Уже начался 2022 год, а кто-то еще не успел мигрировать ObjC проекты на Swift. Вышла статья с еще одним взглядом на то, как это делать так, чтобы после глобального рефакторинга получившийся код был написан в стиле Swift. Автор называет такой подход Swift Islands и делится в статье конкретными практиками.
https://www.steveonstuff.com/2022/01/13/migrating-from-objc-to-swift.html
https://www.steveonstuff.com/2022/01/13/migrating-from-objc-to-swift.html
👍5🔥5