Продолжение статей про улучшение перфоманса функции фильтрации в Swift. В одной части показывается, как добавление async/await в ненужное место только ухудшает перфоманс, а в другой используется более хитрое резервирование памяти.
try Code
Optimization in Swift, part 2
Swift development related blog-posts. Combine, modern concurrency model, Instruments, and more.
Ребята из Додо выпустили Build Graph for Xcode – инструмент для анализа билда многомодульных приложений.
С помощью приложения можно:
— построить график всех модулей,
— оценить время каждого этапа,
— насколько билд распараллелен,
— какие задачи выполняются долго,
— какие связи между модулями.
Купить в App Store
Бесплатная версия на 90 дней
С помощью приложения можно:
— построить график всех модулей,
— оценить время каждого этапа,
— насколько билд распараллелен,
— какие задачи выполняются долго,
— какие связи между модулями.
Купить в App Store
Бесплатная версия на 90 дней
Думаю, многие из подписчиков сейчас прокручивают в голове желание найти удаленку с оплатой в валюте. Держите замечательный тред Антона Назарова про то, как находить такие работы.
Версия для тех, кто без VPN
Версия для тех, кто без VPN
Twitter
Anton Nazarov
Давай и я расскажу про поиск своих валютных удаленок (ВУ) Всего их было 7, максимальный доход (одновременно с нескольких) около $21k Только *неочевидных* советов и пояснений тред
Альфа-Инвестиции приглашают iOS/Android-разработчиков на One Day Offer 19 марта. Все этапы интервью – за один день, оффер — за сутки. Ваш уровень – middle/senior, опыт в коммерческой разработке – от двух лет.
Подать заявку
Подать заявку
В апреле открывается подача заявок на участие в Google Summer of Code. Это оплачиваемая программа стажировок, в рамках которой вы можете все лето контрибьютить в разные open source проекты. В этом году в ней участвует и Swift, поэтому, если вам всегда хотелось вкатиться в разработку компиляторов или инструментов для разработчиков – смотрите на список проектов и вкатывайтесь!
Google Open Source Blog
Google Summer of Code 2022 mentoring orgs revealed!
We are excited to announce that 203 open source projects have been selected for Google Summer of Code (GSoC) 2022.
Если вы все еще не обновились на macOS Monterey, то хватит ждать. Новые версии Xcode, начиная с 13.3, не будут работать на более старых версиях операционки.
Twitter
Donny Wals 👾
FYI, it’s that time of the year again where the next Xcode release will require the latest macOS. If you haven’t upgraded to Monterey, now is the time 👍🏼
Небольшая статья с обзором того, как реализовывать Browser Extension на примере приложения, добавляющего заметки к страницам в Safari. Автор рассказывает про проблемы с хранением данных и построение бриджа между расширением и основным приложением.
Bendodson
Browser Note and the process of building an iOS 15 Safari Extension
An app to reduce my Chinese takeaway order morphs into an iOS 15 Safari Extension to improve mental health.
«Лаборатория Касперского» ищет Developer iOS
Работа в «Лаборатории Касперского» — это не только масштабные задачи, но и приятные бонусы: бесплатное обучение, расширенный ДМС со стоматологией, спортзалы прямо в офисе, а еще — программа релокации для кандидатов из регионов и не только.
Быть специалистом в вирусах и антивирусах необязательно! Если вы:
— имеете опыт коммерческой разработки на языке Swift;
— знаете основные фреймворки iOS SDK (Foundation, UIKit);
— понимаете принципы построения пользовательского интерфейса в соответствии с Human Interface Guidelines;
— обладаете знаниями в области проектировании архитектуры приложений;
— и умеете работать с многопоточностью,
то переходите по ссылке, чтобы ознакомиться с подробной информацией о вакансии и присоединиться к команде лучших экспертов.
Работа в «Лаборатории Касперского» — это не только масштабные задачи, но и приятные бонусы: бесплатное обучение, расширенный ДМС со стоматологией, спортзалы прямо в офисе, а еще — программа релокации для кандидатов из регионов и не только.
Быть специалистом в вирусах и антивирусах необязательно! Если вы:
— имеете опыт коммерческой разработки на языке Swift;
— знаете основные фреймворки iOS SDK (Foundation, UIKit);
— понимаете принципы построения пользовательского интерфейса в соответствии с Human Interface Guidelines;
— обладаете знаниями в области проектировании архитектуры приложений;
— и умеете работать с многопоточностью,
то переходите по ссылке, чтобы ознакомиться с подробной информацией о вакансии и присоединиться к команде лучших экспертов.
Обсуждение в Mobile Native Foundation того, какими линтерами стоит пользоваться, чтобы определять мертвый код. Из того, что советуют:
1️⃣SwiftCodeScan от Uber
2️⃣Periphery
1️⃣SwiftCodeScan от Uber
2️⃣Periphery
GitHub
Dead code linter · MobileNativeFoundation/discussions · Discussion #156
Hi everyone! I would like to start a discussion regarding dead code linters and your company's best practices. Currently at Uber we use SwiftCodeSan - our own implementation that was open-sourc...
В Swift собирается новая рабочая группа, которая будет заниматься вопросами тулинга для генерации документации. Если вам вдруг было бы интересно поучаствовать и есть релевантный опыт, записывайтесь на созвон с Ted Kremenek!
Swift Forums
Swift Documentation Tooling work group - call for interest (video call kickoff survey)
There has been some interest expression in forming a "documentation tooling work group" focused around tooling for documentation generation and symbol graph-related projects: To kick things off, I'm am looking to schedule a video call during the week of…
В приложении Headhunter 75 фич, каждая из которых выделена в отдельный модуль. Такая архитектура принесла команде следующие проблемы:
1️⃣Такое большое количество фич в приложении сложно поддерживать: соблюдать единую структуру и связи между ними.
2️⃣Проект состоит из огромного количества кода, компиляция происходит довольно медленно.
3️⃣С большим проектом довольно сложно работать из-за огромного количества договоренностей и связей между фичами.
В статье команда рассказывает, как они решают каждую из проблем, а заодно делятся опытом работы с модным сейчас Tuist.
1️⃣Такое большое количество фич в приложении сложно поддерживать: соблюдать единую структуру и связи между ними.
2️⃣Проект состоит из огромного количества кода, компиляция происходит довольно медленно.
3️⃣С большим проектом довольно сложно работать из-за огромного количества договоренностей и связей между фичами.
В статье команда рассказывает, как они решают каждую из проблем, а заодно делятся опытом работы с модным сейчас Tuist.
Хабр
Лайфхаки по многомодульности в iOS
Всем привет! Меня зовут Юра, я iOS-разработчик в core-команде. В этой статье расскажу, как мы работаем с многомодульностью в наших iOS-приложениях. Поговорим про окружение и структуру нашего проекта,...
У Apple есть специальная страница на GitHub, на которой они делятся советами по тому, как сделать ваш Swift код более производительным. Если вы по какой-то причине раньше не видели этих советов, обязательно прочитайте и используйте в своем проекте.
GitHub
swift/docs/OptimizationTips.rst at main · swiftlang/swift
The Swift Programming Language. Contribute to swiftlang/swift development by creating an account on GitHub.
Советы про то, как максимально обезопасить свое приложение от реджекта на ревью в App Store:
💬Детальное сообщение с видео для ревьюеров, в котором рассказано про основные изменения в версии.
ℹ️Специальная лендинг-страница с основной информацией про приложение, демо-видео внутренних покупок, историей прошлых реджектов и их обжалований.
📝Инструкции по тому, как тестировать приложение
📆Чейнджлог всех предыдущих версий
Список выглядит довольно избыточным и сложным в поддержке. Но если ваше приложение часто страдает от реджектов, то попробуйте что-то из этого перенять.
Версия для тех, у кого нет VPN
💬Детальное сообщение с видео для ревьюеров, в котором рассказано про основные изменения в версии.
ℹ️Специальная лендинг-страница с основной информацией про приложение, демо-видео внутренних покупок, историей прошлых реджектов и их обжалований.
📝Инструкции по тому, как тестировать приложение
📆Чейнджлог всех предыдущих версий
Список выглядит довольно избыточным и сложным в поддержке. Но если ваше приложение часто страдает от реджектов, то попробуйте что-то из этого перенять.
Версия для тех, у кого нет VPN
Twitter
Jordi Bruin
I’ve been doing daily updates for the last few days for both the iOS and macOS versions of Navi and wanted to share a bit about how I minimise the changes of getting caught in App Review 👇🧵
Community driven документация для SwiftUI со сниппетами кода и гифками. Из интересного – сайт с доками собирается из одного большого Swift файла с помощью GitHub Actions.
GitHub
GitHub - SwiftOnTap/Docs: Complete SwiftUI Docs with Examples
Complete SwiftUI Docs with Examples. Contribute to SwiftOnTap/Docs development by creating an account on GitHub.
Продолжение цикла статей от Vivid Money про то, как они ускоряют прохождение автотестов, распараллеливая их через Xcode и Fastlane.
Хабр
Ускоряем прохождение iOS UI-тестов. Часть 2. Распараллеливание тестов
Хабр, привет! Меня зовут Борис. Я Mobile AQA lead в Vivid Money. Это вторая статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов. Данная статья...
Мы тут уже не первую неделю говорим про Swift 5.6. Вот и официальный блогпост про релиз вышел, с перечислением всех значимых фичей языка и тулинга.
Swift.org
Swift 5.6 Released!
Swift 5.6 is now officially released!
Разбор того, чем
any
отличается от some,
и есть ли смысл начинать использовать его уже сейчас, или дожидаться Swift 6.Donny Wals
What is the “any” keyword in Swift? – Donny Wals
Learn everything you need to know about the any keyword that was added in Swift 5.6.
Claymorphism (клейморфизм в переводе, наверное) – новый тренд в дизайне интерфейсов. Его основные отличительные черты – псевдо-3D элементы интерфейса, активное использование теней и ярких цветов. Детальнее про стиль, его отличие от плоского дизайна и скевоморфизма можно почитать тут.
Smashing Magazine
Claymorphism: Will It Stick Around? — Smashing Magazine
This fresh new design trend has been picking up steam with the rising popularity of colorful inflated 3D graphics in web illustrations and with the latest Virtual Reality projects like “Horizon Worlds”. Let’s see if there is room for Claymorphism on the UI…
Вместе с версией Swift обновилась и лучшая книга про него – «Advanced Swift» от objc.io. В новом издании:
📌Добавили главу про Swift Concurrency
📌Доработали контент про property wrappers, function builders, протоколы и дженерики.
Обновление бесплатное для всех, кто покупал предыдущие версии.
📌Добавили главу про Swift Concurrency
📌Доработали контент про property wrappers, function builders, протоколы и дженерики.
Обновление бесплатное для всех, кто покупал предыдущие версии.
www.objc.io
Advanced Swift
A deep dive into Swift’s features, from low-level programming to high-level abstractions.