Диспетчеризация методов iOS
Диспетчеризацией методов называют процесс поиска адреса инструкций, которые нужно выполнить CPU при вызове определенного метода. Знания принципов работы диспетчеризации методов необходимы при написании кода, поскольку они позволяют повысить производительность приложения, а также не допустить ошибок, связанных с неочевидным поведением в Swift.
В этой статье будут рассмотрены понятие диспетчеризации, его виды, преимущества и недостатки, а также приведены небольшие задачи для укрепления знаний:
https://habr.com/ru/articles/677616/
#ios #swift
Диспетчеризацией методов называют процесс поиска адреса инструкций, которые нужно выполнить CPU при вызове определенного метода. Знания принципов работы диспетчеризации методов необходимы при написании кода, поскольку они позволяют повысить производительность приложения, а также не допустить ошибок, связанных с неочевидным поведением в Swift.
В этой статье будут рассмотрены понятие диспетчеризации, его виды, преимущества и недостатки, а также приведены небольшие задачи для укрепления знаний:
https://habr.com/ru/articles/677616/
#ios #swift
Упрощение внедрения зависимостей с помощью паттерна «фасад» в iOS
Если мы работаем в приложении со слишком большим количеством модулей и, следовательно, слишком большим количеством зависимостей в каждом из них, может потребоваться много времени, чтобы сосчитать их все, внедрить в каждый класс, на который они полагаются.
К счастью, существует полезное решение, позволяющее упростить передачу слишком большого количества зависимостей в класс, и даже лучше: его можно разделить на более мелкие, если не все из них необходимы.
Подробнее:
https://pedroalvarez-29395.medium.com/ios-simplifying-dependency-injection-with-the-facade-design-pattern-bd863630da32
#ios
Если мы работаем в приложении со слишком большим количеством модулей и, следовательно, слишком большим количеством зависимостей в каждом из них, может потребоваться много времени, чтобы сосчитать их все, внедрить в каждый класс, на который они полагаются.
К счастью, существует полезное решение, позволяющее упростить передачу слишком большого количества зависимостей в класс, и даже лучше: его можно разделить на более мелкие, если не все из них необходимы.
Подробнее:
https://pedroalvarez-29395.medium.com/ios-simplifying-dependency-injection-with-the-facade-design-pattern-bd863630da32
#ios
❤2👍2
Создание виджетов для приложений iOS с помощью WidgetKit и SwiftUI
Начиная с iOS 14, Apple представила виджеты, которые позволяют пользователям отображать часть содержимого приложения на главном экране.
Давайте посмотрим, как мы можем использовать платформу WidgetKit для добавления виджетов в приложения iOS:
https://tanaschita.com/20220905-building-widgets-for-ios-applications-with-widgetkit-and-swiftui/
#ios #swift
Начиная с iOS 14, Apple представила виджеты, которые позволяют пользователям отображать часть содержимого приложения на главном экране.
Давайте посмотрим, как мы можем использовать платформу WidgetKit для добавления виджетов в приложения iOS:
https://tanaschita.com/20220905-building-widgets-for-ios-applications-with-widgetkit-and-swiftui/
#ios #swift
❤2
Большая коллекция инструментов для iOS-разработчиков
Каждому разработчику нужен свой инструментарий, который будет помогать ему решать самые сложные задачи. В этой подборке вы наверняка найдёте себе такие инструменты, ведь здесь собрано всё самое полезное для аналитики, отладки, локализации, машинного обучения и многого другого.
Открывайте, изучайте и сохраняйте пост в избранное, чтобы вернуться к нему при случае:
https://github.com/ios-dev-tools/awesome-ios-dev-tools
#ios #инструмент
Каждому разработчику нужен свой инструментарий, который будет помогать ему решать самые сложные задачи. В этой подборке вы наверняка найдёте себе такие инструменты, ведь здесь собрано всё самое полезное для аналитики, отладки, локализации, машинного обучения и многого другого.
Открывайте, изучайте и сохраняйте пост в избранное, чтобы вернуться к нему при случае:
https://github.com/ios-dev-tools/awesome-ios-dev-tools
#ios #инструмент
GitHub
GitHub - ios-dev-tools/awesome-ios-dev-tools: A list of the best tools for iOS developers
A list of the best tools for iOS developers. Contribute to ios-dev-tools/awesome-ios-dev-tools development by creating an account on GitHub.
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Собственно из заголовка уже понятно, что вас ждёт по ссылке — удобные элементы интерфейса, которые вам не нужно создавать с нуля, если вы работаете со SwiftUI. А ещё они стильные.
#ios #библиотека
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Сравнение Kotlin, Swift и Dart
В этой статье автор покажем вам, как написать один и тот же код на трех популярных декларативных фреймворках — Jetpack Compose, SwiftUI и Flutter.
Таким образом, вы сможете сравнить, как они работают и чем отличаются при создании интерфейсов.
#ios #android #flutter
В этой статье автор покажем вам, как написать один и тот же код на трех популярных декларативных фреймворках — Jetpack Compose, SwiftUI и Flutter.
Таким образом, вы сможете сравнить, как они работают и чем отличаются при создании интерфейсов.
#ios #android #flutter
👍6❤1🔥1
Swift на сервере в 2023
Вас интересует развитие Swift на серверной стороне? Тогда обязательно прочтите этот ежегодный отчёт рабочей группы Swift Server!
На 2023 год запланирован дальнейший рост экосистемы, расширение документации и совершенствование инструментов разработки.
#ios #swift
Вас интересует развитие Swift на серверной стороне? Тогда обязательно прочтите этот ежегодный отчёт рабочей группы Swift Server!
На 2023 год запланирован дальнейший рост экосистемы, расширение документации и совершенствование инструментов разработки.
#ios #swift
❤4👍1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Добавление прокрутки в симуляторе Xcode!
Приложение для работы со строкой меню, которое добавляет прокрутку.
https://github.com/aheze/Squirrel
#ios
@mobdevelop
Приложение для работы со строкой меню, которое добавляет прокрутку.
https://github.com/aheze/Squirrel
#ios
@mobdevelop
👍6❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Две идеи проектов для начинающих iOS-разработчиков
Flappy Fly Bird — проект с открытым исходным кодом по мотивам классики аркадного жанра на Swift 5.5, GameplayKit, SpriteKit и iOS 12.
Coffee-Ratio — приложение создано для любителей кофе и помогает пользователю рассчитать соотношение воды и кофе для каждой порции.
#ios #петпроект
Flappy Fly Bird — проект с открытым исходным кодом по мотивам классики аркадного жанра на Swift 5.5, GameplayKit, SpriteKit и iOS 12.
Coffee-Ratio — приложение создано для любителей кофе и помогает пользователю рассчитать соотношение воды и кофе для каждой порции.
#ios #петпроект
👍8❤2
Пишем аналог приложения Uber на iOS
Интересный 4-часовой видеоурок, с помощью которого вы создадите почтиUber с помощью SwiftUI.
Автор разбирает:
— методы для получения текущего местоположения пользователя,
— создание интерфейса и реализацию функциональности просмотра запросов на поездку,
— поиск и выбор местоположения,
— добавление данных о поездке и тёмную тему.
Сохраняйте — будет, чем заняться на праздниках: https://youtu.be/Z6-KVWXbw-w
#ios
Интересный 4-часовой видеоурок, с помощью которого вы создадите почтиUber с помощью SwiftUI.
Автор разбирает:
— методы для получения текущего местоположения пользователя,
— создание интерфейса и реализацию функциональности просмотра запросов на поездку,
— поиск и выбор местоположения,
— добавление данных о поездке и тёмную тему.
Сохраняйте — будет, чем заняться на праздниках: https://youtu.be/Z6-KVWXbw-w
#ios
👍8❤2🔥2
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю
Почитать:
— Раскраска SVG картинки во flutter, и почему я решил отключить Impeller
— Огромная шпаргалка с готовыми запросами SQL (SQLite)
— Реализация чата на Flutter при помощи вебсокетов
— Практическая реализация паттерна Server-Driven UI на Flutter c использованием фреймворка Duit
— Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы
— Как создать shader в Flutter для эффектной анимации в приложении?
— Как с помощью ChatGPT реализовать раскраску во flutter
— Вся наша жизнь – игра: или как прижилась геймификация внутри мобильного приложения в ритейле
— Бесплатные курсы Golang 2024
— Уменьшаем boilerplate с помощью Swift Macros
— Направо пойдешь — в бэкенд придешь, налево — в мобилки…
— Кто ты, SwiftData
— Аналитика в игре на Godot: подключаем MyTracker
— How to create a similar pan an a zoom movement in Flutter flame
— First build and publish Nx expo app
— Ultimate Cross-Platform Framework Selection: Flutter or React Native
— Flutter Developer ROADMAP 2024
— Exploration of Flutter Hot Update Technology
— In-Depth Perspective on Flutter: A Comprehensive Analysis and Practice Guide
— SwiftUI Essentials: Crafting a To-Do List App with Xcode and Git Integration
— Easily Replicate a Waiting List UI in .NET MAUI
— Exploring UI UX Immersive Trends in 2024 and Beyond
— Generics in Swift: Expanding Flexibility and Code Reusability
Посмотреть:
🌐 Golang 100 вопросов с собеседований. Подготовка Go разработчика Часть 1 (⏱ 38:15)
🌐 Задание с собеседования Golang разработчика. Разбор важных тем. (⏱ 14:24)
🌐 Q&A Стрим. Прожариваем новые форматы (⏱ 01:19:43)
🌐 Разбор кода приложения по доставке пиццы (⏱ 01:45:57)
🌐 Сколько учиться #ios разработке? #apple #swift (⏱ 00:33)
🌐 Вклад Алан Тьюринга в развитии в #ИИ (⏱ 01:00)
🌐 Сколько времени нужно для разработки #ios приложения #apple #swift (⏱ 00:44)
🌐 Выполнение Тестового задания на вакансию #IOS разработчика. Часть 1 #swiftUI (⏱ 01:14:48)
🌐 Сколько стоит разработка #ios приложения #apple #swift #iphone (⏱ 00:37)
🌐 Вклад Джона фон Неймана в развитии в #ИИ (⏱ 00:56)
🌐 Первое в истории упоминание #ИИ (⏱ 00:28)
🌐 История развития Искуственного Интелекта. Фильм. Часть 1 (⏱ 09:48)
🌐 Про #ios разработку за 60 секунд #swift #apple (⏱ 00:59)
Хорошего дня!
Почитать:
— Раскраска SVG картинки во flutter, и почему я решил отключить Impeller
— Огромная шпаргалка с готовыми запросами SQL (SQLite)
— Реализация чата на Flutter при помощи вебсокетов
— Практическая реализация паттерна Server-Driven UI на Flutter c использованием фреймворка Duit
— Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы
— Как создать shader в Flutter для эффектной анимации в приложении?
— Как с помощью ChatGPT реализовать раскраску во flutter
— Вся наша жизнь – игра: или как прижилась геймификация внутри мобильного приложения в ритейле
— Бесплатные курсы Golang 2024
— Уменьшаем boilerplate с помощью Swift Macros
— Направо пойдешь — в бэкенд придешь, налево — в мобилки…
— Кто ты, SwiftData
— Аналитика в игре на Godot: подключаем MyTracker
— How to create a similar pan an a zoom movement in Flutter flame
— First build and publish Nx expo app
— Ultimate Cross-Platform Framework Selection: Flutter or React Native
— Flutter Developer ROADMAP 2024
— Exploration of Flutter Hot Update Technology
— In-Depth Perspective on Flutter: A Comprehensive Analysis and Practice Guide
— SwiftUI Essentials: Crafting a To-Do List App with Xcode and Git Integration
— Easily Replicate a Waiting List UI in .NET MAUI
— Exploring UI UX Immersive Trends in 2024 and Beyond
— Generics in Swift: Expanding Flexibility and Code Reusability
Посмотреть:
🌐 Golang 100 вопросов с собеседований. Подготовка Go разработчика Часть 1 (⏱ 38:15)
🌐 Задание с собеседования Golang разработчика. Разбор важных тем. (⏱ 14:24)
🌐 Q&A Стрим. Прожариваем новые форматы (⏱ 01:19:43)
🌐 Разбор кода приложения по доставке пиццы (⏱ 01:45:57)
🌐 Сколько учиться #ios разработке? #apple #swift (⏱ 00:33)
🌐 Вклад Алан Тьюринга в развитии в #ИИ (⏱ 01:00)
🌐 Сколько времени нужно для разработки #ios приложения #apple #swift (⏱ 00:44)
🌐 Выполнение Тестового задания на вакансию #IOS разработчика. Часть 1 #swiftUI (⏱ 01:14:48)
🌐 Сколько стоит разработка #ios приложения #apple #swift #iphone (⏱ 00:37)
🌐 Вклад Джона фон Неймана в развитии в #ИИ (⏱ 00:56)
🌐 Первое в истории упоминание #ИИ (⏱ 00:28)
🌐 История развития Искуственного Интелекта. Фильм. Часть 1 (⏱ 09:48)
🌐 Про #ios разработку за 60 секунд #swift #apple (⏱ 00:59)
Хорошего дня!
👍3❤1🔥1
Создаём кастомный календарь на SwiftUI
Видео о том, как создать многоразовый пользовательский календарь, который вы сможете использовать в своих проектах для различных целей. Календарь сделан интерактивным, позволяя пользователям выбирать даты и изменять цвета.
Сохраните, чтобы не потерять: https://www.youtube.com/watch?v=X_boPC1tg_Y
#ios
Видео о том, как создать многоразовый пользовательский календарь, который вы сможете использовать в своих проектах для различных целей. Календарь сделан интерактивным, позволяя пользователям выбирать даты и изменять цвета.
Сохраните, чтобы не потерять: https://www.youtube.com/watch?v=X_boPC1tg_Y
#ios
👍4🔥2❤1
SweetPad: разрабатываем Swift/iOS-приложений на VSCode
Авторы проекта хотят сделать VSCode жизнеспособной альтернативой Xcode для разработки под iOS, интегрировав в VSCode swift-format, swiftlint, xcodebuild, xcrun, xcode-build-server и sourcekit-lsp.
Сейчас в SweetPad уже работает автодополнение кода, сборка, запуск и отладка приложения, форматирование кода, управление симуляторами, управление инструментами.
Исходники на гитхабе: https://github.com/sweetpad-dev/sweetpad
#ios
Авторы проекта хотят сделать VSCode жизнеспособной альтернативой Xcode для разработки под iOS, интегрировав в VSCode swift-format, swiftlint, xcodebuild, xcrun, xcode-build-server и sourcekit-lsp.
Сейчас в SweetPad уже работает автодополнение кода, сборка, запуск и отладка приложения, форматирование кода, управление симуляторами, управление инструментами.
Исходники на гитхабе: https://github.com/sweetpad-dev/sweetpad
#ios
👍3🔥3❤1
Убираем M из MVVM в SwiftUI
Я так часто сталкиваюсь с этим вопросом, что наконец-то хочу написать о нем. Это не будет длинный пост об архитектуре iOS-приложений, и это даже не будет провокационный быстрый комментарий. Это просто то, как я создаю iOS-приложения в эти дни, особенно Ice Cubes, мой SwiftUI клиент Mastodon с открытым исходным кодом. Если вы достаточно хорошо инкапсулируете свой код, ваши View — это просто представления состояний, не меньше и не больше.
https://blog.stackademic.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e
#ios
Я так часто сталкиваюсь с этим вопросом, что наконец-то хочу написать о нем. Это не будет длинный пост об архитектуре iOS-приложений, и это даже не будет провокационный быстрый комментарий. Это просто то, как я создаю iOS-приложения в эти дни, особенно Ice Cubes, мой SwiftUI клиент Mastodon с открытым исходным кодом. Если вы достаточно хорошо инкапсулируете свой код, ваши View — это просто представления состояний, не меньше и не больше.
https://blog.stackademic.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e
#ios
👍8❤3👎1🔥1
Как создать гистограмму с помощью 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
👍1
Forwarded from Machinelearning
PocketPal AI - проект Ai-ассистента на базе SLM, которые запускаются локально на iOS и Android без необходимости подключения к Интернету:
Приложения на обеих платформах позволяет выбирать модели, настраивать параметры инференса (системный промпт, температура, шаблоны чата и BOS), следить за показателями производительности в реальном времени и имеют функцию автоматической выгрузки моделей из памяти устройства, когда приложение в фоновом режиме.
Список моделей в приложении (загружаются вручную из меню):
Помимо этих моделей, можно загрузить любую модель в формате GGUF через опцию "Add Local Model" в меню моделей приложения на устройстве.
В планах проекта расширение списка поддерживаемых моделей, улучшение функций пользовательского интерфейса и поддержка большего количества версий Android/
⚠️ Требования для локальная разработки проекта PocketPal:
# Clone repository
git clone https://github.com/a-ghorbani/pocketpal-ai
cd pocketpal-ai
# Install dependencies
yarn install
# Install dependencies iOS only
cd ios
pod install
cd ..
# Run App via iOS Simulator
yarn ios
# Run App via Android Simulator
yarn android
@ai_machinelearning_big_data
#AI #ML #SLM #iOS #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2👍1👎1
🍏 fileprivate vs private
🔹 Свойство fileprivate может быть прочитано в любом месте того же файла Swift, но не за его пределами.
🔹 Свойство private можно прочитать только внутри типа, в котором оно было объявлено (а также в расширениях этого типа в том же файле).
Подробнее о private и fileprivate здесь.
#Swift #iOS
🔹 Свойство fileprivate может быть прочитано в любом месте того же файла Swift, но не за его пределами.
🔹 Свойство private можно прочитать только внутри типа, в котором оно было объявлено (а также в расширениях этого типа в том же файле).
Подробнее о private и fileprivate здесь.
#Swift #iOS
Sarunw
Swift fileprivate vs private | Sarunw
Learn the difference between two similar access levels in Swift, private and fileprivate.
👍1
🌟 GitHubVerge — мощная библиотека для управления состоянием
Verge представляет собой высокоэффективную и масштабируемую библиотеку для управления состоянием приложений на Swift. Разработана с акцентом на реальные сценарии использования, она обеспечивает удобный и интуитивный подход к управлению состоянием приложения, избегая сложностей, связанных с действиями и редукторами. Verge совместим как с UIKit, так и со SwiftUI.
📌 Github
#ios #mobile
Verge представляет собой высокоэффективную и масштабируемую библиотеку для управления состоянием приложений на Swift. Разработана с акцентом на реальные сценарии использования, она обеспечивает удобный и интуитивный подход к управлению состоянием приложения, избегая сложностей, связанных с действиями и редукторами. Verge совместим как с UIKit, так и со SwiftUI.
📌 Github
#ios #mobile
🔥3👍2❤1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Работаем с сетчатыми градиентами в iOS 18
В iOS 18 появилась возможность создавать сетчатые градиенты. Сетчатые градиенты — это действительно хороший способ создания очень крутых эффектов в пользовательском интерфейсе. В этой статье мы рассмотрим, что такое сетчатые градиенты, как их можно использовать и как их можно анимировать, чтобы они выглядели действительно круто.
Для начала мы рассмотрим, как можно создать сетчатый градиент. Мы рассмотрим, как это работает, а затем посмотрим, что можно анимировать и как можно играть с градиентами. В конце статьи я немного расскажу о том, где, на мой взгляд, имеет смысл использовать сетчатые градиенты, а где может быть не стоит.
https://www.donnywals.com/getting-started-with-mesh-gradients-on-ios-18/
#ios@developer_mobila
В iOS 18 появилась возможность создавать сетчатые градиенты. Сетчатые градиенты — это действительно хороший способ создания очень крутых эффектов в пользовательском интерфейсе. В этой статье мы рассмотрим, что такое сетчатые градиенты, как их можно использовать и как их можно анимировать, чтобы они выглядели действительно круто.
Для начала мы рассмотрим, как можно создать сетчатый градиент. Мы рассмотрим, как это работает, а затем посмотрим, что можно анимировать и как можно играть с градиентами. В конце статьи я немного расскажу о том, где, на мой взгляд, имеет смысл использовать сетчатые градиенты, а где может быть не стоит.
https://www.donnywals.com/getting-started-with-mesh-gradients-on-ios-18/
#ios@developer_mobila
❤1
Media is too big
VIEW IN TELEGRAM
Как создать пользовательский экран в SwiftUI
Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]
https://github.com/fieldday-ai/Modals
#ios
Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]
https://github.com/fieldday-ai/Modals
#ios
👍2❤1