10 открытых проектов Jetpack Compose, которые вас вдохновят
Проекты с открытым исходным кодом - лучшие друзья разработчика. Я считаю, что после документации, проекты с открытым исходным кодом являются отличным источником обучения. Jetpack Compose - новейший член семьи и один из самых важных. Сегодня мы увидим мощь Jetpack Compose.
Статья: https://apptractor.ru/compose10
Платформа: Android
Проекты с открытым исходным кодом - лучшие друзья разработчика. Я считаю, что после документации, проекты с открытым исходным кодом являются отличным источником обучения. 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
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
Преимущества архитектуры RIBs:
• Общая архитектура для iOS и Android. Создавайте кроссплатформенные приложения с похожей архитектурой, что позволяет командам iOS и Android выполнять перекрестную проверку кода бизнес-логики.
• Тестируемость и изоляция. Классы должны легко тестироваться и анализироваться изолированно. Отдельные классы RIB имеют разные обязанности, такие как: маршрутизация, бизнес, логика экрана, создание. Кроме того, большая часть логики RIB отделена от дочерней логики RIB. Это позволяет легко тестировать классы RIB и анализировать их независимо друг от друга.
• Инструменты для повышения производительности труда разработчиков. RIBs поставляется с инструментами IDE для создания кода, обнаружения утечек памяти, статического анализа и интеграции среды выполнения — все это повышает производительность разработчиков как в больших, так и в малых командах.
• Масштабируемая архитектура. Эта архитектура доказала свою способность масштабироваться для сотен инженеров, работающих над одной кодовой базой и приложениями с сотнями RIBs.
RIBs на GitHub: https://github.com/uber/RIBs
Платформа: архитектура/iOS/Android
⭐️: 7.1 K
Видео и аудио за неделю
•
•
•
•
•
•
•
•
•
(iOS)
SwiftUI – Face Loading Animation Tutorial•
(iOS)
Swift Closures Explained•
(And)
Кастомный тулбар на Compose•
(And)
Full Guide to Jetpack Compose Animations•
(And)
Kotlin Coroutines in practice•
(Dev)
Взгляд разработчика на качество продукта•
(Dev)
Podlodka #292: распознавание речи•
(Dev)
Машинное обучение с нуля — практический курс AssemblyAI👍1
Mastodon — крупнейшая децентрализованная социальная сеть в Интернете. Вместо одного веб-сайта это сеть миллионов пользователей в независимых сообществах, которые могут беспрепятственно взаимодействовать друг с другом. В этом репозитории - код iOS и Android приложений Mastodon.
Mastodon на GitHub: https://github.com/mastodon/
Платформа: iOS/Android
⭐️: 554
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
Платформа: разработка
Сегодня мы поговорим о том, как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами. В 2016 году WhatsApp охватил более миллиарда пользователей и имел следующую статистику нагрузки:
• 42 миллиарда сообщений отправляются ежедневно
• 1.6 миллиарда изображений отправляются ежедневно
• 250 миллионов видео отправляются ежедневно
Им удалось обслуживать этот масштаб всего с 50 инженерами. Вот описание инженерной культуры и технологического стека, благодаря которым это стало возможным.
Статья: https://apptractor.ru/wapps1
Платформа: разработка
AppTractor
Как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами
Вот описание инженерной культуры и технологического стека, благодаря которым это стало возможным.
Compose Navigation Reimagined - небольшая и простая в использовании, но полноценная и настраиваемая навигационная библиотека для Jetpack Compose. Полность типобезопасна, есть встроенное восстановление состояния, вложенная навигация с независимыми обратными стеками, собственный Lifecycle, ViewModelStore и SavedStateRegistry для каждой записи в бэкстеке, анимированные переходы, возможность определять scope для простого совместного использования ViewModel. И никаких компоновщиков, никаких обязательных суперклассов для ваших composable.
Compose Navigation Reimagined на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 261
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
Iron на GitHub: https://github.com/kabouzeid/Iron
Платформа: iOS
⭐️: 55
👍2🌚1
Compose Multiplatform - порт UI-фреймворка для настольных платформ (macOS, Linux, Windows) и веба. Компоненты разработаны JetBrains и находятся вне основного репозитория Compose.
Compose Multiplatform на GitHub: https://github.com/JetBrains/compose-jb
Платформа: кроссплатформа
⭐️: 9.7K
Compose Multiplatform на GitHub: https://github.com/JetBrains/compose-jb
Платформа: кроссплатформа
⭐️: 9.7K
Как стать устойчивым и растущим инди-разработчиком
Создавать игры сложно, и есть много предубеждений, связанных с выживанием разработчиков игр. У каждого свои обстоятельства. Тем не менее, я считаю, что есть способы минимизировать риски и максимизировать свои шансы на успех и стать устойчивым. Я Крис Антони, основатель инди-студии по разработке и издательству игр Toge Productions из Индонезии, и это мой опыт инди-разработки.
Урок 1: Начните с малого
Урок 2: Повторное использование и переработка
Урок 3: Быстро терпите неудачу и делайте выводы
Урок 4: Знайте свою аудиторию
Урок 5: Знайте свои пределы
Урок 6: Превратите свои вехи в ступеньки
Урок 6: Будьте милы, заводите друзей
Статья: https://apptractor.ru/indiedev
Платформа: игры
Создавать игры сложно, и есть много предубеждений, связанных с выживанием разработчиков игр. У каждого свои обстоятельства. Тем не менее, я считаю, что есть способы минимизировать риски и максимизировать свои шансы на успех и стать устойчивым. Я Крис Антони, основатель инди-студии по разработке и издательству игр Toge Productions из Индонезии, и это мой опыт инди-разработки.
Урок 1: Начните с малого
Урок 2: Повторное использование и переработка
Урок 3: Быстро терпите неудачу и делайте выводы
Урок 4: Знайте свою аудиторию
Урок 5: Знайте свои пределы
Урок 6: Превратите свои вехи в ступеньки
Урок 6: Будьте милы, заводите друзей
Статья: https://apptractor.ru/indiedev
Платформа: игры
Библиотека нашего читателя. Pin - небольшая библиотека для работы с AutoLayout через “чейнабл" синтаксис.
Pin на GitHub: https://github.com/mezhevikin/Pin
Платформа: iOS
⭐️: 4
Pin на GitHub: https://github.com/mezhevikin/Pin
Платформа: iOS
⭐️: 4
🕊2
Weekend Mobile Offer — уже 19-20 ноября
Как получить офер в Яндекс за 2 дня? Участвовать в Weekend Mobile Offer. Ближайший — 19-20 ноября.
Если вы, или тот, кого вы знаете, имеете опыт разработки не менее трех лет на iOS, Android или Flutter, смело жмите на кнопку и регистрируйтесь.
Онлайн-отбор закончится 16 ноября. 20 ноября тех, кто его пройдёт, пригласят на технические собеседования и встречи с нанимающими командами. Удачи!
Как получить офер в Яндекс за 2 дня? Участвовать в Weekend Mobile Offer. Ближайший — 19-20 ноября.
Если вы, или тот, кого вы знаете, имеете опыт разработки не менее трех лет на iOS, Android или Flutter, смело жмите на кнопку и регистрируйтесь.
Онлайн-отбор закончится 16 ноября. 20 ноября тех, кто его пройдёт, пригласят на технические собеседования и встречи с нанимающими командами. Удачи!
👍3🤮2
Видео и аудио за неделю
•
•
•
•
•
•
•
•
•
•
(iOS)
Незнание стандартов не освобождает от ответственности: Юникод, Swift, Строки•
(iOS)
Create iOS Calendar app in Swift with CalendarKit•
(iOS)
Responsive and smooth UIs•
(And)
История большого переезда одного Android-приложения•
(And)
Form Factors: Android Dev Summit ’22•
(And)
Easy SharedPreferences with Delegated Properties in Kotlin•
(Dev)
Декларативный UI: Flutter vs SwiftUI vs Jetpack Compose•
(Dev)
Quality Gates: Мне нужны твоя одежда, сапоги и мотоцикл•
(Psy)
Podlodka #293: как продавать свои идеиAppTractor
Незнание стандартов не освобождает от ответственности: Юникод, Swift, Строки
Строки — это сложно: графемы, кодпоинты, нормализация, сегментация. В этом докладе пойдет речь о том, как это получилось и как с этим работать.
❤2👍2
Compose Progress Indicators - настраиваемые индикаторы прогресса, как в iOS или mac, написанные на Jetpack Compose.
Compose Progress Indicators на GitHub: https://github.com/SmartToolFactory/Compose-ProgressIndicator
Платформа: Android
⭐️: 17
Compose Progress Indicators на GitHub: https://github.com/SmartToolFactory/Compose-ProgressIndicator
Платформа: Android
⭐️: 17
LocalizableChecker - CLI утилита для проверки того, есть ли лишние ключи в файле Localizable.strings в вашем проекте.
Когда вы создаете приложение на разных языках, вы создаете множество ключей и значений перевода. Иногда вы удаляете какой-то код, но забываете удалить соответствующие ключи перевода. Ваш файл перевода становится все длиннее, и вы теряете время на перевод ключей, которые еще не используются в вашем приложении.
LocalizableChecker выводит все ключи, которые есть в файле перевода, но не используются в проекте.
LocalizableChecker на GitHub: https://github.com/Jonathan-Gander/LocalizableChecker
Платформа: iOS
⭐️: 12
Когда вы создаете приложение на разных языках, вы создаете множество ключей и значений перевода. Иногда вы удаляете какой-то код, но забываете удалить соответствующие ключи перевода. Ваш файл перевода становится все длиннее, и вы теряете время на перевод ключей, которые еще не используются в вашем приложении.
LocalizableChecker выводит все ключи, которые есть в файле перевода, но не используются в проекте.
LocalizableChecker на GitHub: https://github.com/Jonathan-Gander/LocalizableChecker
Платформа: iOS
⭐️: 12
GitHub
GitHub - Jonathan-Gander/LocalizableChecker: A Swift CLI to check if keys from a Localizable.strings file are unused in your project.
A Swift CLI to check if keys from a Localizable.strings file are unused in your project. - Jonathan-Gander/LocalizableChecker
👍1
Чтобы быть в тренде последних новостей из мира iOS разработки тебе надо подписаться на канал @iOS_broadcast.
📌 Там ты найдешь ежедневную подборку новостей с краткими обзорами, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
📌 Там ты найдешь ежедневную подборку новостей с краткими обзорами, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
⚡1
Как Xcode 14 непреднамеренно увеличивает размер приложения
Вскоре после выпуска Xcode 14 размер ряда приложений для iOS значительно увеличился. С середины сентября по начало октября:
• 8 октября размер приложения Nike для iOS был 182.2 МБ. Через неделю уже 322.1 МБ (+68%).
• Приложение American Airlines выросло с 182.2 до 389.1 МБ, при этом Xcode 14 вызвал увеличение на 76.2 МБ (+42%).
• Chime увеличился со 162.8 МБ до 212.8 МБ (+31%).
В каждом случае скачок размера связан с тем, что эти приложения впервые выпускались с Xcode 14.
Статья: https://apptractor.ru/14bitcode
Платформа: iOS
Вскоре после выпуска Xcode 14 размер ряда приложений для iOS значительно увеличился. С середины сентября по начало октября:
• 8 октября размер приложения Nike для iOS был 182.2 МБ. Через неделю уже 322.1 МБ (+68%).
• Приложение American Airlines выросло с 182.2 до 389.1 МБ, при этом Xcode 14 вызвал увеличение на 76.2 МБ (+42%).
• Chime увеличился со 162.8 МБ до 212.8 МБ (+31%).
В каждом случае скачок размера связан с тем, что эти приложения впервые выпускались с Xcode 14.
Статья: https://apptractor.ru/14bitcode
Платформа: iOS
Camera Samples - набор отдельных проектов Android Studio, которые помогут вам начать работу с API-интерфейсами CameraX и Camera2 в Android.
Camera Samples на GitHub: https://github.com/android/camera-samples
Платформа: Android
⭐️: 4K
Camera Samples на GitHub: https://github.com/android/camera-samples
Платформа: Android
⭐️: 4K
GitHub
GitHub - android/camera-samples: Multiple samples showing the best practices in camera APIs on Android.
Multiple samples showing the best practices in camera APIs on Android. - android/camera-samples
Swinject— это легковесный фреймворк внедрения зависимостей для Swift.
Внедрение зависимостей (Dependency injection, DI) — это шаблон проектирования, который реализует инверсию управления (IoC) для разрешения зависимостей. В этом шаблоне Swinject помогает разделить ваше приложение на слабо связанные компоненты, которые легче разрабатывать, тестировать и поддерживать. Swinject основан на системе универсальных типов Swift и функциях первого класса, позволяющих просто и свободно определять зависимости вашего приложения.
Swinject на GitHub: https://github.com/Swinject/Swinject
Платформа: iOS
⭐️: 5.5K
Используете DI в своих приложениях?
Внедрение зависимостей (Dependency injection, DI) — это шаблон проектирования, который реализует инверсию управления (IoC) для разрешения зависимостей. В этом шаблоне Swinject помогает разделить ваше приложение на слабо связанные компоненты, которые легче разрабатывать, тестировать и поддерживать. Swinject основан на системе универсальных типов Swift и функциях первого класса, позволяющих просто и свободно определять зависимости вашего приложения.
Swinject на GitHub: https://github.com/Swinject/Swinject
Платформа: iOS
⭐️: 5.5K
Используете DI в своих приложениях?
👍3
Используем Charles
Charles называют самым популярным сниффером, инструментом для мониторинга трафика и подмены данных. Он работает как промежуточное звено между вебом или мобильным приложением (в нашем случае) и сервером. Этот инструмент хорошо знают тестировщики, но разработчикам тоже полезно знать и пользоваться его возможностями.
В этих двух статьях от студии CleverPumpkin разбирается установка и использование основных функций Charles для мобильных приложений:
• Как настроить Charles
• Ангелы Charles: как сниффер поможет разработчикам мобильных приложений
Платформа: разработка
Charles называют самым популярным сниффером, инструментом для мониторинга трафика и подмены данных. Он работает как промежуточное звено между вебом или мобильным приложением (в нашем случае) и сервером. Этот инструмент хорошо знают тестировщики, но разработчикам тоже полезно знать и пользоваться его возможностями.
В этих двух статьях от студии CleverPumpkin разбирается установка и использование основных функций Charles для мобильных приложений:
• Как настроить Charles
• Ангелы Charles: как сниффер поможет разработчикам мобильных приложений
Платформа: разработка
👍2❤1