AppFiles - Mobile Development
2K subscribers
2.56K photos
33 videos
8 files
3.44K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Now in Android - популярный блог и видео на YouTube, посвященные новейшим и лучшим тенденциям в Android-разработке. Google опубликовал приложение Now in Android на GitHub. Оно демонстрирует передовой опыт, продуманный дизайн и решения сложных реальных проблем. В альфа-версии есть Jetpack Compose, темы Material3, адаптивные шаблоны для разных экранов, официально одобренная архитектура, реактивное программирование с Kotlin Flows, Room и Proto DataStore, WorkManager.

Now in Android на GitHub: https://github.com/android/nowinandroid
Платформа: Android
⭐️: 737
Разработчики Google Home получили новый интересный инструмент. На I/O анонсировали расширение Google Home для Microsoft Visual Studio Code.

Расширение Google Home состоит из четырех основных компонентов. Самый интересный - симулятор Google Assistant, благодаря которому можно тестировать и обеспечивать полную совместимость с Assistant, не выходя из своей среды программирования. В нем же есть компонент “Пакетные высказывания”, который позволяет тестировать сразу несколько команд. Кроме того есть Cloud Logging и Home Graph Viewer для отладки в реальном времени и поиска и тестирования устройства, принадлежащие вашему проекту. И все это при том, что вам никогда не придется покидать Visual Studio Code.

Самый простой способ установить расширение Google Home — через маркетплейс внутри самой Visual Studio Code. Изучить документацию вы можете тут. Если вы заинтересованы в разработке для Google Home, обязательно посмотрите сессию с идущей Google I/O.
👍1
Runestone — производительный текстовый редактор и одноименный фреймворк для iOS с функциями редактирования кода. Имеет подсветку синтаксиса, нумерацию строк, подсветку текущей строки, функцию отображения невидимых символов (табов, переносов строк), вставку пар символов (кавычек), поиск с регулярными выражениями и пр.

Runestone на GitHub: https://github.com/simonbs/Runestone
Платформа: iOS
⭐️: 610
Floating Action Button Speed Dial - библиотека Android, обеспечивающая реализацию плавающей кнопки с быстрыми действиями в стиле Material Design как для классических View, так и для Compose. Из фич - полная настройка кнопок, анимации, разные иконки для открыто/закрыто, расширение вверх,вправо или влево.

Floating Action Button Speed Dial на GitHub: https://github.com/leinardi/FloatingActionButtonSpeedDial
Платформа: Android
⭐️: 1.3K
Многие софтверные компании — посмешище

Я занимаюсь программированием более двух десятилетий, и я работал как в компаниях, так и вне их. Я выполнял скучную работу в крупных финансовых и консалтинговых фирмах, а также работал над интересным графическим проектом для небольшой софтверной компании, которая производила классные инструменты для киностудий. Я могу вам сказать одно: многие «инженеры-программисты», особенно те, кто работает в действительно крупных компаниях, выполняют очень мало работы. На самом деле многим из них в основном платят за то, что они делают очень мало (заметьте, я сказал «многим», а не «все»).

Перевод: https://apptractor.ru/swftjk
Платформа: разработка
Sankey - библиотека для iOS, которая позволяет рисовать диаграммы Санки (это тип блок-схемы, на которой ширина стрелок пропорциональна данным). Есть возможность строить графики для нескольких уровней, менять цвета или использовать градиенты, менять стиль меток, толщину нод и пр.

Sankey на GitHub: https://github.com/maxhumber/Sankey
Платформа: iOS
⭐️: 3
Начинаем работу с Flutter Casual Games Toolkit

