AppFiles - Mobile Development
1.99K subscribers
2.54K photos
33 videos
8 files
3.42K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Как нам удалось модернизировать приложение Booking.com изнутри и снаружи

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

Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
Платформа: разработка
OpenAI - поддерживаемый сообществом разработчиков пакет Swift для упрощения работы с публичным API от OpenAI. С его помощью вы можете вести чаты, генерировать изображения, транскрибировать аудио в текст, классифицировать тексты и многое другое.

OpenAI на GitHub: https://github.com/MacPaw/OpenAI
Платформа: iOS
⭐️: 549
2👍1
Combine от А до Я

Combine - это мощный Swift-фреймворк, который помогает управлять асинхронными потоками данных, предоставляя декларативный способ обработки сложных асинхронных операций. Он является неотъемлемой частью современной iOS-разработки и может использоваться в различных сценариях, таких как сетевые запросы, пользовательский ввод и многое другое.

Вот руководство по началу работы с Combine в Swift, с примерами кода для тех, у кого нет опыта.

Статья: https://daddycoding.com/2023/04/26/combine-from-a-to-z/
Платформа: iOS
Объекты данных в Kotlin

Объекты данных — это новый функционал, представленный в Kotlin 1.7.20 и планируемый к выпуску в версии 1.9. Разберемся, для чего он нужен.

Статья: https://apptractor.ru/kotlin-objects
Платформа: Android
SwiftLint в деталях

Узнайте, как использовать и настраивать SwiftLint, а также как создавать собственные правила в SwiftLint для своего проекта.

Статья: https://www.kodeco.com/38422105-swiftlint-in-depth
Другая: https://apptractor.ru/info/articles/swiftlint.html
Платформа: iOS
Почему я никогда не стану Senior-разработчиком в Amazon

Удивительно, но.. "многие не обращают на это внимания, но чем выше ваша должность в крупной технологической компании, тем более безумным становится объем работы. Большинство старших разработчиков, с которыми я общался, работают не менее 60 часов в неделю со всеми проектами и встречами, в которых они участвуют. И это еще не считая того количества работы, которое требуется для достижения должности старшего инженера в Amazon".

Статья: https://apptractor.ru/info/articles/pochemu-ya-nikogda-ne-stanu-senior-razrabotchikom-v-amazon.html
Платформа: карьера
👍1
Учебник по Jetpack Compose: Как использовать FlowLayout

Если вы следите за последними обновлениями Jetpack Compose, вы, возможно, слышали о новых composable FlowRow и FlowColumn, недавно добавленных в Jetpack Compose 1.4.1. Конечно, они уже некоторое время были опубликованы в Accompanist (группа библиотек, призванных дополнить Jetpack Compose функциями, часто необходимыми разработчикам, но пока недоступными в основной версии). Но теперь они доступны в базовом фреймворке, и было бы здорово посмотреть, для чего их можно использовать.

Самая важная идея в этой компоновке заключается в том, что мы можем выкладывать элементы в контейнер, когда размер элементов или контейнера неизвестен или динамичен. Например, в примере у нас есть чипсы (теги), которые мы размещаем в случайном порядке. Фишка "Растительная пища" не помещается и переносится на следующую строку.

Статья: https://exyte.com/blog/android-flow-layout
Платформа: Android
👍1
Forwarded from IT Insights
Изучение WebGPU

WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.

Руководство: https://eliemichel.github.io/LearnWebGPU/
👍1
Thumb-Key - это интеллектуальная клавиатура, созданная специально для ваших больших пальцев и учитывающая требования конфиденциальности

Она имеет раскладку 3x3 и использует пролистывание для менее распространенных букв. Ее легко освоить, и она разработана для быстрой скорости набора текста.

Вместо того, чтобы полагаться на точность предсказания слов и предложений, как в большинстве популярных телефонных клавиатур, таких как Gboard и Swiftkey, Thumb-Key использует большие клавиши с предсказуемым положением, чтобы ваши глаза не охотились и не искали буквы.

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

