Создаем гистограмму с помощью Swift Charts
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.
Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!
https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/
#ios
👉
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.
Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!
https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/
#ios
👉
Создаем гистограмму с помощью Swift Charts
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.
Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!
https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/
#ios
👉
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.
Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!
https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/
#ios
👉
Ready, Aim, Release: Android app rollout tips
https://proandroiddev.com/ready-aim-release-android-app-rollout-tips-1bc6f851e6fb
#Android
👉
https://proandroiddev.com/ready-aim-release-android-app-rollout-tips-1bc6f851e6fb
#Android
👉
What are lazy vars in Swift?
Sometimes when you’re programming you have some properties that are pretty expensive to compute so you want to make sure that you don’t perform any work that you don’t absolutely must perform.
https://www.donnywals.com/what-are-lazy-vars-in-swift/
#ios
👉
Sometimes when you’re programming you have some properties that are pretty expensive to compute so you want to make sure that you don’t perform any work that you don’t absolutely must perform.
https://www.donnywals.com/what-are-lazy-vars-in-swift/
#ios
👉
Swift Server Side Meetup
Calling all Swift developers who are eager to harness the power of Swift on the server-side! Join the Swift Server Working Group for their online meetup, where you'll connect with fellow enthusiasts, dive into the latest advancements and best practices in server-side Swift. Whether you're a seasoned pro or just starting your server-side Swift journey, this meetup is the perfect platform to learn, share, and grow alongside the vibrant community.
https://www.youtube.com/watch?v=FULMRV3wIKg
#ios
👉
Calling all Swift developers who are eager to harness the power of Swift on the server-side! Join the Swift Server Working Group for their online meetup, where you'll connect with fellow enthusiasts, dive into the latest advancements and best practices in server-side Swift. Whether you're a seasoned pro or just starting your server-side Swift journey, this meetup is the perfect platform to learn, share, and grow alongside the vibrant community.
https://www.youtube.com/watch?v=FULMRV3wIKg
#ios
👉
YouTube
Swift Server Side Meetup #01
Calling all Swift developers who are eager to harness the power of Swift on the server-side! Join the Swift Server Working Group for their online meetup, where you'll connect with fellow enthusiasts, dive into the latest advancements and best practices in…
🚀 Не надо тратить миллионы на билеты, туры и путешествия. Хватит и грошей.
Ссылка на канал, подписывайтесь: @cheapglobus
Ссылка на канал, подписывайтесь: @cheapglobus
Initializing
https://augmentedcode.io/2024/04/22/initializing-mainactor-type-from-a-non-isolated-context-in-swift/
#ios
👉
type from a non-isolated context in Swifthttps://augmentedcode.io/2024/04/22/initializing-mainactor-type-from-a-non-isolated-context-in-swift/
#ios
👉
Augmented Code
Initializing @MainActor type from a non-isolated context in Swift
Recently I was in the middle of working on code where I wanted a type to require @MainActor since the type was an ObservaleObject and makes sense if it always publishes changes on the MainActor. Th…
Result builders in Swift
Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за другом.
https://habr.com/ru/articles/813393/
#ios
👉
Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за другом.
https://habr.com/ru/articles/813393/
#ios
👉
Как защитить свой код от Gemini in Android Studio
Если вы используете Android Studio Jellyfish или более позднюю версию, вы можете использовать Gemini in Android Studio (ранее Studio Bot). Вы можете задать ему множество различных вопросов прямо в IDE. Инструмент очень умный и способен использовать код вашего проекта в IDE, чтобы улучшить ответы, которые он вам выдает, а также предоставляет интеллектуальное автодополнение кода. Хотя это и полезная функция, если вы работаете над проприетарной или (коммерчески или иным образом) важной кодовой базой, возможно, вы не захотите делиться своим кодом с Google. Google четко объясняет, как используются данные, в своей Политике конфиденциальности и документации по данным и конфиденциальности, но даже если лично вас все устраивает, многие организации придерживаются более строгой политики в отношении своей интеллектуальной собственности (например, кода).
https://proandroiddev.com/protect-your-code-from-gemini-in-android-studio-982a58e1ea2a
#Android
👉
Если вы используете Android Studio Jellyfish или более позднюю версию, вы можете использовать Gemini in Android Studio (ранее Studio Bot). Вы можете задать ему множество различных вопросов прямо в IDE. Инструмент очень умный и способен использовать код вашего проекта в IDE, чтобы улучшить ответы, которые он вам выдает, а также предоставляет интеллектуальное автодополнение кода. Хотя это и полезная функция, если вы работаете над проприетарной или (коммерчески или иным образом) важной кодовой базой, возможно, вы не захотите делиться своим кодом с Google. Google четко объясняет, как используются данные, в своей Политике конфиденциальности и документации по данным и конфиденциальности, но даже если лично вас все устраивает, многие организации придерживаются более строгой политики в отношении своей интеллектуальной собственности (например, кода).
https://proandroiddev.com/protect-your-code-from-gemini-in-android-studio-982a58e1ea2a
#Android
👉
Проектирование и создание приложений для watchOS 10
Погрузитесь в детали принципов проектирования watchOS и узнайте, как применять их в своем приложении с использованием SwiftUI. Мы покажем, как создать приложение для обновленного пользовательского интерфейса, чтобы отображать актуальную информацию, передавать сфокусированный контент одним взглядом и сделать навигацию последовательной и предсказуемой.
https://www.youtube.com/watch?v=BPJZ6A_brSw
#ios
👉
Погрузитесь в детали принципов проектирования watchOS и узнайте, как применять их в своем приложении с использованием SwiftUI. Мы покажем, как создать приложение для обновленного пользовательского интерфейса, чтобы отображать актуальную информацию, передавать сфокусированный контент одним взглядом и сделать навигацию последовательной и предсказуемой.
https://www.youtube.com/watch?v=BPJZ6A_brSw
#ios
👉
YouTube
WWDC23: Design and build apps for watchOS 10 | Apple
Dive into the details of watchOS design principles and learn how to apply them in your app using SwiftUI. We’ll show you how to build an app for the redesigned user interface to surface timely information, communicate focused content at a glance, and make…
This media is not supported in your browser
VIEW IN TELEGRAM
Разработка встроенных приложений на Swift
В последние годы Swift постепенно демонстрирует свой потенциал для кроссплатформенной разработки. В этой статье я поделюсь своим опытом и попытками использовать язык Swift для разработки встроенных систем на плате SwiftIO.
https://fatbobman.com/en/posts/developing-embedded-applications-with-swift/
#ios
👉
В последние годы Swift постепенно демонстрирует свой потенциал для кроссплатформенной разработки. В этой статье я поделюсь своим опытом и попытками использовать язык Swift для разработки встроенных систем на плате SwiftIO.
https://fatbobman.com/en/posts/developing-embedded-applications-with-swift/
#ios
👉
Toggle Labels With Icons — Personalizing Accessibility
https://eevis.codes/blog/2024-04-21/toggle-labels-with-icons-personalizing-accessibility/
#Android
👉
https://eevis.codes/blog/2024-04-21/toggle-labels-with-icons-personalizing-accessibility/
#Android
👉
Toggle Labels With Icons - Personalizing Accessibility | Eevis Panula, Mobile Accessibility Engineer
Let's continue the theme of personalizing your app for users for accessibility by adding a setting to toggle labels with icons.
Путешествие к центру Композиции
В продолжение разборов внутреннего устройства Compose Runtime Дмитрий рассказывает о Композиции — ключевом механизме фреймворка, без которого Compose и вовсе был бы не Compose.
В докладе рассмотрено, когда и где создается композиция, какие структуры данных используются для этого, а также как именно внесенные изменения обновляют дерево Composable-компонентов.
https://www.youtube.com/watch?v=L8mc7ZnO5zY
#Android
👉
В продолжение разборов внутреннего устройства Compose Runtime Дмитрий рассказывает о Композиции — ключевом механизме фреймворка, без которого Compose и вовсе был бы не Compose.
В докладе рассмотрено, когда и где создается композиция, какие структуры данных используются для этого, а также как именно внесенные изменения обновляют дерево Composable-компонентов.
https://www.youtube.com/watch?v=L8mc7ZnO5zY
#Android
👉
YouTube
Дмитрий Григорьев — Путешествие к центру Композиции
Ближайшая конференция — Mobius 2024 Autumn, 11 октября (Online), 19–20 октября, Санкт-Петербург. Подробности и билеты: https://jrg.su/Yu6KNJ
— —
Дмитрий Григорьев – Android-разработчик, интересуется декларативной и кроссплатформенной разработкой. Пишет и…
— —
Дмитрий Григорьев – Android-разработчик, интересуется декларативной и кроссплатформенной разработкой. Пишет и…
Опыт публикации Андроид приложения в Google Play независимым разработчиком в 2024 году
https://habr.com/ru/articles/814025/
#Android
👉
https://habr.com/ru/articles/814025/
#Android
👉
Сергей Балалаев — SwiftUI-навигация: просто, нативно и декларативно
Стартуя проект на SwiftUI 2.0 в конце 2021 года, Сергей с командой избрали тактику минимального использования UIKit, в том числе в вопросах навигации. Кроме того, они не стали создавать собственный NavigationView, а использовали тот механизм, который предоставил Apple – немного обернув его в решение, схожее с концепцией отображения модальных окон.
Изначально навигация была простой: TabBarView+NavigationView, поддержка с iOS 14, и все были счастливы. Затем дизайнеры и бизнес начали усложнять пути переходов экранов, создавая целые графы межэкранных прыжков, и команда столкнулась с техническими препятствиями и багами SwiftUI. Но они не свернули на UIKit, как это сделали те, кто вкусил SwiftUI до поддержки с iOS 16. Есть единицы, которые пошли по пути команды, и у них есть неплохие идеи. Однако их реализацию предстоит «доводить до ума».
Спикер поделился наработками команды, чтобы можно было безбоязненно идти в мир SwiftUI 2.0 с backports. Конечно же, есть готовые фреймворки, но они усложняют разработку и сводят на нет красоту декларативного подхода SwiftUI.
https://www.youtube.com/watch?v=suqghgwucrs
#ios
👉
Стартуя проект на SwiftUI 2.0 в конце 2021 года, Сергей с командой избрали тактику минимального использования UIKit, в том числе в вопросах навигации. Кроме того, они не стали создавать собственный NavigationView, а использовали тот механизм, который предоставил Apple – немного обернув его в решение, схожее с концепцией отображения модальных окон.
Изначально навигация была простой: TabBarView+NavigationView, поддержка с iOS 14, и все были счастливы. Затем дизайнеры и бизнес начали усложнять пути переходов экранов, создавая целые графы межэкранных прыжков, и команда столкнулась с техническими препятствиями и багами SwiftUI. Но они не свернули на UIKit, как это сделали те, кто вкусил SwiftUI до поддержки с iOS 16. Есть единицы, которые пошли по пути команды, и у них есть неплохие идеи. Однако их реализацию предстоит «доводить до ума».
Спикер поделился наработками команды, чтобы можно было безбоязненно идти в мир SwiftUI 2.0 с backports. Конечно же, есть готовые фреймворки, но они усложняют разработку и сводят на нет красоту декларативного подхода SwiftUI.
https://www.youtube.com/watch?v=suqghgwucrs
#ios
👉
YouTube
Сергей Балалаев — SwiftUI-навигация: просто, нативно и декларативно
Ближайшая конференция — Mobius 2024 Autumn, 11 октября (Online), 19–20 октября, Санкт-Петербург. Подробности и билеты: https://jrg.su/Yu6KNJ
— —
Стартуя проект на SwiftUI 2.0 в конце 2021 года, Сергей с командой избрали тактику минимального использования…
— —
Стартуя проект на SwiftUI 2.0 в конце 2021 года, Сергей с командой избрали тактику минимального использования…
Никита Краснов — Удивительный мир внутри .ipa
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся внутри файлам и показал, что интересного можно из них достать и как файлы можно модифицировать без вреда для приложения. Подробнее остановился на самом исполняемом файле: что интересно можно из него достать, не запуская и не используя дизассемблеры.
Мы узнали, как можно сравнить два приложения на схожесть, используя Hopper + BinDiff, и как сделать эти бинари отличающимися. Спикер объяснил, почему Apple знает, как зовут вашего юзера на компьютере, когда вы собираете приложение. Также пофантазировал на тему того, как Apple использует статический и динамический анализ .ipa во время ревью приложений для стора.
Доклад будет интересен разработчикам, которые создают White Label-приложения, а также всем, кто хорошо знает Swift, но при этом не знает, как приложение собирается и во что превращается на выходе.
Идея доклада родилась из необходимости публикации похожих приложений под разными названиями, а также из того, что Apple такие приложения не пропускает, ссылаясь на схожесть.
https://www.youtube.com/watch?v=C1PqxajPrks
#ios
👉
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся внутри файлам и показал, что интересного можно из них достать и как файлы можно модифицировать без вреда для приложения. Подробнее остановился на самом исполняемом файле: что интересно можно из него достать, не запуская и не используя дизассемблеры.
Мы узнали, как можно сравнить два приложения на схожесть, используя Hopper + BinDiff, и как сделать эти бинари отличающимися. Спикер объяснил, почему Apple знает, как зовут вашего юзера на компьютере, когда вы собираете приложение. Также пофантазировал на тему того, как Apple использует статический и динамический анализ .ipa во время ревью приложений для стора.
Доклад будет интересен разработчикам, которые создают White Label-приложения, а также всем, кто хорошо знает Swift, но при этом не знает, как приложение собирается и во что превращается на выходе.
Идея доклада родилась из необходимости публикации похожих приложений под разными названиями, а также из того, что Apple такие приложения не пропускает, ссылаясь на схожесть.
https://www.youtube.com/watch?v=C1PqxajPrks
#ios
👉
YouTube
Никита Краснов — Удивительный мир внутри .ipa
Ближайшая конференция — Mobius 2024 Autumn, 11 октября (Online), 19–20 октября, Санкт-Петербург. Подробности и билеты: https://jrg.su/Yu6KNJ
— —
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся…
— —
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся…
Никита Краснов — Удивительный мир внутри .ipa
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся внутри файлам и показал, что интересного можно из них достать и как файлы можно модифицировать без вреда для приложения. Подробнее остановился на самом исполняемом файле: что интересно можно из него достать, не запуская и не используя дизассемблеры.
Мы узнали, как можно сравнить два приложения на схожесть, используя Hopper + BinDiff, и как сделать эти бинари отличающимися. Спикер объяснил, почему Apple знает, как зовут вашего юзера на компьютере, когда вы собираете приложение. Также пофантазировал на тему того, как Apple использует статический и динамический анализ .ipa во время ревью приложений для стора.
Доклад будет интересен разработчикам, которые создают White Label-приложения, а также всем, кто хорошо знает Swift, но при этом не знает, как приложение собирается и во что превращается на выходе.
Идея доклада родилась из необходимости публикации похожих приложений под разными названиями, а также из того, что Apple такие приложения не пропускает, ссылаясь на схожесть.
https://www.youtube.com/watch?v=C1PqxajPrks
#ios
👉
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся внутри файлам и показал, что интересного можно из них достать и как файлы можно модифицировать без вреда для приложения. Подробнее остановился на самом исполняемом файле: что интересно можно из него достать, не запуская и не используя дизассемблеры.
Мы узнали, как можно сравнить два приложения на схожесть, используя Hopper + BinDiff, и как сделать эти бинари отличающимися. Спикер объяснил, почему Apple знает, как зовут вашего юзера на компьютере, когда вы собираете приложение. Также пофантазировал на тему того, как Apple использует статический и динамический анализ .ipa во время ревью приложений для стора.
Доклад будет интересен разработчикам, которые создают White Label-приложения, а также всем, кто хорошо знает Swift, но при этом не знает, как приложение собирается и во что превращается на выходе.
Идея доклада родилась из необходимости публикации похожих приложений под разными названиями, а также из того, что Apple такие приложения не пропускает, ссылаясь на схожесть.
https://www.youtube.com/watch?v=C1PqxajPrks
#ios
👉
YouTube
Никита Краснов — Удивительный мир внутри .ipa
Ближайшая конференция — Mobius 2024 Autumn, 11 октября (Online), 19–20 октября, Санкт-Петербург. Подробности и билеты: https://jrg.su/Yu6KNJ
— —
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся…
— —
В формате краткого воркшопа спикер рассказал, что есть внутри .ipa-файла, прошелся по самым часто встречающимся…
Глубокие ссылки для локальных уведомлений в SwiftUI
Уведомления имеют решающее значение для удержания пользователей в приложении. Почти все мои приложения содержат уведомления, которые не только запускают приложение, но и ведут к различным частям приложения. Сегодня я хочу поделиться тем, как я создаю глубокие ссылки для локальных уведомлений в своих приложениях.
https://swiftwithmajid.com/2024/04/09/deep-linking-for-local-notifications-in-swiftui/
#ios
👉
Уведомления имеют решающее значение для удержания пользователей в приложении. Почти все мои приложения содержат уведомления, которые не только запускают приложение, но и ведут к различным частям приложения. Сегодня я хочу поделиться тем, как я создаю глубокие ссылки для локальных уведомлений в своих приложениях.
https://swiftwithmajid.com/2024/04/09/deep-linking-for-local-notifications-in-swiftui/
#ios
👉
Swift with Majid
Deep linking for local notifications in SwiftUI
Notifications are crucial for keeping users engaged with your app. Almost all of my apps provide notifications that not only launch the app but also navigate to different parts of the app. Today, I want to share how I build deep links for local notifications…