Большой и подробный материал про Swift Concurrency.
Может быть отличной точной входа и ознакомления с инструментом.
Автор подробно расписывает разные части нового подхода и показывает примеры использования.
В статье рассматриваются:
- Task
- Async await
- Continuation
- Group Operations
- Actors
- Модификатор globalActor
- Thread Locking
- Sendable
- AsyncSemaphore
- AsyncSequence
- AsyncStream (В статье правда опечатка и этот блок тоже называется AsyncSequence)
В общем, как и сказал, полный разбор Swift Concurrency подхода! 👍
https://onnerb.medium.com/swift-concurrency-fd42c072234e
Может быть отличной точной входа и ознакомления с инструментом.
Автор подробно расписывает разные части нового подхода и показывает примеры использования.
В статье рассматриваются:
- Task
- Async await
- Continuation
- Group Operations
- Actors
- Модификатор globalActor
- Thread Locking
- Sendable
- AsyncSemaphore
- AsyncSequence
- AsyncStream (В статье правда опечатка и этот блок тоже называется AsyncSequence)
В общем, как и сказал, полный разбор Swift Concurrency подхода! 👍
https://onnerb.medium.com/swift-concurrency-fd42c072234e
Medium
Swift Concurrency
The introduction of Task, async/await, and Actors in Swift has revolutionized concurrent code development, replacing traditional methods.
Подробный обучающий материал для новичков о том, как сделать аналог дефолтных Apple Settings на SwiftUI!
Всё максимально подробно и со ссылкой на готовый результат в Github 👍
https://medium.com/@gerdcastan/write-two-column-settings-in-swiftui-that-look-and-feel-like-apples-settings-app-c2a27417f3d7
Всё максимально подробно и со ссылкой на готовый результат в Github 👍
https://medium.com/@gerdcastan/write-two-column-settings-in-swiftui-that-look-and-feel-like-apples-settings-app-c2a27417f3d7
Medium
Write two column settings in SwiftUI that look and feel like Apple’s Settings App
On an iPhone, Apple’s Settings App displays a single column, neatly grouped.
Свежий обучающий материал про SwiftUI!
И наконец-то не про то, как сделать что-то новое, а про то, как разобраться, почему не работает старое?!
В общем ловите статью про дебаггинг и поиск проблем при вёрстке на SwiftUI! 🔨
https://www.avanderlee.com/swiftui/debugging-swiftui-views/
И наконец-то не про то, как сделать что-то новое, а про то, как разобраться, почему не работает старое?!
В общем ловите статью про дебаггинг и поиск проблем при вёрстке на SwiftUI! 🔨
https://www.avanderlee.com/swiftui/debugging-swiftui-views/
SwiftLee
Debugging SwiftUI views: what caused that change?
Debugging SwiftUI views allows you to find the cause of a redraw. Solve unexpected animation issues using this technique.
This media is not supported in your browser
VIEW IN TELEGRAM
Возможно вы пропустили, что на последнем WWDC помимо всего прочего представили такую штуку, как TipKit.
Это такой фреймворк, которому вы говорите покажи вот такую "вьюшку-tip". А "tip"-ом считается объект, который реализует протокол
Инструмент выглядит многообещающе, хоть и без "вау эффекта", наверное. Интересно, как будут дальше развивать 👍
Подробнее про инструмент и примеры его использования в статье.
https://itnext.io/mastering-tipkit-basics-dcccfdbc9927
Это такой фреймворк, которому вы говорите покажи вот такую "вьюшку-tip". А "tip"-ом считается объект, который реализует протокол
Tip
. По сути это инструмент со всплывающими красивыми окошками, которые можно использовать в разных целях. Можете просто маленькие подсказки показывать, представлять новые фичи или помогать юзеру использовать приложение правильнее и много разных сценариев, которые придумаете.Инструмент выглядит многообещающе, хоть и без "вау эффекта", наверное. Интересно, как будут дальше развивать 👍
Подробнее про инструмент и примеры его использования в статье.
https://itnext.io/mastering-tipkit-basics-dcccfdbc9927
Интересный кейс о том, как строка "123456" не равна строке "123456".
В принципе такое может произойти у каждого в проекте, хоть и вероятность крайне мала, но лучше заранее узнать о том, что такой кейс есть.
В примере у автора строки брались из файла, но в целом такое может произойти и при отправке с бэка.
СПОЙЛЕР:проблема в "маркере последовательности байтов" в начале строки. Или он же в некоторых случаях "нулевой ширины неразрывный пробел".
https://damian.fyi/swift/2023/11/13/swift-strings-look-identical-but-aren't.html
В принципе такое может произойти у каждого в проекте, хоть и вероятность крайне мала, но лучше заранее узнать о том, что такой кейс есть.
В примере у автора строки брались из файла, но в целом такое может произойти и при отправке с бэка.
СПОЙЛЕР:
https://damian.fyi/swift/2023/11/13/swift-strings-look-identical-but-aren't.html
Damian Mehers’ blog
Swift strings look identical but aren’t
I recently found myself trying to debug a most perplexing problem. Two identical strings were different. How could this be?
This media is not supported in your browser
VIEW IN TELEGRAM
Материал на подобную тему уже публиковался не раз, и еще будет публиковаться точно, потому что тема большая и сложная.
Сегодня большой разбор
В материале автор подробно разбирает этот компонент, всячески крутит вью, меняет размеры и объясняет происходящее.
Так как компонент очень важен в любой верстке на SwiftUI, то точно не будет лишним хорошо с ним разобраться!
https://medium.com/the-swift-cooperative/mastering-viewthatfits-3294d74cb17b
Сегодня большой разбор
ViewThatFits
. По доке это - A view that adapts to the available space by providing the first child view that fits.
В материале автор подробно разбирает этот компонент, всячески крутит вью, меняет размеры и объясняет происходящее.
Так как компонент очень важен в любой верстке на SwiftUI, то точно не будет лишним хорошо с ним разобраться!
https://medium.com/the-swift-cooperative/mastering-viewthatfits-3294d74cb17b
Если пишете код с использованием Swift Async/Await и хотите (или может уже пишете) Unit тесты на этот код, то вот хороший материал с примерами на эту тему! 👍
https://www.avanderlee.com/concurrency/unit-testing-async-await/
https://www.avanderlee.com/concurrency/unit-testing-async-await/
SwiftLee
Unit testing async/await Swift code
Unit testing async/await logic can be done by marking your unit test as asynchronous and using a new XCTest method.
Немного "экспериментальный" материал в том плане, что он на не самую простую тему, а значит не всем она будет интересна. И это видео-материал 📽️
Но он очень крутой по качеству, поэтому таким не поделиться нельзя!
Paul Hudson делает красоту на SwiftUI + Metal 🔥
Если не уверены интересно вам это или нет, можете перемотать на 1:13:04 и посмотреть конечный результат, а потом уже определиться интересно или нет!
https://www.youtube.com/watch?v=EgzWwgRpUuw
Но он очень крутой по качеству, поэтому таким не поделиться нельзя!
Paul Hudson делает красоту на SwiftUI + Metal 🔥
Если не уверены интересно вам это или нет, можете перемотать на 1:13:04 и посмотреть конечный результат, а потом уже определиться интересно или нет!
https://www.youtube.com/watch?v=EgzWwgRpUuw
YouTube
SwiftUI + Metal – Create special effects by building your own shaders
In this video I show you how to write your own Metal shaders for use with SwiftUI, so you can create beautiful special effects that run at blazing fast speeds. Get the code here: https://github.com/twostraws/Inferno
00:00 Introduction
09:19 Passthrough
14:50…
00:00 Introduction
09:19 Passthrough
14:50…
This media is not supported in your browser
VIEW IN TELEGRAM
Совсем небольшой, но достаточно полезный материал для многих, кто использует SwiftUI!
Про то, как сделать вот такой вот TextField!
https://www.magnuskahr.dk/posts/2023/05/swiftui-trailing-label-textfield/
Про то, как сделать вот такой вот TextField!
https://www.magnuskahr.dk/posts/2023/05/swiftui-trailing-label-textfield/
В начале этого месяца Apple анонсировала Apple's Swift Student Challenge, который начнется в феврале 2024 года.
Критерии для тех, кто может записаться, вроде бы и описаны, но вопросы всё равно есть. В любом случае, если примерно подходите под условия, то попробуйте записаться.
Я так и не смог найти никакой конкретики по формату проведения и так далее, так что если знаете - поделитесь!
По этой ссылке можно посмотреть детали. Тыкайте по вкладкам в верхнем меню, там можно найти и всё, что вам нужно будет для прохождения курса, и критерии для записи, и еще немного различной информации.
Это, конечно, не первый такой challenge от Apple, но рассказать об этом стоит. Не думаю, что все про него слышали. Выглядит очень круто!
https://developer.apple.com/swift-student-challenge/
Критерии для тех, кто может записаться, вроде бы и описаны, но вопросы всё равно есть. В любом случае, если примерно подходите под условия, то попробуйте записаться.
Я так и не смог найти никакой конкретики по формату проведения и так далее, так что если знаете - поделитесь!
По этой ссылке можно посмотреть детали. Тыкайте по вкладкам в верхнем меню, там можно найти и всё, что вам нужно будет для прохождения курса, и критерии для записи, и еще немного различной информации.
Это, конечно, не первый такой challenge от Apple, но рассказать об этом стоит. Не думаю, что все про него слышали. Выглядит очень круто!
https://developer.apple.com/swift-student-challenge/
Apple Developer
Swift Student Challenge
Showcase your love of coding by submitting your app playground to the Swift Student Challenge.
This media is not supported in your browser
VIEW IN TELEGRAM
На последнем WWDC Apple анонсировали новый модификатор для SwiftUI, который называется
В этой статье автор подробно разбирает этот модификатор и его использование! 👍
https://medium.com/the-swift-cooperative/swiftui-geometrygroup-guide-from-theory-to-practice-1a7f4b04c4ec
geometryGroup
. Он упрощает работы с некоторыми сложными анимациями, которые раньше либо надо было помучаться, чтобы сделать, либо вообще невозможно было.В этой статье автор подробно разбирает этот модификатор и его использование! 👍
https://medium.com/the-swift-cooperative/swiftui-geometrygroup-guide-from-theory-to-practice-1a7f4b04c4ec
Ссылка на репозиторий, а внутри все инструкции, по этому инструменту.
Собственно, конвертер из SVG в код для SwiftUI. Веб версия и плагин для Figma.
Последний контрибьют 2 месяца назад, что не очень радует, но всё же как инструмент можно рассмотреть.
Не знаю справится ли он с чем-то сложным, но с простыми картинками вполне справляется.
Возможно, как развлечение на выходные для pet-projecta вполне подойдет! 🤷♂️
https://github.com/quassum/SVG-to-SwiftUI
Собственно, конвертер из SVG в код для SwiftUI. Веб версия и плагин для Figma.
Последний контрибьют 2 месяца назад, что не очень радует, но всё же как инструмент можно рассмотреть.
Не знаю справится ли он с чем-то сложным, но с простыми картинками вполне справляется.
Возможно, как развлечение на выходные для pet-projecta вполне подойдет! 🤷♂️
https://github.com/quassum/SVG-to-SwiftUI
GitHub
GitHub - bring-shrubbery/SVG-to-SwiftUI: Convert SVG to SwiftUI's Shape
Convert SVG to SwiftUI's Shape. Contribute to bring-shrubbery/SVG-to-SwiftUI development by creating an account on GitHub.
Мы недавно публиковали материал о том, насколько активно Apple используют свои языки и фреймворки в iOS!
Теперь подобный материал и про macOS!
Действительно, количество Swift-а и SwiftUI в целом растет. И даже приближается к C++ и C. Но, конечно Objective-c всё еще сильно больше.
P.S. Не стал прикреплять никакую картинку из статистики, потому что не определился, какую лучше. Очень много разных данных внутри, лучше сами посмотрите 👍
https://blog.timac.org/2023/1128-state-of-appkit-catalyst-swift-swiftui-mac/
Теперь подобный материал и про macOS!
Действительно, количество Swift-а и SwiftUI в целом растет. И даже приближается к C++ и C. Но, конечно Objective-c всё еще сильно больше.
P.S. Не стал прикреплять никакую картинку из статистики, потому что не определился, какую лучше. Очень много разных данных внутри, лучше сами посмотрите 👍
https://blog.timac.org/2023/1128-state-of-appkit-catalyst-swift-swiftui-mac/
blog.timac.org
Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma
This media is not supported in your browser
VIEW IN TELEGRAM
Обучающий материал о том, как сделать анимацию на 3D модельке в RealityKit.
Результат на гифке 👍
https://www.createwithswift.com/play-an-animation-in-realitykit
Результат на гифке 👍
https://www.createwithswift.com/play-an-animation-in-realitykit
Крутая библиотека для разных визуальных эффектов на SwiftUI!
Теперь она еще и open source
Огромное количество разных анимаций, переливаний и прочего можно добавить в ваше приложение при помощи этой библиотеки.
Вот по этой ссылке можете посмотреть все примеры.
А вот по этой сама библиотечка на Github.
Ну и в ридмишке на Github тоже ссылка на все примеры есть!
Выглядит действительно 🔥
Теперь она еще и open source
Огромное количество разных анимаций, переливаний и прочего можно добавить в ваше приложение при помощи этой библиотеки.
Вот по этой ссылке можете посмотреть все примеры.
А вот по этой сама библиотечка на Github.
Ну и в ридмишке на Github тоже ссылка на все примеры есть!
Выглядит действительно 🔥
Moving Parts
Pow – Beautiful Transitions for your iOS App
iOS.Devs
Немного "экспериментальный" материал в том плане, что он на не самую простую тему, а значит не всем она будет интересна. И это видео-материал 📽️ Но он очень крутой по качеству, поэтому таким не поделиться нельзя! Paul Hudson делает красоту на SwiftUI + Metal…
Кажется, многим показался полезным этот материал. Поэтому предлагаю посмотреть еще небольшой видео-материал про Inferno.
Вот, собственно, его описание с Github:
Ссылка на него есть в описании видео, а в самом видео примеры того, что эта библиотечка умеет. К тому же, она активно развивается (по крайней мере на данный момент), так что думаю еще много чего интересного там появится. Забирайте. Если не для рабочих, то может хотя бы для pet-проектов! 👍
https://www.youtube.com/watch?v=jriUylwcnmU
Вот, собственно, его описание с Github:
Inferno is an open-source collection of fragment shaders designed for SwiftUI apps.
Ссылка на него есть в описании видео, а в самом видео примеры того, что эта библиотечка умеет. К тому же, она активно развивается (по крайней мере на данный момент), так что думаю еще много чего интересного там появится. Забирайте. Если не для рабочих, то может хотя бы для pet-проектов! 👍
https://www.youtube.com/watch?v=jriUylwcnmU
YouTube
Introducing Inferno: Metal shaders for SwiftUI
Inferno is an open-source collection of Metal shaders built for SwiftUI, adding a variety of special effects and transitions to your projects with ease.
Get the code: gitHub.com/twostraws/Inferno
Watch the video: https://youtu.be/EgzWwgRpUuw
Get the code: gitHub.com/twostraws/Inferno
Watch the video: https://youtu.be/EgzWwgRpUuw
Вышли первые Mobile Interview — неформальные беседы про мобильную разработку в Яндексе
Ребята из разных команд мобильной разработки Яндекса рассказывают, какие задачи решают каждый день и почему им нравится эта работа. Первые выпуски уже можно посмотреть на YouTube-канале Yandex for Mobile:
🔸 В первом выпуске обсудили инфраструктуру Такси. Как и зачем собирать команду мобильной инфраструктуры приложения и чем ребята занимаются на ежедневной основе.
🔸 Во втором выпуске разбирались в разработке Карт. Какие задачи ребята решают, как адаптируются под сложности определения геолокации, развивается ли MapKit, как уживаются приложения Карт и Навигатора.
🔸 В третьем выпуске беседовали о разработке под iOS. Как мы делали браузер под iOS, легко ли переключаться между платформами и под какую проще разрабатывать, что нужно сделать, чтобы завоевать авторитет в большой команде, и в чём заключается специфика разработки браузеров.
🔸 В четвёртом выпуске поговорили с деврелом. Что за люди делают мероприятия для мобильных разработчиков, как организовать большую конференцию и не сойти с ума, чем ещё занимаются DevRel-команды и зачем простым разработчикам связываться с ними.
Смотрите интервью и подписывайтесь на канал — скоро там выйдет пятый выпуск Mobile Interview.
Ребята из разных команд мобильной разработки Яндекса рассказывают, какие задачи решают каждый день и почему им нравится эта работа. Первые выпуски уже можно посмотреть на YouTube-канале Yandex for Mobile:
🔸 В первом выпуске обсудили инфраструктуру Такси. Как и зачем собирать команду мобильной инфраструктуры приложения и чем ребята занимаются на ежедневной основе.
🔸 Во втором выпуске разбирались в разработке Карт. Какие задачи ребята решают, как адаптируются под сложности определения геолокации, развивается ли MapKit, как уживаются приложения Карт и Навигатора.
🔸 В третьем выпуске беседовали о разработке под iOS. Как мы делали браузер под iOS, легко ли переключаться между платформами и под какую проще разрабатывать, что нужно сделать, чтобы завоевать авторитет в большой команде, и в чём заключается специфика разработки браузеров.
🔸 В четвёртом выпуске поговорили с деврелом. Что за люди делают мероприятия для мобильных разработчиков, как организовать большую конференцию и не сойти с ума, чем ещё занимаются DevRel-команды и зачем простым разработчикам связываться с ними.
Смотрите интервью и подписывайтесь на канал — скоро там выйдет пятый выпуск Mobile Interview.
Наверняка многие знают про такие файлы, как
Вот статья, в которой рассказывается, как это делать через Xcode, а еще про сами
https://www.avanderlee.com/xcode/symbolicate-crash-logs-reports/
dsym,
которые еще нужно куда-то зачем-то загружать. Может кто-то даже работал с ips
файлами. Всё это про краш логи, конечно. И если в основном все инструменты по типу Firebase и прочих показывают логи в читаемом формате, то при работе с ips
напрямую вам нужно будет «символизировать» (в оригинале symbolicate, а как адекватно перевести я не знаю) эти логи. Вот статья, в которой рассказывается, как это делать через Xcode, а еще про сами
dsym
и ips,
про экспорт краш логов через Xcode и напрямую с девайса. И еще всякое полезное про то, как работать с краш логами👍🏻https://www.avanderlee.com/xcode/symbolicate-crash-logs-reports/
SwiftLee
Symbolicate crash logs with Xcode
Learn how to manually symbolicate crash reports using Xcode Organizer, IPS files and dSYM files to generate symbols.
Эта тема, конечно, уже оговорена много раз, но тем не менее.
Про то, следует ли (и где?) писать final в вашем Swift коде. Если вы уже используете этот модификатор, то, наверное, много нового вы не узнаете, но остальным будет полезно.
Но даже если вы знакомы с темой, то пункт 2 скорее всего будет и вам интересен, и еще в статье есть ссылка на пост в блоге Apple про то, как они повышали производительность за счет уменьшения динамической диспатчерезации. Тоже может быть интересно 👍
https://samwize.com/2023/12/15/should-you-add-final-to-all-your-swift-classes/
Про то, следует ли (и где?) писать final в вашем Swift коде. Если вы уже используете этот модификатор, то, наверное, много нового вы не узнаете, но остальным будет полезно.
Но даже если вы знакомы с темой, то пункт 2 скорее всего будет и вам интересен, и еще в статье есть ссылка на пост в блоге Apple про то, как они повышали производительность за счет уменьшения динамической диспатчерезации. Тоже может быть интересно 👍
https://samwize.com/2023/12/15/should-you-add-final-to-all-your-swift-classes/
@samwize
Should you add final to all your Swift classes?
We all know what the final keyword to a class/property is for.
Небольшой обучающий материал для совсем новичков 👶
На SwiftUI. О том, как сделать экран авторизации 🔒
https://ix76y.medium.com/create-a-login-page-in-swiftui-aab664a7f96f
На SwiftUI. О том, как сделать экран авторизации 🔒
https://ix76y.medium.com/create-a-login-page-in-swiftui-aab664a7f96f
Medium
Create a Login Page in SwiftUI
SwiftUI Tutorial