Лонгрид про модуляризацию. В Badoo собрали несколько внутренних инструментов для отображения, проверки и починки графа зависимостей, аналитики по времени и количеству билдов для каждого модуля.
https://medium.com/bumble-tech/modularising-the-badoo-ios-app-ce75d5a7aba7
https://medium.com/bumble-tech/modularising-the-badoo-ios-app-ce75d5a7aba7
Medium
Modularising the Badoo iOS app
Dealing with knock-on effects
В Xcode 13 можно будет ставить брейкпоинты на одно из нескольких замыканий или вызываемых функций внутри одной строки. Правда пока, похоже, не работает.
https://useyourloaf.com/blog/xcode-column-breakpoints/
https://useyourloaf.com/blog/xcode-column-breakpoints/
Use Your Loaf - iOS Development News & Tips
Xcode Column Breakpoints
Xcode 13 adds column breakpoints which work like a more granular version of line breakpoints.
Task local values могут помочь отделить параллельные цепочки вызовов друг от друга.
https://www.donnywals.com/what-are-swift-concurrencys-task-local-values/
https://www.donnywals.com/what-are-swift-concurrencys-task-local-values/
Donny Wals
What are Swift Concurrency’s task local values? – Donny Wals
If you’ve been following along with Swift Concurrency in the past few weeks, you might have come across the term "task local values". Task local values are, like the name suggests…
Со Swift 5.5 можно забыть про преобразования CGFloat к Double и обратно. Теперь они взаимозаменяемы.
https://www.swiftbysundell.com/tips/double-cgfloat-auto-conversions/
https://www.swiftbysundell.com/tips/double-cgfloat-auto-conversions/
Swift by Sundell
Automatic conversions between Double and CGFloat values in Swift 5.5 | Swift by Sundell
How the Swift compiler is now able to automatically perform conversions between Double and CGFloat values.
Новый способ взаимодействия с листами в SwiftUI использовал механизм always emit into client, который позволил добавить функционал и в предыдущие версии iOS.
https://peterfriese.dev/swiftui-list-item-bindings-behind-the-scenes/
https://peterfriese.dev/swiftui-list-item-bindings-behind-the-scenes/
С iOS 15 форматтеры будут работать через енумы, а не строки. Еще один шаг к свифтизации старых API.
https://nemecek.be/blog/106/new-approach-to-formatters-in-ios-15
https://nemecek.be/blog/106/new-approach-to-formatters-in-ios-15
nemecek.be
New approach to formatters in iOS 15
There are huge foundation news regarding formatters. They were basically moved behind the scenes.
Наглядно о том, что можно делать с AsyncImage. Проще некуда.
https://serialcoder.dev/text-tutorials/swiftui/asyncimage-in-swiftui/
https://serialcoder.dev/text-tutorials/swiftui/asyncimage-in-swiftui/
SerialCoder.dev
AsyncImage in SwiftUI - SerialCoder.dev
Read about the brand new AsyncImage view in the third release of SwiftUI, and load and display remote images asynchronously and effortlessly.
Actor - ссылочный тип без наследования. Он не исключает возникновения состояния гонки, но исключает возникновение невалидного состояния данных.
https://www.avanderlee.com/swift/actors/
https://www.avanderlee.com/swift/actors/
SwiftLee
Actors in Swift: how to use and prevent data races
Actors in Swift prevent Data Races by synchronizing access. Combined with nonisolated access you can prevent crashes in your apps.
Все подводки к появлению AR очков с прошедшего WWDC: live text, проработка аудио, карты и визуальные изменения.
https://www.domz.co.uk/posts/how-wwdc-21-foreshadows-ar-glasses/
https://www.domz.co.uk/posts/how-wwdc-21-foreshadows-ar-glasses/
Dominic Williams
How WWDC 21 Foreshadows AR Glasses | Dominic Williams
How WWDC 2021 is foreshadowing Apple's AR Glasses
Мы все делали неправильно - линтер не должен заниматься форматированием кода. А вы чем форматируете?
https://jasonzurita.com/linting-and-formatting-swift-part-1/
https://jasonzurita.com/linting-and-formatting-swift-part-1/
Рано или поздно все мы будем переходить на async/await (как на Swift перешли) и вот как сделать первые шаги. Гайд по заворачиванию вашего callback hell’a для красивого вызова c await.
https://www.andyibanez.com/posts/converting-closure-based-code-into-async-await-in-swift/
https://www.andyibanez.com/posts/converting-closure-based-code-into-async-await-in-swift/
Andy Ibanez - iOS Developer
Converting closure-based code into async/await in Swift
Learn about checked continuations and converting closure and delegate-based code into async/await in Swift.
В новом Xcode не обязательно использовать сторонние приложения для анализа HTTP трафика. Можно будет использовать внутренний инструмент. Помимо прочего он позволяет экспортировать логи в файл.
https://michaelabadi.com/articles/analyse-http-instruments/
https://michaelabadi.com/articles/analyse-http-instruments/
Michaelabadi
Analyze HTTP Traffic with new HTTP Instrument
Understanding new HTTP Instrument Xcode
Вместе с async/await пришли соответствующие модификаторы вьюшек: task, refreshable, onSubmit.
https://peterfriese.dev/swiftui-concurrency-essentials-part1/
https://peterfriese.dev/swiftui-concurrency-essentials-part1/
На iOS 15 приложения будут запускаться быстрее и немного меньше весить.
https://medium.com/geekculture/how-ios-15-makes-your-app-launch-faster-51cf0aa6c520
https://medium.com/geekculture/how-ios-15-makes-your-app-launch-faster-51cf0aa6c520
Medium
How iOS 15 makes your app launch faster
Read the full version of this post on the Emerge Tools Blog
С помощью нового
https://swiftui-lab.com/swiftui-animations-part4/
TimelineView
можно синхронизовать звуки с анимацией и повторять функциональность KeyFrame’ов в более компактном виде. Не только рисовать часы, как могло показаться.https://swiftui-lab.com/swiftui-animations-part4/
8 июля поспорим на ютубе про вебвью vs нативные приложения и много опций между ними. А для iOS-разработчиков приготовлен отдельный доклад.
Ставь колокольчик, чтобы не забыть https://www.youtube.com/watch?v=_zbaLyf5JT4
Ставь колокольчик, чтобы не забыть https://www.youtube.com/watch?v=_zbaLyf5JT4
YouTube
Онлайн-митап DevDay Mobile: отказ от инструментов Apple, скрытый API, холивар
00:00 - шесть минут о разном до докладов)
06:20 — Автоматизированная кодогенерация свифтового интерфейса для C++ (Толя Петров, 2ГИС)
1:07:45 — Способы использования скрытого системного API при вендорной разработке (Николай Пахомов, SberDevices)
1:38:05…
06:20 — Автоматизированная кодогенерация свифтового интерфейса для C++ (Толя Петров, 2ГИС)
1:07:45 — Способы использования скрытого системного API при вендорной разработке (Николай Пахомов, SberDevices)
1:38:05…
Что появилось в SwiftUI с обновлением Xcode 13 до beta 2: добавили размер для кнопки, выделение текста, поменяли API поиска. Все идет по плану.
https://www.fivestars.blog/articles/xcode-13-beta-2/
https://www.fivestars.blog/articles/xcode-13-beta-2/
FIVE STARS
What's new in Xcode 13 beta 2 | FIVE STARS
A quick look at all the new SwiftUI goodies!
Workin Geeks совместно с факультетом компьютерных наук ВШЭ уже 3 год проводит летнюю школу для 10-11 классов. Осталось два дня до закрытия подачи заявок. Так что, если есть кого мотивировать стать iOS/Android разработчиком, делитесь ссылкой!
https://cs.hse.ru/mobile/2021/
https://cs.hse.ru/mobile/2021/
cs.hse.ru
VIII Летняя школа по разработке мобильных приложений
Скоро всех программистов заменит AI и из ТЗ будет сразу рабочий софт получаться. Но не сегодня. Ревью Copilot - основанная на GPT3 утилита, по сигнатуре, неймингу и комментариям понимающая, какой код надо написать.
https://blog.scottlogic.com/2021/07/03/github-copilot-first-thoughts.html
https://blog.scottlogic.com/2021/07/03/github-copilot-first-thoughts.html
Scott Logic
GitHub Copilot Experiences - a glimpse of an AI-assisted future
I've been lucky enough to be granted access to the preview of Copilot, GitHub's new 'AI pair programmer' that is causing quite a stir. This blog post shares my initial thoughts and experiences with this tool. In brief, I'm stunned by its capabilities. It…
Команда @selectelnews выпустила свое второе видео про новые маки на M1. В этот раз они рассказывают про особенности ARM и CISC архитектуры, измеряют температуру процессора под нагрузкой и выясняют, как нагревается Mac mini M1 при полной загрузке ядер.
Смотрите ролик по ссылке: https://slc.tl/iELs2
🚀 Почему Mac mini? Недавно Selectel выпустили новое решение — аренду сервера с macOS® на M1. На нем можно:
— быстро компилировать написанный код в среде Xcode®,
— протестировать приложение, проверить его на совместимость с Apple Silicon® и на работу с разными версиями ОС,
— в 15 раз быстрее работать с задачами машинного обучения,
— пользоваться программами для творчества, которые доступны только на macOS®.
Смотрите ролик по ссылке: https://slc.tl/iELs2
🚀 Почему Mac mini? Недавно Selectel выпустили новое решение — аренду сервера с macOS® на M1. На нем можно:
— быстро компилировать написанный код в среде Xcode®,
— протестировать приложение, проверить его на совместимость с Apple Silicon® и на работу с разными версиями ОС,
— в 15 раз быстрее работать с задачами машинного обучения,
— пользоваться программами для творчества, которые доступны только на macOS®.
YouTube
Рассказываем про CISC и RISC-архитектуры / Почему процессоры Intel пропали из Apple Mac
Объясняем различие архитектур CISC и RISC, а также наборов инструкций x86 и ARM. Рассказываем, почему Apple решает поставить процессоры ARM с RISC-архитектурой в новые Маки.
Смотрите ролик и узнаете, какие мягкие места Apple использует для коммуникации…
Смотрите ролик и узнаете, какие мягкие места Apple использует для коммуникации…