iOS Broadcast
3.36K subscribers
1.72K photos
85 videos
984 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🈸 Cравнительный анализ приложений

Пользовались ли вы сравнительным анализом приложений в AppStoreConnect? Функция помогает разработчикам получить более полную информацию о своих приложениях. Бенчмаркинг позволяет сравнивать производительность приложений с аналогичными. Функция защищает конфиденциальность, объединяя приложения в группы.

Показатели для бенчмаркинга:
🟢Коэффициент конверсии помогает оценить привлечение клиентов.
🟢Удержание пользователей показывает, насколько приложение привлекательно.
🟢Crash-free уровень помогает оценить стабильность приложения.
🟢Выручка на одного платящего пользователя показывает эффективность монетизации.

Как это использовать?
🔵Бенчмаркинг помогает определить возможности для роста.
🔵Другие инструменты App Store, такие как оптимизация страницы продукта и события в приложении, могут улучшить показатели.
🔵Групповой бенчмаркинг в сочетании с другими функциями App Store помогает повысить производительность приложений.

#appstore #analytics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
🐥 Как скрыть клавиатуру для TextField в SwiftUI

Ну а теперь действительно интересная находная, очередной способ скрыть клавиатуру, в этот раз для iOS 15+SwiftUI. Для этого можно использовать @FocusState и focusable(). А чтобы реализовать скрытие по тапу в пустую область, достаточно использовать onTapGesture

#keyboard #dismiss #swiftui
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🤔1💯1
💔 Что происходит с рынком ИТ во всем мире?

Наткнулся на выходных на оч. интересный обзор с размышлением о том, что вообще происходит с рынком разработки. Почему происходит снижение числа вакансий в области программной инженерии? Все достаточно хорошо видно на графиках (zero Interest rates тут про околонулевые ставки центробанков)
🟢Количество активных объявлений о вакансиях разработчика программного обеспечения снизилось на 35% с января 2020 года.
🟢Раздел 174, вступающий в силу с 2023 года, может привести к сокращению рабочих мест разработчиков в США. Но не объясняют падение числа вакансий в Великобритании и Франции.
🟢В других отраслях, таких как банки и финансы, продажи, маркетинг, также наблюдается спад.
🟢Влияние генеративного ИИ: LLM могут заменить разработчиков, что приведет к сокращению числа вакансий.
🟢Изменения процентных ставок: конец "нулевых" процентных ставок влияет на экономику, но не объясняет полное падение числа вакансий.

Мнение о производительности и кадрах
🟢Компании, такие как Salesforce, заявляют о росте производительности за счет ИИ, но это может быть связано с увеличением продаж.
🟢Возможно, компании считают, что нанимали сотрудников слишком быстро и теперь сбавляют обороты.
🟢Linear и Bluesky нанимают сотрудников медленно и имеют небольшие инженерные команды, что показывает их эффективность.
🟢Возможно, создание продуктов будет проще для одного или двух инженеров благодаря языкам, таким как Typescript.
🟢LLM упрощают переход на разные стеки разработки.
🟢В 2023 году число инженеров-программистов сократилось впервые за 20 лет.
🟢Рост в технологической отрасли в этом году будет ниже, чем в предыдущие годы.

Оптимистичный прогноз
🟢LLM повышают индивидуальную и командную производительность.
🟢Может быть основано больше стартапов и традиционные компании могут перенести разработку внутрь.

Пессимистичный прогноз
🟢Программное обеспечение становится дешевле в производстве, но требуется меньше инженеров.
🟢Предприниматели могут не ухватиться за возможность создавать идеи более эффективно.

Влияние LLM на рынок труда
🟢LLM замедляют набор персонала в крупных компаниях.
🟢Стартапы предпочитают нанимать сотрудников медленнее.
🟢Неясно, сколько нового программного обеспечения будет создано не разработчиками.

Я больше верю в "эффект COVID" чем в эффект AI. Многие поверили в новый WFH мир, наняли слишком много кадров, а многие не относящиеся к IT резко захотели в IT. Сейчас же AI и LLM скорее это вера, а вот реальный пузырь в сфере разработки начинает сдуваться. Но я верю что все, кому это нравилось и кто шел не ради денег, найдут себе место в новом мире с AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💯15
🆓 SharingGRDB: альтернатива SwiftData

Я достаточно подробно разбирал внутренности SwiftData в статье, ничего особенного в ней нет. Так что поиск особенного продолжается. В этот раз снова порадовали Pointfree своим решением по использованию SQL со SwiftUI и UIKit:
🟢Новая опенсорсная библиотека, объединяющая их Sharing и уже популярную GRDB.swift
🟢Предоставляет прямой доступ к SQLite, включая джоины и агрегации
🟢Может использоваться из UIKit, SwiftUI или просто @Observable
🟢Легкая замена SwiftData и @Query макроса
🟢Поддерживает сложные запросы через API построителя запросов GRDB

Чем мне нравятся решения от PointFree, так это документацией:
🟣Выборка данных
🟣Наблюдение за изменениями
🟣Подготовка SQLite
🟣Динамические запросы
🟣Сравнение с SwiftData
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🖥 Разница между Task.sleep и Task.yield

Task.sleep()
🟢Приостанавливает выполнение задачи на заданный срок
🟢Не блокирует базовый поток, позволяя выполнять задачи с более низким приоритетом
🟢Выдает ошибку CancellationError при отмене задачи
💡Примеры использования: задержка пользовательского ввода, периодический опрос API, ограничение скорости сетевых запросов, искусственные задержки при тестировании

Task.yield()
🟢Приостанавливает выполнение текущей задачи, позволяя выполнять другие задачи
🟢Не оказывает влияния, если текущая задача имеет наивысший приоритет
💡Примеры использования: написание тестов для асинхронного кода, отслеживание хода выполнения тестируемого кода

Различия
🟢Task.sleep() приостанавливает выполнение на фиксированный срок, Task.yield() — только при наличии задач с аналогичным или более низким приоритетом
🟢Task.sleep() можно прервать с помощью отмены, Task.yield() возвращает только управление
🟢Оба метода не блокируют потоки

Вывод
🟣Task.sleep() и Task.yield() приостанавливают выполнение, но по-разному
🟣Task.sleep() подходит для большинства случаев, Task.yield() полезен при написании тестов для асинхронных методов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7