Thumb-Key на GitHub: https://github.com/dessalines/thumb-key
Платформа: Android
⭐️: 268
🤔6
Хочу в iOS-разработку: к чему готовиться на собеседовании в продуктовую команду

Я Серёжа Копытов, iOS TechLead. Веду собесы в Альфе с 2020 года, многие разработчики и техлиды в команде прошли через меня. Уже через полгода интервью я активно включился в настройку подбора и сейчас основное время занимаюсь его развитием.

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

Статья: https://habr.com/ru/companies/alfa/articles/728322/
Платформа: собеседование
Как использовать функциональное программирование в Kotlin для написания более качественного и чистого кода

В этом посте мы поговорим о том, что такое функциональное программирование, каковы его преимущества и потенциальные недостатки, как оно сопоставляется с альтернативной парадигмой императивного программирования, что предоставляет Kotlin разработчикам для использования ФП, а также примеры того, как мы в DoorDash пишем код в стиле ФП на Kotlin.

Статья: https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/
Платформа: программирование/Kotlin
Конец программирования, каким мы его знаем

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

Статья: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
Платформа: ИИ/программирование
👍3
Charts - красивые графики для iOS/tvOS/OSX, аналог MPAndroidChart.

Charts на GitHub: https://github.com/danielgindi/Charts
Платформа: iOS
⭐️: 26.6K
Модульное тестирование в iOS: все, что надо знать.

Меня зовут Евгений Плёнкин. Я iOS разработчик компании СберЗдоровье. В этом материале я расскажу, что такое автоматизированное тестирование, в чём его польза в iOS-разработке и не только, сколько и каких тестов должно быть, а также какой инструмент для автотестов в iOS есть.

Статья: https://habr.com/ru/companies/docdoc/articles/732102/
Платформа: iOS/тестирование
Firebase Firestore: основные правила безопасности

В этой статье мы рассмотрим основные правила обеспечения безопасности базы данных Firestore.

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

Перевод: https://apptractor.ru/info/articles/firebase-firestore-osnovnye-pravila-bezopasnosti.html
Платформа: Firebase
Производительность Android приложений Kotlin в сравнении с С++

В целом можно с уверенностью сказать, что существуют случаи, когда производительность нативного кода колоссально превосходит производительность JVM и, несмотря на некоторое усложнение проекта, имеет смысл реализовать с помощью NDK те модули программы, которые требуют сложных вычислений, особенно если необходимо проводить вычисления не с примитивными типами, а с объектами.

Статья: https://habr.com/ru/articles/732746/
Платформа: программирование/Kotlin
👍2
PlainApp - это приложение с открытым исходным кодом, которое позволяет управлять телефоном через веб-браузер. Доступ к файлам, видео, музыке, контактам, смс, звонкам и многому другому с вашего рабочего стола с помощью безопасного и простого в использовании веб-интерфейса.

PlainApp на GitHub: https://github.com/ismartcoding/plain-app
Платформа: Android
⭐️: 457
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как я разрабатывал кастомный Segmented Control на SwiftUI

Привет, меня зовут Тёма Загоскин, я разрабатываю крутые штуки в Авиасейлс - сервисе по покупке дешевых авиабилетов. Год назад мы начали с нуля разрабатывать новый модуль, что позволило нам использовать модный молодежный SwiftUI. Казалось бы, идеальный инструмент для легкой верстки и красивых анимаций, поэтому очередная задача написать кастомный Segmented Control казалась тривиальной, тем более, что стандартный компонент кастомизируется буквально никак.

Статья: https://habr.com/ru/articles/732640/
Платформа: iOS
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Типы Диалогов в Jetpack Compose и как их использовать

Сегодня мы погрузимся в Диалоги. Мы начнем с технических аспектов, с того, как использовать их в Jetpack Compose, и со всех сочных моментов. Затем мы рассмотрим, какие существуют различные типы диалогов и как их использовать.

Простой туториал: https://www.composables.com/tutorials/dialogs
Платформа: Android