tgoop.com »
United States »
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck » Telegram Web
👾 Почему reified возможно использовать только с inline-функциями
Ключевое слово
inline-функции в Kotlin позволяют копировать тело функции непосредственно в вызывающий код. Это позволяет избежать накладных расходов на создание объектов и вызовы функций при каждом вызове.
Именно
Также стоит отметить, что ключевое слово
#kotlin
Ключевое слово
reified
используется только с inline-функциями, т.к. оно позволяет получить доступ к информации о типе-параметре на этапе выполнения программы, что невозможно для обычных (non-inline) функций.inline-функции в Kotlin позволяют копировать тело функции непосредственно в вызывающий код. Это позволяет избежать накладных расходов на создание объектов и вызовы функций при каждом вызове.
Именно
reified
в комбинации с inline
позволяет сохранить информацию о типе-параметре и передать ее внутрь функции в рантайме, что было бы невозможно без inline
.Также стоит отметить, что ключевое слово
reified
можно применять только с обобщенными типами (дженериками).#kotlin
📱 Осваиваем скроллинг в SwiftUI
Начиная с iOS 17 в SwiftUI появилась функция
В этой статье на реальном примере автор показывает, как использовать
👉 Читать статью
#новость #ios #swift
Начиная с iOS 17 в SwiftUI появилась функция
scrollTargetBehavior
, позволяющая разработчикам управлять поведением прокрутки с большей точностью. Будь то выравнивание представлений или реализация пользовательских эффектов пагинации, ScrollTargetBehavior
обеспечивает надежную поддержку. Что еще более важно, разработчики могут создавать собственные реализации функции для удовлетворения конкретных потребностей. В этой статье на реальном примере автор показывает, как использовать
scrollTargetBehavior
и в конечном итоге реализовать пользовательскую логику управления прокруткой.👉 Читать статью
#новость #ios #swift
💬 Monal — открытый XMPP-клиент
Monal — кроссплатформенный современный открытый XMPP-клиент для iOS и macOS. Среди фич — отсутствие рекламы и отслеживания личной информации, зашифрованные чаты, работа с корпоративными XMPP-серверами, требующими VPN, поддержка групповых чатов, аудио/видео звонков.
⚙️ Monal на GitHub
#новость #ios
Monal — кроссплатформенный современный открытый XMPP-клиент для iOS и macOS. Среди фич — отсутствие рекламы и отслеживания личной информации, зашифрованные чаты, работа с корпоративными XMPP-серверами, требующими VPN, поддержка групповых чатов, аудио/видео звонков.
⚙️ Monal на GitHub
#новость #ios
🌐 Pазгоняем MVVM до максимума
Задумываетесь ли вы при покупке новой вещи о том, какой путь она прошла, прежде чем попасть к вам в руки? А ведь телефон, книга или тарелка могли посетить аж четыре дополнительных точки, если продавец далеко от склада.
Автор статьи делится, как с помощью грамотно подобранной архитектуры Яндекс удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.
👉 Читать статью
#новость #flutter
Задумываетесь ли вы при покупке новой вещи о том, какой путь она прошла, прежде чем попасть к вам в руки? А ведь телефон, книга или тарелка могли посетить аж четыре дополнительных точки, если продавец далеко от склада.
Автор статьи делится, как с помощью грамотно подобранной архитектуры Яндекс удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.
👉 Читать статью
#новость #flutter
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts
🔹 Как мы из России опубликовали платное приложение в App Store
🔹 Анализ Android-фич на доступность и внедрение accessibility в процесс разработки
🔹R8: Шакалья работа (уменьшение apk через правки R8)
🔹 Приватный финансовый менеджер inCourse на React Native. Опыт разработки
#дайджест
🔹 Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts
🔹 Как мы из России опубликовали платное приложение в App Store
🔹 Анализ Android-фич на доступность и внедрение accessibility в процесс разработки
🔹R8: Шакалья работа (уменьшение apk через правки R8)
🔹 Приватный финансовый менеджер inCourse на React Native. Опыт разработки
#дайджест
🎨 Что такое перерисовка и как с ней бороться
Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране.
В статье автор рассказывает, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить.
👉 Читать статью
#новость #android
Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране.
В статье автор рассказывает, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить.
👉 Читать статью
#новость #android
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
🍏 Назовите 5 утверждений передачи управления (Control Transfer Statements)
Вот онислева-направо (сверху-вниз):
•
•
•
•
•
Операторы передачи управления изменяют порядок выполнения вашего кода.
Например, вы можете использовать оператор передачи управления
#swift
Вот они
•
Break
•
Continue
•
Fallthrough
•
Throw
•
Return
Операторы передачи управления изменяют порядок выполнения вашего кода.
Например, вы можете использовать оператор передачи управления
break
для завершения выполнения цикла for
, когда продолжение цикла считается ненужным:for choice in choices:if isCorrect(choice):print(«Correct choice found!»)break
#swift
🌐 Такие разные Slivers: аналоги обычных виджетов
Заключительная часть цикла о сливер-виджетах во Flutter. За прошедшие статьи автор разобрал множество различных типов сливеров, от списков и сеток до гибких решений для управления размером и поведением элементов.
В финальной статье автор познакомит со сливер-виджетами, которые являются аналогами обычных (box-based) виджетов, выполняя схожие функции, но для работы в прокручиваемых структурах.
Эти элементы расширяют возможности управления видимостью, анимациями и декорациями, предоставляя дополнительную гибкость при создании сложных интерфейсов.
👉 Читать статью
#новость #flutter
Заключительная часть цикла о сливер-виджетах во Flutter. За прошедшие статьи автор разобрал множество различных типов сливеров, от списков и сеток до гибких решений для управления размером и поведением элементов.
В финальной статье автор познакомит со сливер-виджетами, которые являются аналогами обычных (box-based) виджетов, выполняя схожие функции, но для работы в прокручиваемых структурах.
Эти элементы расширяют возможности управления видимостью, анимациями и декорациями, предоставляя дополнительную гибкость при создании сложных интерфейсов.
👉 Читать статью
#новость #flutter
🕥 APIGoogle запустил TrustedTime API
Точное время критично для многих функций приложений, но пользователь может изменить время на устройстве, поэтому может потребоваться более точный источник времени, чем локальное системное время устройства.
Google представил TrustedTime API, который предоставляет надежную временную метку, не зависящую от настроек локального времени устройства.
👉 Читать статью
#новость #android
Точное время критично для многих функций приложений, но пользователь может изменить время на устройстве, поэтому может потребоваться более точный источник времени, чем локальное системное время устройства.
Google представил TrustedTime API, который предоставляет надежную временную метку, не зависящую от настроек локального времени устройства.
👉 Читать статью
#новость #android
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📱 Чем полезен Server Driven UI
Автор статьи рассказывает о Server Driven UI по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрит подходы к ее реализации
👉 Читать статью
#новость #android #ios
Автор статьи рассказывает о Server Driven UI по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрит подходы к ее реализации
👉 Читать статью
#новость #android #ios
Forwarded from Proglib.academy | IT-курсы
Мы разберем, почему компании, которые массово увольняют разработчиков в пользу ИИ, рискуют остаться у разбитого корыта. Сгенерированный код не умеет исправлять баги, а инженеры, которые действительно понимают систему, становятся редкостью и роскошью.
▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.
▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.
▪️ Почему опытные разработчики станут супердорогими и востребованными.
▪️ К чему приведет полная ставка на искусственный интеллект в IT.
🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 Как оживает смартфон
Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.
👉 Читать статью
#новость #android
Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.
👉 Читать статью
#новость #android
🍏 Neovim для iOS разработки
Старички тут? Нашли для самых отважных крутейший плагин переноса разработки приложений из Xcode в Neovim.
Поддерживает все! От iOS до visionOS.
А так же сборку, запуск, отладку приложений на симуляторах или физических устройствах.
Neovim может быть легко интегрирован с SwiftLint, Swift Format, Copilot.
Очень простая настройка и подробная документация идет в придачу!
👉 Github
Старички тут? Нашли для самых отважных крутейший плагин переноса разработки приложений из Xcode в Neovim.
Поддерживает все! От iOS до visionOS.
А так же сборку, запуск, отладку приложений на симуляторах или физических устройствах.
Neovim может быть легко интегрирован с SwiftLint, Swift Format, Copilot.
Очень простая настройка и подробная документация идет в придачу!
👉 Github
📲 Погружаемся в мир технологий Яндекс Переводчика
В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.
👀 Смотреть видео
#новость #android
В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.
👀 Смотреть видео
#новость #android
👾 Конструкторы в Kotlin
Свойств у класса может быть столько, сколько ему нужно. Но все они должны быть инициализированы при создании экземпляра этого класса. Поэтому для удобства был придуман конструктор — специальный блок кода, который вызывается при создании экземпляра класса. Ему передаются необходимые значения, которые потом используются для инициализации свойств.
Класс в Kotlin может иметь основной конструктор (primary) и один или более вторичных конструкторов (secondary). У класса может и не быть конструктора, но Kotlin всё равно автоматически сгенерирует основной конструктор по умолчанию (без параметров).
👉 Подробнее в статье
#kotlin
Свойств у класса может быть столько, сколько ему нужно. Но все они должны быть инициализированы при создании экземпляра этого класса. Поэтому для удобства был придуман конструктор — специальный блок кода, который вызывается при создании экземпляра класса. Ему передаются необходимые значения, которые потом используются для инициализации свойств.
Класс в Kotlin может иметь основной конструктор (primary) и один или более вторичных конструкторов (secondary). У класса может и не быть конструктора, но Kotlin всё равно автоматически сгенерирует основной конструктор по умолчанию (без параметров).
👉 Подробнее в статье
#kotlin
🗺️ Pисуем аватарки на карте
Для создания динамичных и визуально привлекательных карт иногда требуется отображать изображения, например, аватары пользователей, загружаемые с сервера.
В статье автор рассматривает, как загрузить изображение через Coil и отобразить его на карте при помощи SDK для Yandex MapKit.
👉 Читать статью
#новость #kotlin
Для создания динамичных и визуально привлекательных карт иногда требуется отображать изображения, например, аватары пользователей, загружаемые с сервера.
В статье автор рассматривает, как загрузить изображение через Coil и отобразить его на карте при помощи SDK для Yandex MapKit.
👉 Читать статью
#новость #kotlin
🍏 Yams — парсер YAML для Swift
Yams — парсер YAML для Swift (YAML — это удобный для человека язык сериализации данных). В Yams есть три группы API преобразований: одна для использования с типами Codable, другая — для типов стандартной библиотеки Swift, а третья — для нативного представления Yams.
⚙️ Yams на GitHub
#новость #ios
Yams — парсер YAML для Swift (YAML — это удобный для человека язык сериализации данных). В Yams есть три группы API преобразований: одна для использования с типами Codable, другая — для типов стандартной библиотеки Swift, а третья — для нативного представления Yams.
⚙️ Yams на GitHub
#новость #ios