Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.86K subscribers
1.45K photos
68 videos
52 files
4.2K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🤷🏻‍♂️ Кто не успел, тот опоздал <//>

2 февраля 2024 года приложение «Учёт Онлайн» удалили из App Store. Это произошло спустя двое суток после публикации аналога «Сбербанк Онлайн» в магазине приложений Apple. Причина удаления та же — санкции.

В первую очередь новое приложение необходимо скачать клиентам со старыми версиями «СберБанк Онлайн»: 12.14.1, 12.15 и 13.02. Банком принято решение прекратить поддержку этих старых версий, в течение 2024 года они будут планомерно отключены.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍4🔥2
✂️ Сто раз отрежь и не меряй <//>

Садимся поудобнее и разбираемся, как реализовать обрезку изображений во Flutter. С небольшими знаниями математики можно реализовать логику обрезки изображения с помощью матриц преобразования. А также кастомный виджет, который позволяет перемещать, масштабировать и поворачивать изображение с помощью жестов.

Гайд тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉5😁1🤔1
⚙️ Небольшой сниппет детектора зависаний что ваш основной поток зависает


var body: some View {
         SomeRootView {
                   …
         }.task {
                let approximateGranularity = Duration.milliseconds(10)
                let threshold = Duration.milliseconds(50)

                let clock = SuspendingClock()
                var lastIteration = clock.now

                while !Task.isCancelled {
                        try? await Task.sleep(for: approximateGranularity,
                                                                    tolerance: approximateGranularity / 2,
                                                                    clock: clock)

                        let now = clock.now

                        if now — lastIteration > threshold {
                                  print(«Main thread hung for \((now — lastIteration).formatted(.units(width:    .wide, fractionalPart: .show(length: 2)))).»)
                        }

                        lastIteration = now
        }
    }
}


Вы можете настроить два параметра — approximateGranularity и threshold — в соответствии со своими предпочтениями.
😁5👍4🤔2
🆕 Релиз нового языка программирования от Apple <//>

Apple выкатила релиз языка программирования для определения конфигурации и продвигающего модель «конфигурация как код» под названием — Pkl (произносится как «Pickle»).

Pkl может применяться как для генерации статических конфигураций в разных форматах, таких как JSON, YAML и XML, так для формирования модулей для обработки заданных форматов конфигурации в приложениях на различных языках программирования.

Из особенностей:

👉 Выявление ошибок проверки перед развертыванием
👉 Масштабирование от простых до сложных сценариев
👉 Имеется плагин на IntelliJ IDE

Ссылка на блог 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
5😁31
🚀 Полёт нормальный <//>

Как Jetpack Compose оптимизирует производительность интерфейса, используя понятия стабильности и неизменяемости, которые определяются аннотациями @Stable и @Immutable.

ℹ️ Стабильные объекты — это объекты, свойства которых не меняются во время композиции, а неизменяемые объекты — это объекты, которые никогда не меняются после создания.

Узнайте, как проверить, какие функции были пропущены или перезапущены с помощью Layout Inspector и Compose Compiler Metrics, а также разнице между ImmutableCollection и PersistentCollection, которые являются специальными типами коллекций, поддерживающими неизменяемость и эффективное копирование.

Тык 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2🥱2
🫵🏻 От интерактивных 2D-объектов к 3D <//>

Если вы обладатель TG Premium, в меню подписки могли видеть 3D объект — звезда. Вроде ничего необычного, но согласитесь, выглядит красиво. Фича повышает визуальную привлекательность и даёт уникальность продукту.

Если кратко, то создаётся многослойному 2D-изображению, разделенному на слои в графическом редакторе и объединенному с использованием CATransformLayer. Затем с помощью SceneKit создаём сцены, камеры и обработку жестов для взаимодействия с 3D-моделью.

Полный гайд тут 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
21🎉1
🐽 Моя слабая сторона это...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
🔄 Новый модификатор доступа в Swift <//>

В Swift 5.9, который идёт с Xcode 15, Apple добавила новый уровень доступа под названием package. Это уже шестой уровень доступа в Swift.

Новый модификатор позволяет разработчикам пакетов Swift делиться кодом между модулями внутри своего пакета, не раскрывая его за пределами пакета.

За подробностями сюда ⚪️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🥰1
🫠 Эпикфейл: карьера катится к чертям

☄️ На профессиональном пути никак не обойтись без неудачах, ошибках и непредвиденных обстоятельствах, которые могут казаться непреодолимыми. Кажется, всё начинает скатываться вниз, словно лавина, неся за собой уверенность и надежду. Однако, это становится ценным уроком, и закаляет нас ещё сильнее.

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

🧩 Никогда не думал, что моя самая большая ошибка начнется с...
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3🤔2🌚1
🚀 Новая версия Android Studio <//>

Вышла новая версия Android Studio, которая включает в себя ряд улучшений и новых функций. Если кратко, то:

