Сервис для визуализации 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
Зачем в приложение добавлять озвучку
Озвучка действий в приложении может быть как самым раздражающим элементом UX, так и одним из самых цепляющих. При этом, у многих пользователей звук вообще выключен по умолчанию. В статье разбирается, зачем затаскивать озвучку в свое приложение, как сделать ее запоминающейся и не надоедливой, и откуда вообще брать материалы для звуков. И все это – на живых примерах!
Озвучка действий в приложении может быть как самым раздражающим элементом UX, так и одним из самых цепляющих. При этом, у многих пользователей звук вообще выключен по умолчанию. В статье разбирается, зачем затаскивать озвучку в свое приложение, как сделать ее запоминающейся и не надоедливой, и откуда вообще брать материалы для звуков. И все это – на живых примерах!
Компиляция Swift в Wasm для создания кроссплатформенных библиотек
Выступление разработчика из Core команды Swift про то, как работает его компиляция в WebAssembly и интероп с С++. Получившаяся в результате библиотека работает в браузере, macOS, Linux и Windows.
Выступление разработчика из Core команды Swift про то, как работает его компиляция в WebAssembly и интероп с С++. Получившаяся в результате библиотека работает в браузере, macOS, Linux и Windows.
YouTube
Multi-Platform Libraries With Swift for WebAssembly by Max Desiatov @ Wasm I/O 2024
Wasm I/O 2024 - Barcelona, 14-15 March
WebAssembly support in Swift started as a community project and over the years evolved into an ecosystem of libraries and developer tools. The talk showcases features of Swift, including its ability to seamlessly interoperate…
WebAssembly support in Swift started as a community project and over the years evolved into an ecosystem of libraries and developer tools. The talk showcases features of Swift, including its ability to seamlessly interoperate…
Xamarin всё
Конец эпохи. Начиная с 1 мая, Microsoft официально остановил поддержку всех SDK Xamarin, включая Xamarin.Forms. Всех, кто еще не успел переехать, отправляют мигрировать на MAUI.
Конец эпохи. Начиная с 1 мая, Microsoft официально остановил поддержку всех SDK Xamarin, включая Xamarin.Forms. Всех, кто еще не успел переехать, отправляют мигрировать на MAUI.