Если вы когда-нибудь в качестве пет-проекта хотели изучить Flutter и одновременно сделать какую-нибудь простенькую казуальную игру, то самое время. Google представил Flutter Casual Games Toolkit - специальный шаблон, который вы можете использовать для создания собственной игры. Этот стартовый проект предоставляет готовые «свистелки и перделки», такие как главное меню, страница настроек, поддержку звука и т.д. К нему же прилагаются несколько примеров игр (пинбол и крестики-нолики), собственный открытый игровой движок (он существует еще с версии 2.8), видео туториал, обсуждение в Discord для разработчиков игр на Flutter.

Статья: https://apptractor.ru/fltgmkt
Платформа: Flutter
👍2
MiStoryView - простая библиотека для реализации историй в вашем приложении. Из ключевых особенностей - управление жестами, анимации, индикаторы просмотра. Для полноценной реализации вряд ли подойдет, но для начала вполне.

MiStoryView на GitHub: https://github.com/Mindinventory/MIStoryView
Платформа: Android
⭐️: 21
👍1🤔1
Мой вопрос с кодинг интервью в Google

Я провел более 200 собеседований в Google и оценил более 50 пакетов с интервью. Ясно одно: проводить интервью тяжело. Сигналов слишком много. И у интервьюера, и у интервьюируемого есть меньше часа, чтобы сделать все возможное. Иногда по разным причинам мы получаем ложные или неточные сигналы. Такова природа человека.

За эти годы я остановился на одной задаче в программировании, которая мне очень нравится. Это хитрый, простой и одновременно сложный вопрос. Решение состоит не более чем из 30 строк кода, но дает мне сигналы, необходимые для получения надлежащей оценки. Вопрос также хорошо масштабируется от стажеров до старших инженеров. Я не хочу сказать, что мой вопрос лучше вашего, но попытаюсь объяснить, почему мой вопрос помогает мне как интервьюеру и что я ищу в техническом интервью.

Перевод: https://apptractor.ru/intrqst
Платформа: программирование/собеседование
👍1
Colorue - простое, но эффективное open source приложение для рисования. Традиционно, если есть желание, можете присоединиться к развитию проекта.

Colorue на GitHub: https://github.com/colorue/ios
Платформа: iOS
⭐️: 14
🤔1
Видео Ozon Tech Mobile Meetup от 19 мая

Программа встречи:

• Александр Свиридов (Ozon), руководитель отдела разработки мобильных приложений "Покупатель": какие метрики собираются и как мы боремся за перформанс приложения Ozon.
• Владимир Шедько (Ozon), ведущий разработчик мобильных приложений: как мы в Ozon делали плавный скролл для нагруженного UI, и при этом не переверстали все приложение. Показывает необычные подходы, которые мы опробовали на практике, и что из этого получилось.
• Артем Новичков (Skyeng), iOS-разработчик: как работает новая модель многопоточности. На примерах разбирает, что нового появилось в Swift и как это подружить со своим кодом.
• Круглый стол

Видео: https://apptractor.ru/info/media/ozon-tech-mobile-meetup.html
Платформа: разработка
ComposePPT - экспериментальный UI-тулкит для создания файлов презентаций PowerPoint (.pptx). Цели сделать что-то полезное у авторов, судя по описанию, не стояло, зато показывает силу Compose и учит некоторым навыкам обращения с фреймворком.

ComposePPT на GitHub: https://github.com/fgiris/composePPT
Платформа: Android
⭐️:111
🤩1
Swift Algorithm Club - реализация популярных алгоритмов и структур данных на Swift с подробным объяснением того, как они работают.

Цель этого проекта — объяснить, как работают алгоритмы. Основное внимание уделяется ясности и удобочитаемости кода, а не созданию повторно используемой библиотеки, которую вы можете использовать в своих собственных проектах. Тем не менее, большая часть кода готова к использованию в рабочей среде, но вам может потребоваться настроить его, чтобы он вписался в вашу собственную кодовую базу.

Код совместим с Xcode 10 и Swift 4.2.

Swift Algorithm Club на GitHub: https://github.com/raywenderlich/swift-algorithm-club
Платформа: iOS/программирование
⭐️: 26.4K
👍3
Используете ли вы самый мощный инструмент Kotlin?