✉️Обновления в App Quality Insights: Теперь разработчики могут видеть данные о качестве своего приложения непосредственно в Android Studio, включая отчеты о сбоях и трассировки стека.
🖥 Улучшения в App Links Assistant: Инструмент теперь автоматически проверяет корректность настройки глубоких ссылок в приложении и предлагает решения для исправления ошибок.
Изменения в отслеживании энергопотребления приложений: Теперь для просмотра данных об энергопотреблении необходимо использовать функцию System Trace и записывать данные во время работы приложения.
⚙️ Улучшения в Jetpack Compose Preview и отладчике: Значительные улучшения в предварительном просмотре и отладке кода Jetpack Compose, включая новые аннотации для предварительного просмотра на разных экранах и шкалах шрифтов, а также улучшенный отладчик, показывающий изменения в параметрах компонентов.

Полный обзор на обновление тут 📺
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥1
🚀🏢 Стартапы vs IT-гиганты: куда лучше устроиться Junior-разработчику

Представим ситуацию: вы начинающий разработчик с очень востребованным стеком (да, звучит как фантастика, но допустим). И так уж сложилось, что перед вами стоит выбор: пойти работать в стартап или крупную компанию. Причем предлагаемые условия абсолютно идентичны и там, и там.

Что же делать в такой ситуации?

👉 Разбираемся в статье
🔗 Зеркало
3🔥2👍1🤩1
🏋️‍♀️ Кто тут босс? <//>

Сравнение двух платформы для кроссплатформенной разработки: Flutter от Google и Compose Multiplatform. Сравнение начинается от установки, где для Compose Multiplatform может потребоваться старая версия Xcode, архитектур фреймворков, сторонних библиотек, языков программирования и заканчивая подходом к работе с UI.

Подробное сравнение по ссылке 👈

Спойлер: Flutter более зрелая и готовая к использованию технология, в то время как Compose Multiplatform все еще считается сыроватой для мобильной кроссплатформенной разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔4👍3
Всем мобильным разработчикам привет. Врываемся в ваш вечер :)

📈 Введение в Charts, точнее, как графики могут улучшить визуализацию данных в приложениях, делая информацию более понятной для пользователей.

📎 SwiftUI поддерживает многие стили разметки Markdown в компоненте Text. Это позволяет легко применять стили, такие как жирный, курсив, зачеркнутый текст и ссылки. Учимся с ними работать.

👨‍💻 Видео-гайд, как создать минимальное приложение To-do List App с помощью SwiftData и интерактивных виджетов с использованием SwiftUI.

💻 SwiftUI предоставляет обертки свойств AppStorage и SceneStorage, чтобы облегчить хранение состояний в вашем приложении. Реализация и примеры.

⚪️ 3D Pokemon Card — небольшой забавный проект, демонстрирующий реализацию эффекта параллакса в SwiftUI. Фичи — используется анимация SwiftUI для создания эффекта параллакса на карточке, код организован по модульному принципу с возможностью многократного использования, что позволяет легко интегрировать эффект параллакса в другие проекты SwiftUI.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🎉1
🚀 От нуля до старта <//>

Если вы собираетесь стать iOS разработчиком, но не знаете с чего начать и что изучать — для вас роудмап. Разработчик делится своим опытом обучения и предлагает скомпилированную версию обучения, следуя которому можно стать iOS-разработчиком.

Большинству людей не нужны курсы, так как самостоятельное изучение способствует развитию поиска и отсеивания информации.

🔖Краткое содержание:

2:22 — Важный скилл для разработчика
6:33 — Техника
11:31 — Время обучения
24:19 — Многопоточность
44:30 — Важный софт
49:50 — Пет проект

Смотреть полное видео 📺
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍋 Подборка лучших статей «Библиотеки программиста» за январь: сохраняй в заметки, чтобы не пропустить #самыйсок

🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
👨‍💻 Особенности работы в ИТ: информация из первых рук
🎉 Python и неопытные программисты: наши лучшие статьи за 2023 год
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
😺🐙📄 Как разместить резюме на GitHub Pages
💣 Кем вы видите себя через 5 лет: как отвечать на странные и неудобные вопросы на собеседовании
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
🤖 Итоги недели в мире ИИ и обзоры новых сервисов: новые модели для генерации впечатляющих видео
🏅 Решаем 5 олимпиадных задач на Python
📈 9 главных трендов в разработке фронтенда в 2024 году
🔤 Азбука SQL в примерах. Часть 3. Обрабатываем результаты и делаем сложные запросы
🐍 Создаем игру «Виселица» на Python:
👉 Часть 1. Командная строка
👉 Часть 2. Графический интерфейс на PySimpleGUI
💰⬆️ 10 факторов, влияющих на зарплату программиста
🐻‍❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python
👨‍💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
🏃 Самоучитель по Go для начинающих:
👉 Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
👉 Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
😱 Будущего нет? <//>

Вероятно, что Apple решила отключить поддержку PWA на уровне ОС в бета-релизе iOS 17.4. По данным от Tommy Mysk, при попытке запустить прогрессивное веб приложение появляется сообщение, что приложение будет открыто в браузере. ⛔️

Ранее предполагалось, что такое поведение затронет только пользователей из ЕС, но появились опасения, что идея приживётся и PWA на «яблочной» платформе ждёт грустное будущее. 😞
Please open Telegram to view this post
VIEW IN TELEGRAM
😁65🎉4👍2