Канал Apple Developer на YouTube
Главное событие 2024 – Apple завели канал на YouTube, и начали выкладывать туда видео для разработчиков. Пока там только сессии с WWDC23, но, надеюсь, со временем появится и что-то уникальное.
Главное событие 2024 – Apple завели канал на YouTube, и начали выкладывать туда видео для разработчиков. Пока там только сессии с WWDC23, но, надеюсь, со временем появится и что-то уникальное.
Остались считанные часы до старта Podlodka iOS Crew!
Если пропустили – завтра мы начинаем сезон про хардкорный UI! Сложные анимации, хитрые оптимизации, перформанс – в общем, все, что нужно, чтобы поставить на место конкурентов.
Ну и чтобы вы поменьше сомневались, по промокоду
Забрать билет💥
Если пропустили – завтра мы начинаем сезон про хардкорный UI! Сложные анимации, хитрые оптимизации, перформанс – в общем, все, что нужно, чтобы поставить на место конкурентов.
Ну и чтобы вы поменьше сомневались, по промокоду
FINAL_CHANCE
скидка на билеты для тех, кто в воскресенье готов сделать планы на грядущую неделю чуточку интереснее. Никогда не знаешь, в какой момент понадобится вывести свой UI на новый уровень!Забрать билет
Please open Telegram to view this post
VIEW IN TELEGRAM
Dude Where Is My Touch Bar
Если в macOS приложении в
Если в macOS приложении в
NSUserDefaults
выставить YES
для ключа _NS_4445425547
, то в вашем приложении появится системное дебажное меню. Главный пункт, конечно, это Dude Where Is My Touch Bar!Сервис для визуализации JSON
Смотрите, какой кайфовый сервис для того, чтобы визуализировать любой JSON в виде древовидной диаграммы. Есть и поиск, и темная тема.
Смотрите, какой кайфовый сервис для того, чтобы визуализировать любой JSON в виде древовидной диаграммы. Есть и поиск, и темная тема.
Генератор для Privacy Manifest
С недавних пор практически каждое приложение должно включать в себя специальный манифест, в котором указывается, какие типы данных оно собирает и зачем использует различные неблагополучные фреймворки и API. Так вот, продолжаем неделю полезных инструментов – держите удобный генератор этих файлов.
А вот тут – более подробная статья про него.
С недавних пор практически каждое приложение должно включать в себя специальный манифест, в котором указывается, какие типы данных оно собирает и зачем использует различные неблагополучные фреймворки и API. Так вот, продолжаем неделю полезных инструментов – держите удобный генератор этих файлов.
А вот тут – более подробная статья про него.
Про распил монолита
Автор одного из любимейших приложений на моем айфоне, трекера калорий Foodnoms, написал подробную статью про то, как он рефакторил архитектуру приложения, правильным способом разбивая его на модули.
Автор одного из любимейших приложений на моем айфоне, трекера калорий Foodnoms, написал подробную статью про то, как он рефакторил архитектуру приложения, правильным способом разбивая его на модули.
Гайд по подготовке кодовой базы к Swift 6
Официальный гайд от Apple пока еще не появился, поэтому держите довольно неплохой от коммьюнити с разбором того, какие фичи появятся, и как порефакторить код для подготовки к ним.
Официальный гайд от Apple пока еще не появился, поэтому держите довольно неплохой от коммьюнити с разбором того, какие фичи появятся, и как порефакторить код для подготовки к ним.
Medium
Swift 6 Upgrade Preparation
Swift 5 updates have been slowly building up to the release of Swift 6. Some of the major updates have been the addition of async/await…
Рекомендации по работе с Accelerate
Accelerate – системный фреймворк для высокопроизводительных векторных вычислений на CPU. Он состоит из шести библиотек:
👉BNNS – создание и обучение нейронок
👉vImage – обработка изображений на уровне пикселей
👉vDSP – обработка цифровых сигналов
👉vForce – тригонометрические, логарифмические и экспоненциальные функции над векторами
👉LAPACK – решение задач линейной алгебры
👉BLAS – базовые операции линейной алгебры
В статье разбирается несколько примеров работы с фреймворком, например – доступ к сырым байтам большого изображения.
Accelerate – системный фреймворк для высокопроизводительных векторных вычислений на CPU. Он состоит из шести библиотек:
👉BNNS – создание и обучение нейронок
👉vImage – обработка изображений на уровне пикселей
👉vDSP – обработка цифровых сигналов
👉vForce – тригонометрические, логарифмические и экспоненциальные функции над векторами
👉LAPACK – решение задач линейной алгебры
👉BLAS – базовые операции линейной алгебры
В статье разбирается несколько примеров работы с фреймворком, например – доступ к сырым байтам большого изображения.
SwiftTUI – SwiftUI для консольных приложений
Любой UI фреймворк рано или поздно используют для того, чтобы писать приложения под терминал. SwiftTUI – библиотека, которая реализует аналогичный SwiftUI API для приложений с чисто текстовым интерфейсом.
Что уже работает:
👉Property wrappers @State, @Binding, @Environment
👉VStack, HStack, ForEach, Group and @ViewBuilder
👉Structural identity как в SwiftUI
👉Button, TextField и изменение фокуса стрелками
👉Text, Color, Spacer
👉 .border(), .padding(), .background(), .foregroundColor()
🔗Пример с ToDo листом
🔗Пример с клиентом для SoundCloud
Любой UI фреймворк рано или поздно используют для того, чтобы писать приложения под терминал. SwiftTUI – библиотека, которая реализует аналогичный SwiftUI API для приложений с чисто текстовым интерфейсом.
Что уже работает:
👉Property wrappers @State, @Binding, @Environment
👉VStack, HStack, ForEach, Group and @ViewBuilder
👉Structural identity как в SwiftUI
👉Button, TextField и изменение фокуса стрелками
👉Text, Color, Spacer
👉 .border(), .padding(), .background(), .foregroundColor()
🔗Пример с ToDo листом
🔗Пример с клиентом для SoundCloud
Как включать экспериментальные фичи Swift
Небольшой гайд по тому, как устанавливать пререлизные версии Swift тулчейна и включать экспериментальные фичи, закрытые флагами.
Небольшой гайд по тому, как устанавливать пререлизные версии Swift тулчейна и включать экспериментальные фичи, закрытые флагами.
Введение в Swift для C++ разработчиков
Если у вас есть друзья, занимающиеся С++ разработкой, и вы хотите познакомить их со своим любимым языком – держите идеальный гайд, который проводит аналогии между ментальной моделью плюсов и Swift и объясняет всякую неочевидную магию.
Если у вас есть друзья, занимающиеся С++ разработкой, и вы хотите познакомить их со своим любимым языком – держите идеальный гайд, который проводит аналогии между ментальной моделью плюсов и Swift и объясняет всякую неочевидную магию.
Бэкенд на Swift вокруг ML модели
Туториал по тому, как на Vapor написать простой бэкенд, который дает доступ к Core ML модели, классифицирующей изображения.
🔗Код на GitHub
Туториал по тому, как на Vapor написать простой бэкенд, который дает доступ к Core ML модели, классифицирующей изображения.
🔗Код на GitHub
Create with Swift
Using server-side Swift for machine learning processing
In this tutorial learn how to use a machine learning model in a Vapor server using Swift.
Видео с Swift Server Side митапа
Недавно прошел первый официальный Swift Server Side митап. Программа такая:
👉Как использовать Swift на Linux, в том числе в облаке и на портативных девайсах
👉Рассказ про Vapor от одного из его разработчиков
👉Q&A с участниками Server-Side Workgroup
Недавно прошел первый официальный Swift Server Side митап. Программа такая:
👉Как использовать Swift на Linux, в том числе в облаке и на портативных девайсах
👉Рассказ про Vapor от одного из его разработчиков
👉Q&A с участниками Server-Side Workgroup
Гайд по Swift Argument Parser
Если вы пишете на Swift какие-то консольные приложения, вы точно используете пакет Swift Argument Parser. В серии постов разбираются все детали работы с ним, в том числе:
👉Сокращенные и полные флаги
👉Инверсия флагов
👉Флаги с enum'ами
Из интересного – прямо в статью встроена интерактивная консоль, в которой можно поиграться с примерами.
Если вы пишете на Swift какие-то консольные приложения, вы точно используете пакет Swift Argument Parser. В серии постов разбираются все детали работы с ним, в том числе:
👉Сокращенные и полные флаги
👉Инверсия флагов
👉Флаги с enum'ами
Из интересного – прямо в статью встроена интерактивная консоль, в которой можно поиграться с примерами.
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз SystemNotification 1.0
SystemNotification – библиотека, которая помогает реализовывать уведомления в SwiftUI, повторяющие внешний вид и поведение системных попапов. Можно как кастомизировать стандартный вид уведомления, задав иконку и текст, так и добавлять свою вьюху.
🔗Getting Started
🔗Демо приложение
SystemNotification – библиотека, которая помогает реализовывать уведомления в SwiftUI, повторяющие внешний вид и поведение системных попапов. Можно как кастомизировать стандартный вид уведомления, задав иконку и текст, так и добавлять свою вьюху.
🔗Getting Started
🔗Демо приложение
Выбор сервиса на замену App Center
Пару недель назад я рассказывал, что Microsoft закрывает App Center. Держите статью с обзором альтернатив, на которые можно переехать, их плюсов, минусов и фичей.
Пару недель назад я рассказывал, что Microsoft закрывает App Center. Держите статью с обзором альтернатив, на которые можно переехать, их плюсов, минусов и фичей.
Instabug
Comparison Between Top Mobile App Distribution Tools
Discover the top beta distribution platforms for mobile app beta testing. Learn the pros and cons of each beta distribution tool and how they compare.
Инженерная культура в БигТехе
Инженерная культура компании пронизывает нашу работу от и до. Какими критериями бизнес руководствуется при найме и почему собеседования устроены именно так а не иначе? Сколько времени у вас уйдет на реализацию конкретной фичи, а сколько на обсуждения острых вопросов на архитектурном и код-ревью и нужны ли эти ревью вообще? Как принимаются решения о расширении тех. стека проекта? Что нужно сделать, чтобы получить повышение, и что такого натворить, чтобы вас уволили? Не смотря на то, что мы привыкли воспринимать FAANG компании в одну цельную группу, инженерная культура в них сильно отличается.
Записали выпуск Подлодки с Алексеем Козятинским (ex. Google, а сейчас senior staff SWE в Netflix), который откровенно поделился с нами своим сложным жизненным опытом в биг техе, и вместе мы поразмышляли о том, как инженерная культура помогает бизнесу достигать своих целей, какое влияние она оказывает на конечных сотрудников и как выбрать "ту самую" компанию мечты, где вы будете чувствовать себя по-настоящему на своем месте.
🔗Смотреть на Youtube
Инженерная культура компании пронизывает нашу работу от и до. Какими критериями бизнес руководствуется при найме и почему собеседования устроены именно так а не иначе? Сколько времени у вас уйдет на реализацию конкретной фичи, а сколько на обсуждения острых вопросов на архитектурном и код-ревью и нужны ли эти ревью вообще? Как принимаются решения о расширении тех. стека проекта? Что нужно сделать, чтобы получить повышение, и что такого натворить, чтобы вас уволили? Не смотря на то, что мы привыкли воспринимать FAANG компании в одну цельную группу, инженерная культура в них сильно отличается.
Записали выпуск Подлодки с Алексеем Козятинским (ex. Google, а сейчас senior staff SWE в Netflix), который откровенно поделился с нами своим сложным жизненным опытом в биг техе, и вместе мы поразмышляли о том, как инженерная культура помогает бизнесу достигать своих целей, какое влияние она оказывает на конечных сотрудников и как выбрать "ту самую" компанию мечты, где вы будете чувствовать себя по-настоящему на своем месте.
🔗Смотреть на Youtube
KeyPath в Swift
Отличный разбор того, как работают KeyPath в Swift, для чего они нужны, и какие неочевидные возможности у них есть.
👉KeyPath литерал можно сконвертировать в функцию вида
👉KeyPath'ы можно комбинировать друг с другом через функцию
👉В KeyPath можно зашить доступ по индексу к любому из параметров
👉Можно определять свои атрибуты через
👉С KeyPath работает вывод типов
Отличный разбор того, как работают KeyPath в Swift, для чего они нужны, и какие неочевидные возможности у них есть.
👉KeyPath литерал можно сконвертировать в функцию вида
(Root) -> Value
👉KeyPath'ы можно комбинировать друг с другом через функцию
.appending
👉В KeyPath можно зашить доступ по индексу к любому из параметров
👉Можно определять свои атрибуты через
@dynamicMemberLookup
👉С KeyPath работает вывод типов
Forwarded from Код Воробья для iOS разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM