AppFiles - Mobile Development
1.99K subscribers
2.53K photos
33 videos
8 files
3.41K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Scrcpy (читается как “screen copy”) - клиент-серверное приложение дублирует Android-устройства (видео и аудио), подключенные через USB или TCP/IP, на экране компьютера и позволяет управлять им с помощью клавиатуры и мыши. Оно не требует никакого root-доступа. Работает на Linux, Windows и macOS.

Scrcpy на GitHub: https://github.com/Genymobile/scrcpy
Платформа: Android
⭐️: 78.9K
4
ChatGPT для [Android] разработчиков — как использовать ИИ на практике

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

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

Статья: https://apptractor.ru/chatgptandroid
Платформа: разработка
👍2
Ktor — это асинхронный фреймворк для создания микросервисов, веб-приложений и многого другого. Написан на Kotlin с нуля. Awesome Ktor - список книг, учебных пособий, статей, курсов и ресурсов, посвященных экосистеме фреймворка Ktor.

Awesome Ktor на GitHub: https://github.com/mjovanc/awesome-ktor
Платформа: бэкенд
⭐️: 64
🔥2
Медиа за неделю

(iOS Ru) Умная камера: как встроить в iOS приложение распознавание текста для незрячих
(iOS Ru) Страх и ненависть в SwiftUI
(iOS Ru) Гайдлайны подписок
(iOS Ru) Как iOS анализирует наше здоровье: HealthKit, ResearchKit, CareKit, Activity
(iOS En) SwiftUI Shimmer Animation Effect
(iOS En) Explore Spatial Audio
(And Ru) Как написать свой DI-контейнер на Kotlin
(And En) Compose Layouts and Modifiers: Live Q&A - MAD Skills
(And En) Privacy Sandbox for Android
(And En) What's new in Android Vitals and ANR: A deep dive into Play's technical quality bar
(And En) Android at Google for Games Developer Summit '23
(And En) The FULL Beginner Guide for Room in Android
(And En) Full Guide to the Google Play Review API In Android
(And En) Android A/B testing
(Crs Ru) Flutter Dev Podcast #40: Flutter 3.7
(Anl Ru) Аналитика как продукт: измеряем метриками аналитику
(Anl Ru) Неубиваемая мобильная аналитика
(Dev Ru) Заказчики, платформы и технологии
(Dev Ru) Ключевые отличия между Junior, Middle и Senior разработчиками

Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻‍💻
5 вещей, которые я узнал после решения более 500 задач на Leetcode

Подобные задачи, связанные со структурами данных и алгоритмами, становятся все более популярными даже среди небольших компаний, и это вызывает разочарование у многих людей, которые утверждают, что навыки «литкодинга» не отражают способности выполнять работу. Хотя я согласен с тем, что незнание Leetcode не делает вас плохим разработчиком, и вполне вероятно, что во время работы вам никогда не понадобится инвертировать бинарное дерево, есть много вещей, которым может научить вас работа с Leetcode и которые окажутся полезными в вашей карьере.

Статья: https://apptractor.ru/500leetcode
Платформа: программирование
👍1
Я много лет работаю в сфере технологий, но почти никогда не работал

Когда в 2022 году Twitter уволил половину своих сотрудников, и большинство технологических гигантов последовали его примеру, я не удивился. На самом деле, я думаю, мало что изменится для этих компаний. Проработав много лет в технологическом секторе, я пришел к выводу, что большинство людей в технологическом секторе не работают. Я не имею в виду, что мы мало работаем; Я имею в виду, что мы почти не работаем. Ничего. Пшик. И когда нам все-таки удается выполнить какую-то работу, это часто приносит небольшую добавленную стоимость компании и ее клиентам. И все это при выплате суммы денег, о которой некоторые люди даже не мечтают.

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

Я знаю, что мое утверждение может показаться немного преувеличенным — как можно постоянно платить много денег людям, которые почти ничего не делают? Конечно, это не может быть правильно! Что ж, позвольте мне поделиться некоторыми примерами из моего собственного опыта.

Статья: https://emaggiori.com/employed-in-tech-for-years-but-almost-never-worked/
Перевод: https://apptractor.ru/info/articles/ya-mnogo-let-rabotayu-v-sfere-tehnologiy-no-pochti-nikogda-ne-rabotal.html
🔥1
Писать софт под iOS? Или лучше под Android?

В Тинькофф есть вакансии для разработчиков обеих мобильных платформ.

Вы можете получить оффер за неделю, если ваш опыт от трех лет. Ближайший Mobile Weekend Offer пройдет 25—26 марта.

Все собеседования — онлайн за субботу или воскресенье, а офферы раздадим уже в понедельник. Оставьте заявку до 22 марта.
Introspect for SwiftUI позволяет получить базовые элементы UIKit или AppKit для представления SwiftUI. Например, с помощью Introspect вы можете получить доступ к UITableView для изменения разделителей или к UINavigationController для настройки панели вкладок. Работает это путем добавления кастомного IntrospectionView в иерархию представлений, а затем просмотра иерархии UIKit в его поиске. Пишут, что все применимо и в продакшене, Introspect не использует какой-либо частный API и только проверяет иерархию представлений, используя общедоступные методы.

Introspect for SwiftUI на GitHub: https://github.com/siteline/SwiftUI-Introspect
Платформа: iOS
⭐️: 3.9K
Элемент выбора эмодзи (aka EmojiPicker) для iOS как в MacOS

У меня получилась библиотека, которая позволяет буквально в 3 строчки кода добавить элемент выбора эмодзи в ваше приложение. Плюсом к этому она:

• Поддерживает Swift Package Manager и CocoaPods.
• Весит всего 795 килобайт.
• И единственная из аналогов поддерживает все стандартные локализации(на момент публикации статьи, конечно 🙃).

Статья: https://habr.com/ru/post/716194/
Платформа: iOS
MusicApp KMP - музыкальный плеер, созданный с использованием Compose Multiplatform UI и работающий на Android, iOS, десктопах и в вебе. Внутри: Kotlin, Compose Multiplatform UI, AVKit Media Player (iOS), VLCJ media player (десктопы), HTML media player (Web), Compose Image Loader.

MusicApp KMP на GitHub: https://github.com/SEAbdulbasit/MusicApp-KMP
Платформа: Android/кроссплатформа
⭐️: 272
Я разлюбил Flutter

У меня было подозрение, что этим все и кончится, что я напишу именно то, что пишу сейчас. Но я сделан из того же теста, что и любой другой инженер-программист, поэтому я вскочил на подножку уходящего поезда, обрадовался, потом обрадовался еще больше и даже стал евангелистом. Евангелистом Flutter. Те, кто следит за мной на Medium и LinkedIn, знают, о чем я говорю. Я рекламировал Flutter как второе пришествие, я был в восторге от него и использовал его примерно 3 года. Но сомнения потихоньку закрадывались, и сегодня, спустя годы, я должен стать столь же честным, сколь был восторженным, и признаться — у меня есть сомнения в жизнеспособности Flutter.

Позвольте мне начать с того, что концептуально Flutter по-прежнему — на мой взгляд — лучший кроссплатформенный фреймворк всех времен, и прямо сейчас я не вижу никакой реальной альтернативы. Хотя, никогда не говори никогда. Мы также не видели альтернативы до тех пор, пока не появился Flutter. Скептики также утверждали, что он никогда не приживется, пока это не произошло. И я был бы слишком самонадеянным, чтобы утверждать, что Flutter станет последней кроссплатформенной средой разработки.

Мои растущие сомнения относительно Flutter не имеют ничего общего с самим Flutter. Они все вокруг него.

• Владелец Flutter, Google
• Kotlin Multiplatform
• Фрагментация
• Dart
• Исполнение
• Является ли Flutter хорошим выбором?

Статья: https://apptractor.ru/develop/cross-platform-development/ya-razlyubil-flutter.html
Платформа: кроссплатформа/Flutter
👏4👍2🔥1😁1
Yattee - видеоплеер, ориентированный на конфиденциальность, для iOS, tvOS и macOS. Сделан на SwiftUI, из фич - очередь просмотра и история, кастомные контролы для плеера, жесты, поддержка 4К, картинка в картинке, фоновое воспроизведение аудио.

Yattee на GitHub: https://github.com/yattee/yattee
Платформа: iOS
⭐️: 1.2K
Circuit - это простая, легкая и расширяемая архитектура от Slack для создания приложений Kotlin, основанных на Compose. Основными компонентами Circuit являются интерфейсы Presenter и UI. Правила их работы:

1. Presenter и UI не могут напрямую обращаться друг к другу. Они могут обмениваться данными только посредством передачи состояний и событий.
2. UI являются Compose-firstю
3. Презентеры тоже Compose-first. Они не генерируют Compose UI, но используют среду выполнения Compose для управления и генерирования состояний.
4. И Presenter, и UI имеют по одной компонуемой функции.
5. В большинстве случаев Circuit автоматически подключает презентеров и UI.
6. Presenter и UI являются дженериками, причем дженерики определяют типы UiState, с которыми они взаимодействуют.
7. Они управляются Screen-ами. Один запускает новую пару Presenter/Ui, запрашивая их с заданным Screen, который они понимают.

Circuit на GitHub: https://github.com/slackhq/circuit
Сайт: https://slackhq.github.io/circuit/
Платформа: Android
⭐️: 562
Теория «разбитых окон» в разработке ПО

Если не принимать никаких мер, технический долг начинает расти, и окна все больше разбиваются. Проблемы распространяются в коде через имитацию («Я только что скопировал этот подход»), повторение (неверные предположения) или просто копирование + вставку.

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

Статья: https://apptractor.ru/okn-brk
Платформа: разработка
This media is not supported in your browser
VIEW IN TELEGRAM
SpoilerViewExample - пример реализации затемнения и открытия спойлеров в Telegram на SwiftUI.

SpoilerViewExample на GitHub: https://github.com/artemnovichkov/SpoilerViewExample
Платформа: iOS
⭐️: 4
MilitaryJet - репозиторий включает в себя готовые примеры простого написания тестов UI для Jetpack Compose с защитой от ошибок. Каждый компонент пользовательского интерфейса, их возможное поведение и состояние можно подвергнуть тестированию. С помощью этого репозитория вы можете выполнять любое автоматизированное тестирование пJetpack Compose UI — т. е. вы можете тестировать ВСЕ (как видимое, так и невидимое, т. е. вещи, которые не видны в пользовательском интерфейсе, но существуют в узле — например, описание контента) в пользовательском интерфейсе.

MilitaryJet на GitHub: https://github.com/emperorfin/MilitaryJet
Платформа: Android
⭐️: 8
1 апреля пройдёт Yet Another Mobile Party — онлайн-стрим про мобильную разработку от Яндекса с гостями из разных компаний.

Yet Another Mobile Party — онлайн видеоподкаст без докладов и презентаций Спикеры Яндекса и наши гости из других компаний соберутся за круглым столом, поделятся новостями, обсудят карьерный путь и актуальные технологии.

Ищите на карточках темы и спикеров прямого эфира:)

А чтобы присоединиться и задать свои вопросы спикерам, нужно — зарегистрироваться и подключиться к трансляции 1 апреля

Программа и регистрация
🤡2