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
Benchart - веб-инструмент, визуализирующий и сравнивающий быстродействие вашего Android-приложения. Данные, судя по всему, берет просто копипастом из Android Studio, правда парсит их все-таки сам.
Benchart на GitHub: https://github.com/theapache64/benchart
Платформа: Android
⭐️: 21
Benchart на GitHub: https://github.com/theapache64/benchart
Платформа: Android
⭐️: 21
Отсутствие архитектуры лучше, чем плохая архитектура
Мне потребовалось несколько лет, чтобы научиться писать код, масштабируемый на десятки членов команды и миллионы строк кода. Потребовалось еще больше времени, чтобы снова научиться писать глупый код. Если вы хотите двигаться быстро, вы должны отложить построение архитектуры, и если часть вашего кодадерьмо , по крайней мере, пусть оно будет мягким.
Статья: https://apptractor.ru/noarc
Платформа: архитектура
Мне потребовалось несколько лет, чтобы научиться писать код, масштабируемый на десятки членов команды и миллионы строк кода. Потребовалось еще больше времени, чтобы снова научиться писать глупый код. Если вы хотите двигаться быстро, вы должны отложить построение архитектуры, и если часть вашего кода
Статья: https://apptractor.ru/noarc
Платформа: архитектура
🔥3👎2
Видео и аудио за неделю
•
•
•
•
•
•
•
•
•
(iOS) Independency: сбрасываем оковы CocoaPods•
(iOS) Navigation Split View for iPhone, iPad and macOS with 2 or 3 columns•
(And) 3 Performance Optimizations for your Jetpack Compose UI•
(And) Android Dev Summit '22 - Platform•
(Crs) Flutter Tutorial: Drawing App•
(Dev) Платформенные команды в мобильной разработке•
(Dev) Аудит резюме. Growths Hack на практике•
(Dev) Podlodka #294: масштабируем процессыAppTractor
Independency: сбрасываем оковы CocoaPods
Independency — это новая система модульности Авито. В докладе Тимофей Солонин расскажет: Как приложение Авито поделено на модули. Для чего команда превратила CocoaPods в ужасного гомункула. О том, как может выглядеть идеальная система модульности. Что такое…
👍1
KeyboardKit — это библиотека, которая помогает создавать собственные расширения клавиатуры, кастомные клавиатуры для Swift и SwiftUI. Она расширяет нативные API-интерфейсы клавиатуры и предоставляет вам гораздо больше функциональных возможностей.
KeyboardKit на GitHub: https://github.com/KeyboardKit/KeyboardKit
Платформа: iOS
⭐️: 869
KeyboardKit на GitHub: https://github.com/KeyboardKit/KeyboardKit
Платформа: iOS
⭐️: 869