tgoop.com »
United States »
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck » Telegram Web
Доклад о том, как в Яндексе развивают SDK для рекламной монетизации. Решением пользуются тысячи приложений, и команде важна стабильная работа продукта.
В докладе спикер:
• Рассказал, почему работают с разными видами тестов и какие используют.
• Объяснил, как погружаются в байт-код и анализируют стек-трейсы, чтобы искать ошибки.
• Рассмотрел инструменты мониторинга — как следят за метриками, какие оповещения для них используют.
• Поделился опытом, как безопасно внедрять новые функции.
• Показал, как сокращают количество ошибок.
• Особое внимание уделил различиям между разработкой SDK и мобильных приложений и рассказал, как они влияют на решения.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8
⚡️ Команда дня:
Хочешь понять, какие зависимости твоего проекта устарели — и стоит ли их обновлять? Вот команда, которая быстро всё покажет:
📌 Что делает:
— Проверяет все пакеты в
— Показывает текущие, доступные и последние версии библиотек
— Помогает понять, где можно безопасно обновиться
Пример вывода:
👀 Полезно, когда:
— Готовишь проект к релизу и хочешь убедиться, что всё актуально
— Нужно проверить, не тянет ли зависимость старые версии других пакетов
— Хочешь поддерживать проект «в форме» 💪
💡 Совет:
Чтобы обновить всё возможное, просто выполни:
А вы как часто обновляете зависимости в своих проектах?💬
🐸 Библиотека мобильного разработчика
#буст #MiddlePath
flutter pub outdatedХочешь понять, какие зависимости твоего проекта устарели — и стоит ли их обновлять? Вот команда, которая быстро всё покажет:
flutter pub outdated
— Проверяет все пакеты в
pubspec.yaml— Показывает текущие, доступные и последние версии библиотек
— Помогает понять, где можно безопасно обновиться
Пример вывода:
Package Current Upgradable Resolvable Latest
http 1.2.0 1.3.0 1.3.0 1.3.0
provider 6.0.0 6.1.0 6.1.0 7.0.0
— Готовишь проект к релизу и хочешь убедиться, что всё актуально
— Нужно проверить, не тянет ли зависимость старые версии других пакетов
— Хочешь поддерживать проект «в форме» 💪
Чтобы обновить всё возможное, просто выполни:
flutter pub upgrade --major-versions
А вы как часто обновляете зависимости в своих проектах?
#буст #MiddlePath
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥱1
🎁 Конкурс от Proglib Academy!
Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro
Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.
Чтобы поучаствовать, нужно:
1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.
До 15 ноября, потом всё — поезд (и макбук) уйдёт.
👉 Участвовать в розыгрыше
Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro
Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.
Чтобы поучаствовать, нужно:
1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.
До 15 ноября, потом всё — поезд (и макбук) уйдёт.
👉 Участвовать в розыгрыше
Apple неожиданно открыла язык Swift для Android. Теперь разработчики смогут создавать приложения не только для iOS, но и для Android, используя один и тот же язык программирования. Новый инструмент под названием Swift SDK for Android позволяет перекомпилировать код в Kotlin или Java, то есть в те языки, на которых традиционно работает Android.
Это означает, что программисты, привыкшие к экосистеме Apple, теперь могут писать кроссплатформенные приложения без необходимости изучать другую технологию. Для крупных студий и независимых разработчиков это потенциально огромная экономия времени и бюджета.
Эксперты называют шаг символическим. Apple впервые официально делает свой язык разработки доступным за пределами собственных платформ. Многие отмечают ироничность момента: если бы компания пошла на это десять лет назад, Swift мог бы стать стандартом в мобильной разработке, обогнав Kotlin.
Пока SDK находится в ночных сборках, но уже доступен для тестирования. Разработчики сообщают, что первые примеры приложений на Swift под Android уже запускаются без ошибок.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁3👏2
Kinetics привносит естественное ощущение реальной физики в ваши анимации SwiftUI. Разработанный на основе Swift 6 с строгим соблюдением принципов многопоточности, он предоставляет современную и безопасную основу для создания анимаций, которая реагируют на действия пользователя, учитывают границы и выглядят реалистично.
#буст #iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Почему иногда вылетает ошибка и список не обновляется?
Anonymous Quiz
20%
Неправильное использование notifyDataSetChanged()
8%
Отсутствие проверки на пустую строку
6%
Проблема с жизненным циклом ViewModel
31%
Изменение mutableList из UI потока без уведомления адаптера
34%
Посмотреть ответ
❤2🌚1
Все мы видели, что во многих крупных приложениях есть возможность зарегистрироваться через Google аккаунт, и многим программистам хотелось бы реализовать это в своём приложении. Это несложно!
В этой статье автор рассмотрит весь код и пошаговую инструкцию.
👉 Читать статью
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Хотите сделать ваше приложение доступным для всех пользователей? Этот промпт поможет реализовать полноценную поддержку accessibility.
Implement comprehensive accessibility features for a mobile app that includes:
— Add proper content descriptions for all UI elements
— Implement logical focus order and navigation
— Support screen readers (TalkBack/VoiceOver)
— Ensure sufficient color contrast and text sizing
— Add accessibility labels and hints
— Support voice control and switch access
— Test with accessibility services enabled
— Добавьте
Implement custom accessibility actions для сложных UI компонентов— Добавьте
Add haptic feedback for key interactions для невизуального взаимодействия— Добавьте
Support dynamic font sizing without breaking layouts для адаптивности текста#буст #MiddlePath
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎃 Хэллоуин в Proglib Academy: скидки, призы и... немного паники
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
Please open Telegram to view this post
VIEW IN TELEGRAM
2😁13
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10
Представь: ты на собеседовании мечты, и тут HR спрашивает про зарплату. Что скажешь? Называешь число первым или ждешь? Завышаешь или играешь честно? Мы собрали 9 работающих стратегий с конкретными примерами фраз — от «Открытой» до «Я никуда не тороплюсь». Выбирай свою и перестань продавать себя дешево.
#MadeInProglib
Please open Telegram to view this post
VIEW IN TELEGRAM
Приготовили для вас дайджест по актуальному из мира iOS, Android.
В этой статье автор систематизирует Mobile System Design как дисциплину: покажет, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.
В статье будет гремучая смесь из Java, C#, NodeJS, Swift, bash, Dockerfile и github actions. Но в результате возможность непрерывно поставлять свежие сборки в магазины приложений.
Автор расскажет о JSON Schema и как использует эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство. В ней обсудим:
В этой статье — краткое сравнение популярных сервисов локализации и разбор подключения TMS по шагам.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁1
Полиморфизм представлять возможность взаимозаменяемости типов, которые находятся в одной иерархии классов. Например, возьмем следующую иерархию классов:
class Person{
var name: String
var age: Int
init(name: String, age: Int){
self.name = name
self.age = age
}
func display(){
print("Имя: \(name) Возраст: \(age)")
}
}
class Employee : Person{
var company: String
init(name: String, age: Int, company: String) {
self.company = company
super.init(name:name, age: age)
}
override func display(){
print("Имя: \(name) Возраст: \(age) Сотрудник компании: \(company)")
}
}
class Manager : Employee{
override func display(){
print("Имя: \(name) Возраст: \(age) Менеджер компании: \(company)")
}
}В данном случае класс Manager (менеджер компании) наследуется от класса Employee (сотрудник компании), а класс Employee - от класса Person (человек). Тем самым класс Manager ненапрямую тоже наследуется от Person.
Поскольку и сотрудник компании и менеджер компании в то же время являются людьми, то есть объектами класса Person, то мы можем написать следующим образом:
let tom: Person = Person(name:"Tom", age: 23)
let bob: Person = Employee(name: "Bob", age: 28, company: "Apple")
let alice: Person = Manager(name: "Alice", age: 31, company: "Microsoft")
Все три константы представляют тип Person, однако первая хранит ссылку на объект Person, вторая - на объект Employee, а третья - на объект Manager. Таким образом, переменная или константа одного типа может принимать многообразные формы в зависимости от конкретного объекта, на который она указывает.
Но что будет, если мы вызовем метод
display() для всех трех объектов:let tom: Person = Person(name:"Tom", age: 23)
let bob: Person = Employee(name: "Bob", age: 28, company: "Apple")
let alice: Person = Manager(name: "Alice", age: 31, company: "Microsoft")
tom.display() // Имя: Tom Возраст: 23
bob.display() // Имя: Bob Возраст: 28 Сотрудник компании: Apple
alice.display() // Имя: Alice Возраст: 31 Менеджер компании: Microsoft
Несмотря на то, что все три константы представляют тип Person, при вызове метода display будет вызываться реализация метода именно того класса, ссылку на объект которого хранит константа. Данный примем называется динамической диспетчеризацией - во время выполнения программы на основании типа объекта система решает, какую именно реализацию метода вызывать.
В одной стороны, это нам дает ряд преимуществ - мы можем работать с объектом производного типа как с объектом базового типа и использовать его везде, где требуется объект базового типа. Но с другой стороны, поскольку решение о выборе реализации принимается во время выполнения, то это несколько замедляет общий ход работы программы.
#буст #JuniorKit #Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🥱1
Красивые мягкие тени делают интерфейс объёмным и аккуратным. В Compose этого можно добиться с помощью
drawBehind, чтобы контролировать цвет, размытие и смещение тени — как в дизайне.@Composable
fun ShadowCard(
modifier: Modifier = Modifier,
content: @Composable BoxScope.() -> Unit
) {
Box(
modifier = modifier
.drawBehind {
drawRoundRect(
color = Color(0x1A000000), // мягкая полупрозрачная тень
cornerRadius = CornerRadius(16.dp.toPx()),
topLeft = Offset(0f, 6.dp.toPx())
)
}
.background(Color.White, RoundedCornerShape(16.dp))
.padding(16.dp)
) {
content()
}
}
Тень выглядит естественно, без резких границ, повторяет форму карточки и не «съезжает» на светлой теме.
ShadowCard(
modifier = Modifier
.fillMaxWidth()
.height(120.dp)
) {
Text("PixelPerfect ", modifier = Modifier.align(Alignment.Center))
}
Такой подход легко адаптировать под любые формы и цвета. Главное — держать параметры тени (смещение, прозрачность, радиус) в синхронизации с макетами из Figma.
#PixelPerfect #JuniorKit #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Каждый пользователь ненавидит их, каждый продакт их требует, а каждый разработчик… просто хочет, чтобы они доставлялись.
Одни говорят: пуши — это забота о пользователе, напоминание, что приложение живёт. Другие считают: пуши — причина, почему люди удаляют приложения.
И где грань между вовлечением и раздражением?
А ты что думаешь?
❤️ — Отправляю пуши с любовью
👍 — Убираю всё, что трогает юзера без спроса
🤝 — Главное — не переборщить
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝5
