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

Как эпл делают свои приложения, например:
📆 Погода: написали на сценах. Контент лежит на вертикальном скроле.
🧮 Калькулятор: сцены и сетка кнопок на фреймах.
💳 Wallet: сцены, лейаут на фреймах. Каждую карточку поместили в контейнер.

Подписывайтесь на канал, ребята делают кучу полезнойстей для iOS разработчиков бесплатно
👍3🔥1
Text Resizing — гибкие компоненты для улучшенного доступности: опыт PayPal

Создавая цифровые продукты в PayPal, мы со временем меняем функции. Наша недавняя работа позволила улучшить доступность наших нативных приложений (iOS/Android). Мы увеличили размера шрифта по умолчанию, разработали больший цветовой контраст для текста и элементов управления, а также сделали поддержу незрячего использования. Поскольку наша команда планировала новую крупную инициативу, редизайн потребительского приложения PayPal, мы искали следующую возможность улучшить доступность для наших клиентов. Одна особенность выделялась как ценная цель, к которой мы должны стремиться — поддержка изменения размера текста (Text Resizing) в наших приложениях.

Статья: https://apptractor.ru/txtrsz
Платформа: разработка
OpenFind - готовое приложение по поиску тех или иных слов (текста) в фотографиях. Может искать слова в изображениях Галереи или в в реальном времени прямо в Камере. Работает офлайн, поддерживает VoiceOver. Среди вариантов применения - поиск аллергенов или нежелательных ингредиентов на этикетках, организация фотографий и т.п.

OpenFind на GitHub: https://github.com/aheze/OpenFind
Платформа: iOS
⭐️:404
👍2
Sheets Compose Dialogs - Android-библиотека, предлагающая готовые диалоги и представления Jetpack Compose для различных вариантов использования (выбор цвета, календарь, часы, выбор даты, выбор опций, список, выбор чек или радио боксов и т.п.). Все диалоги и представления легко и быстро реализуются. Представления можно использовать для всплывающих окон, выдвигающихся меню и прочих контейнеров.

Sheets Compose Dialogs на GitHub: https://github.com/maxkeppeler/sheets-compose-dialogs
Платформа: Android
⭐️: 69
PhoneNumberKit - фреймворк для парсинга, форматирования и проверки международных телефонных номеров. Написан на Swift 5.3. Среди особенностей - быстрота (1000 обработок меньше чем за полсекунды), метаданные Google libPhoneNumber, автоматическое получение кода региона из телефона, конвертирование кода страны в название и обратно.

PhoneNumberKit на GitHub: https://github.com/marmelroy/PhoneNumberKit
Платформа: iOS
⭐️:4.7К
Kweb — веб-фреймворк Kotlin для бэкенд-разработчиков. Цель Kweb — устранить разделение между сервером и браузером, чтобы вы могли сосредоточиться на создании своего сайта или пользовательского интерфейса, а не на организации работы.

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

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

Kweb построен на платформе Ktor, который поддерживает HTTP, HTTPS и WebSocket. Вам не нужно знать Ktor, чтобы использовать Kweb, но если у вас уже есть приложение Ktor, вы можете встроить Kweb в качестве функции.

Kweb на GitHub: https://github.com/kwebio/kweb-core
Платформа: веб
⭐️:729
YCharts - легковесная библиотека построения разных графиков для Jetpack Compose. Есть линейные графики, столбчатые, групповые столбчатые, круговые, пончиковые, комбинированные диаграммы.

YCharts на GitHub: https://github.com/yml-org/YCharts
Платформа: Android
⭐️: 14
Более быстрое железо — плохое [первое] решение для медленного ПО

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

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

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

Статья: https://apptractor.ru/hard1
Платформа: разработка
👍1👎1
Code App - полноформатный редактор кода для iPad. Есть встроенная поддержка Node.js, Python, C, C++ и PHP, поддержка Git, поддержка пактов, встроенный эмулятор терминала и поддержка подключения к удаленному.

Code App на GitHub: https://github.com/thebaselab/codeapp
Платформа: iOS
⭐️: 4.7К
Чемпионат по программированию Yandex Cup 2022

Чемпионат стартует уже сегодня и пройдет в два этапа — квалификация и финал. Победители разделят 6,2 млн рублей,
а лучшие студенты в каждом направлении получат еще по 100 000 рублей.