Одна из самых недооцененных возможностей Kotlin — от классов данных до перегрузки операторов — лямбда-функции высшего порядка. Поначалу они могут показаться бесполезным, поскольку мы можем просто определить функцию вместо функции для переменной. Но вот несколько удивительных вариантов использования лямбда-функций в Kotlin.

Перевод: https://apptractor.ru/ktllmbd
Платформа: Kotlin
👏: 250
👍2
Compose Reports to HTML - CLI-утилита, для превращения метрик компилятора в красивые HTML-страницы. Плагин Compose Compiler генерирует отчеты/метрики на основе определенных концепций, специфичных для декларативного фреймворка, которые могут быть полезны для понимания того, что происходит с вашим кодом. Плагин создает их в файлах json, csv и txt, которые трудно отслеживать и понимать. Этот инструмент анализирует отчеты и метрики, сгенерированные компилятором Compose, преобразует их в HTML-страницы и показывает проблемные и непроблемные composable функции и классы.

Compose Reports to HTML на GitHub: https://github.com/PatilShreyas/compose-report-to-html
Платформа: Android
⭐️: 50
Spiral — библиотека рисования спиралей в SwiftUI для macOS, iOS и watchOS. В ней есть генератор точек, Shape и View спирали. Генератор точек позволяет использовать данные для непосредственно рисования спирали по точкам. Shape может быть обведена или заполнена желаемым материалом. View позволяет размещать произвольные view в точках спирали.

Spiral на GitHub: https://github.com/buh/Spiral
Платформа: iOS
⭐️: 41
👍1
Slack Clone - клон мессенджера, созданный с помощью Jetpack Compose и Stream Chat SDK в соответствии с принципами чистой архитектуры. Внутри 100% Jetpack с Compose, архитектурные компоненты, Room, корутины, Flow, Compose Chat SDK, Hilt, Retrofit2 & OkHttp3, Timber. Создано приложение, собственно, разработчиками Stream Chat SDK, который по большей части является платным компонентом.

Slack Clone на GitHub: https://github.com/GetStream/stream-slack-clone-android
Платформа: Android
⭐️:131
Уроки 5 лет аудита кода стартапов

Когда я работал в PKC, наша команда провела более двадцати аудитов кода, многие для стартапов Серии A или B (обычно это было, когда у них были деньги, и они понимали, что было бы неплохо погрузиться глубже в их безопасность, уже после того, как они достигли product market fit).

Это была увлекательная работа — мы глубоко погружались в разнообразие стеков и архитектур в самых разных областях. Мы обнаруживали всевозможные проблемы с безопасностью, от катастрофических до просто интересных. У нас также была возможность пообщаться со старшим инженерным руководством и техническими директорами в целом о проблемах проектирования и продуктов, с которыми они столкнулись, когда они только начинали масштабироваться.

Перевод: https://apptractor.ru/16ls
Платформа: безопасность
Видео Школы мобильной разработки Яндекса

Летом 2021 года прошла Школа мобильной разработки от Академии Яндекса: студенты слушали лекции, выполняли домашние задания и работали над реальными проектами бок о бок с менторами и ребятами других направлений. Курсы лекций рассчитаны на разработчиков, которые уже начали изучать основы разработки под iOS или Android и хотят углубить и систематизировать свои знания.

iOS (14 видео)
Android (16 видео)
👍2🔥2
Sourcery - платформа мета-программирования для Swift, позволяющая избавиться от повторяющегося кода, улучшить архитектуру и рабочие процессы разработки. Это генератор кода для языка Swift, построенный поверх собственного SwiftSyntax от Apple. Он расширяет языковые абстракции, позволяя автоматически генерировать шаблонный код.

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

Sourcery на GitHub: https://github.com/krzysztofzablocki/Sourcery
Платформа: iOS
⭐️: 6.6K