Попробовать свои силы можно в одном из шести треков:

• мобильная разработка,
• фронтенд,
• бэкенд,
• аналитика,
• алгоритмы,
• машинное обучение.

В финале участникам трека мобильной разработки нужно будет реализовать несколько мини-приложений для одной из платформ (iOS, Android либо Flutter).

Принять участие в квалификации можно до 7 ноября, присоединяйтесь!
Мокирование (от английского mock, “заглушка”, “имитация”) — это метод, позволяющий сделать тестирование кода читабельным и удобным для сопровождения. Mockk - библиотека с открытым исходным кодом, ориентированная на то, чтобы сделать мокирование в Kotlin великолепными.

Mockk на GitHub: https://github.com/mockk/mockk
Платформа: Android
⭐️: 4.7K
10 открытых проектов Jetpack Compose, которые вас вдохновят

Проекты с открытым исходным кодом - лучшие друзья разработчика. Я считаю, что после документации, проекты с открытым исходным кодом являются отличным источником обучения. Jetpack Compose - новейший член семьи и один из самых важных. Сегодня мы увидим мощь Jetpack Compose.

Статья: https://apptractor.ru/compose10
Платформа: Android
👍2
DevOps Roadmap 2022 - пошаговое руководство о том, как стать DevOps-инженером, со ссылками на соответствующие учебные ресурсы.

DevOps Roadmap 2022 на GitHub: https://github.com/milanm/DevOps-Roadmap
Платформа: DevOps
⭐️: 826
RIBs — это фреймворк кроссплатформенной архитектуры, лежащий в основе многих мобильных приложений Uber. Название RIBs является сокращением от Router, Interactor и Builder, которые являются основными компонентами этой архитектуры. Этот фреймворк разработан для мобильных приложений с большим количеством инженеров и вложенных состояний.

Преимущества архитектуры RIBs:

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

• Тестируемость и изоляция. Классы должны легко тестироваться и анализироваться изолированно. Отдельные классы RIB имеют разные обязанности, такие как: маршрутизация, бизнес, логика экрана, создание. Кроме того, большая часть логики RIB отделена от дочерней логики RIB. Это позволяет легко тестировать классы RIB и анализировать их независимо друг от друга.

• Инструменты для повышения производительности труда разработчиков. RIBs поставляется с инструментами IDE для создания кода, обнаружения утечек памяти, статического анализа и интеграции среды выполнения — все это повышает производительность разработчиков как в больших, так и в малых командах.

• Масштабируемая архитектура. Эта архитектура доказала свою способность масштабироваться для сотен инженеров, работающих над одной кодовой базой и приложениями с сотнями RIBs.

RIBs на GitHub: https://github.com/uber/RIBs
Платформа: архитектура/iOS/Android
⭐️: 7.1 K
Mastodon — крупнейшая децентрализованная социальная сеть в Интернете. Вместо одного веб-сайта это сеть миллионов пользователей в независимых сообществах, которые могут беспрепятственно взаимодействовать друг с другом. В этом репозитории - код iOS и Android приложений Mastodon.

Mastodon на GitHub: https://github.com/mastodon/
Платформа: iOS/Android
⭐️: 554
🤔2
Как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами

Сегодня мы поговорим о том, как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами. В 2016 году WhatsApp охватил более миллиарда пользователей и имел следующую статистику нагрузки:

• 42 миллиарда сообщений отправляются ежедневно
• 1.6 миллиарда изображений отправляются ежедневно
• 250 миллионов видео отправляются ежедневно

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

Статья: https://apptractor.ru/wapps1
Платформа: разработка
Compose Navigation Reimagined - небольшая и простая в использовании, но полноценная и настраиваемая навигационная библиотека для Jetpack Compose. Полность типобезопасна, есть встроенное восстановление состояния, вложенная навигация с независимыми обратными стеками, собственный Lifecycle, ViewModelStore и SavedStateRegistry для каждой записи в бэкстеке, анимированные переходы, возможность определять scope для простого совместного использования ViewModel. И никаких компоновщиков, никаких обязательных суперклассов для ваших composable.

Compose Navigation Reimagined на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 261
Iron - современный трекер тренировок с весами для iOS, написанный на SwiftUI.

Iron на GitHub: https://github.com/kabouzeid/Iron
Платформа: iOS
⭐️: 55
👍2🌚1