Улучшение запуска приложений: уроки Facebook
Улучшение времени запуска приложения - нетривиальная задача и требует глубокого понимания вещей, которые на нее влияют. В этом году команда Google Android и команда приложения Facebook совместно работали над метриками и обменивались подходами для улучшения запуска приложений. В общедоступной документации Google Android содержится много информации об оптимизации старта. В дополнение к этому Google делится тем, как это было применено к приложению Facebook и что помогло им улучшить запуск приложения.
Разработчики приложений Facebook стремятся к тому, чтобы у людей был лучший опыт и чтобы приложение безупречно работало на всех устройствах, в любой стране и в различных сетевых условиях. Работая вместе, команда Google Android и команда Facebook согласовали определение метрик для запуска приложений и лучшие практики и поделились ими в этой статье.
Статья: https://apptractor.ru/fcbsrtp
Платформа: Android
Улучшение времени запуска приложения - нетривиальная задача и требует глубокого понимания вещей, которые на нее влияют. В этом году команда Google Android и команда приложения Facebook совместно работали над метриками и обменивались подходами для улучшения запуска приложений. В общедоступной документации Google Android содержится много информации об оптимизации старта. В дополнение к этому Google делится тем, как это было применено к приложению Facebook и что помогло им улучшить запуск приложения.
Разработчики приложений Facebook стремятся к тому, чтобы у людей был лучший опыт и чтобы приложение безупречно работало на всех устройствах, в любой стране и в различных сетевых условиях. Работая вместе, команда Google Android и команда Facebook согласовали определение метрик для запуска приложений и лучшие практики и поделились ими в этой статье.
Статья: https://apptractor.ru/fcbsrtp
Платформа: Android
Forwarded from Mobile Development by AppTractor
Delivery Club проводит Weekend Offer для мобильных разработчиков и платит бонусом две зарплаты
Стать частью лидирующего в России фудтех-сервиса за одни выходные — легко!
Если вы классный iOS или Android-разработчик, регистрируйтесь на Weekend Offer Mobile Delivery Club, который пройдет 27-28 ноября.
Что вас ждет?
• Бонус в две зарплаты за оффер в выходные.
• Сильные команды разработки.
• Современный стек технологий.
• Возможность влиять на бизнес.
Как все будет проходить?
Конечно же, онлайн. Вы узнаете, как устроен бизнес Delivery Club и каких специалистов ищут, пройдете техническое собеседование, пообщаетесь с тимлидами.
Сколько времени это займет?
Вы сможете получить оффер за одни выходные. Всего 48 часов – и вы в команде крупнейшего фудтех-проекта страны, которым пользуются миллионы людей.
Как записаться?
Регистрация уже открыта на сайте: https://tech.delivery-club.ru/mobileweekend. Там же можно узнать подробности.
Стать частью лидирующего в России фудтех-сервиса за одни выходные — легко!
Если вы классный iOS или Android-разработчик, регистрируйтесь на Weekend Offer Mobile Delivery Club, который пройдет 27-28 ноября.
Что вас ждет?
• Бонус в две зарплаты за оффер в выходные.
• Сильные команды разработки.
• Современный стек технологий.
• Возможность влиять на бизнес.
Как все будет проходить?
Конечно же, онлайн. Вы узнаете, как устроен бизнес Delivery Club и каких специалистов ищут, пройдете техническое собеседование, пообщаетесь с тимлидами.
Сколько времени это займет?
Вы сможете получить оффер за одни выходные. Всего 48 часов – и вы в команде крупнейшего фудтех-проекта страны, которым пользуются миллионы людей.
Как записаться?
Регистрация уже открыта на сайте: https://tech.delivery-club.ru/mobileweekend. Там же можно узнать подробности.
XCRemoteCache - библиотека, созданная Spotify, для уменьшения времени длинных локальных сборок. Эта библиотека реализует удаленное кэширования для iOS-проектов с целью повторного использования целевых артефактов Xcode, созданных на машинах с непрерывной интеграцией (CI). Она поддерживает Objective-C, Swift и ObjC + Swift и может быть легко интегрирована с существующими проектами Xcode, включая проекты, управляемые CocoaPods или Carthage.
Проект на GitHub: https://github.com/spotify/XCRemoteCache
Статья: https://apptractor.ru/XCRmt
Платформа: iOS
⭐️: 293
Проект на GitHub: https://github.com/spotify/XCRemoteCache
Статья: https://apptractor.ru/XCRmt
Платформа: iOS
⭐️: 293
Проект на выходные :) Elite — культовая компьютерная игра, космический симулятор с открытым миром и элементами экономической стратегии, выпущенная Acornsoft в 1984 году для компьютеров BBC Micro и Acorn Electron. Elite открыла целый новый жанр игр — космических симуляторов с элементами торговли. На этом сайте собраны исходники разных вариантов Elite, руководства по сборке проектов и разбор кода.
Сайт: https://www.bbcelite.com/
Исходники: https://github.com/markmoxon/cassette-elite-beebasm
Платформа: Windows/Mac/Linux
⭐️: 265
Сайт: https://www.bbcelite.com/
Исходники: https://github.com/markmoxon/cassette-elite-beebasm
Платформа: Windows/Mac/Linux
⭐️: 265
Bbcelite
Mark Moxon's Software Archaeology
Reverse engineering, code disassemblies and a healthy dose of retrocomputing nostalgia
CoinList - это простое приложение, основанное на Jetpack Compose, современном техническом стеке и чистой архитектуре. Проект довольно простой, он показывает список криптовалют и общую информацию о них, полученную из API.
Внутри: Clean Architecture, шаблон Репозиторий, MVVM, Jetpack Compose, Hilt, Livedata, Viewmodel, Retrofit, Flow, корутины, материальные компоненты.
GitHub: https://github.com/ytam/Coin-List
Платформа: Android
⭐️: 1
Внутри: Clean Architecture, шаблон Репозиторий, MVVM, Jetpack Compose, Hilt, Livedata, Viewmodel, Retrofit, Flow, корутины, материальные компоненты.
GitHub: https://github.com/ytam/Coin-List
Платформа: Android
⭐️: 1
FancyGradient - это подкласс UIView, который позволяет делать анимированные градиенты в iOS-приложении. Написано на чистом Swift.
Библиотека на GitHub: https://github.com/Nikoloutsos/fancyGradient
Платформа: iOS
⭐️: 23
Библиотека на GitHub: https://github.com/Nikoloutsos/fancyGradient
Платформа: iOS
⭐️: 23
Я слишком молода, чтобы быть Senior-разработчиком?
Когда я начинала работать в сфере высоких технологий, я думала, что должность Senior-разработчика означает, что вы уже старый. Но позже я узнала, что ведущие должности предназначены не только для людей с десятками лет опыта.
Недавно меня повысили до Senior разработчика. Мне 24.
Хотя я занимаюсь программированием с 12 лет, я не владею всеми языками программирования. Я проработала на своей работе два года, переключаясь между пятью разными проектами с различными техническими стеками, проявляя инициативу и играя ключевую роль в принятии важных решений в разработке ПО.
Но разве я слишком молода для этой должности?
Статья: https://apptractor.ru/snr24
Платформа: карьера
Когда я начинала работать в сфере высоких технологий, я думала, что должность Senior-разработчика означает, что вы уже старый. Но позже я узнала, что ведущие должности предназначены не только для людей с десятками лет опыта.
Недавно меня повысили до Senior разработчика. Мне 24.
Хотя я занимаюсь программированием с 12 лет, я не владею всеми языками программирования. Я проработала на своей работе два года, переключаясь между пятью разными проектами с различными техническими стеками, проявляя инициативу и играя ключевую роль в принятии важных решений в разработке ПО.
Но разве я слишком молода для этой должности?
Статья: https://apptractor.ru/snr24
Платформа: карьера
AppSalvager - библиотека, которая позволяет приложению отобразить небольшое руководство по устранению неполадок в случае повторяющихся сбоев при запуске.
Библиотека на GitHub: https://github.com/DrBreen/AppSalvager
Платформа: Android
⭐️: 18
Библиотека на GitHub: https://github.com/DrBreen/AppSalvager
Платформа: Android
⭐️: 18
Viper - хорошая архитектура, но с ней сложно начать работу.Viperit - библиотека, которая должна упростить шаблонный процесс развертывания.
Библиотека на GitHub: https://github.com/ferranabello/Viperit
Платформа: iOS
⭐️: 436
Библиотека на GitHub: https://github.com/ferranabello/Viperit
Платформа: iOS
⭐️: 436
Традиционный проект на выходные 😀 SDLPoP - open source порт Prince of Persia, основанный на дизассемблировании DOS-версии и расширенный новыми фичами.
Проект на GItHub: https://github.com/NagyD/SDLPoP
Платформа: Windows/Linux/macOS
⭐️: 795
Проект на GItHub: https://github.com/NagyD/SDLPoP
Платформа: Windows/Linux/macOS
⭐️: 795
Видео
iOS
• Идентификаторы элементов в XCUITest
• Анимируй это: введение в анимации SwiftUI
• ТОП-8 вопросов от iOS кандидатов на собесе в hh
Android
• Как ускорить Dagger в Android
• Kotlin для всего
• Как добавить динамические темы Material You из Android 12 в приложение
Что вы смотрели? Поделитесь в комментариях!
iOS
• Идентификаторы элементов в XCUITest
• Анимируй это: введение в анимации SwiftUI
• ТОП-8 вопросов от iOS кандидатов на собесе в hh
Android
• Как ускорить Dagger в Android
• Kotlin для всего
• Как добавить динамические темы Material You из Android 12 в приложение
Что вы смотрели? Поделитесь в комментариях!
AppTractor
Идентификаторы элементов в XCUITest
Что за зверь такой, Accessibility Identifier? Как отловить его в дикой природе и сделать своим другом? В этом видео разработчики HH.ru шаг за шагом разбирают как написать простенький автотест для iOS-приложения с использованием фреймворка XCUITest, рассказывают…
MultiScreenApp - Приложение, которое использует Multipeer Connectivity для воспроизведения одного видео на 6 разных экранах iOS-устройствах с дополнительным смартфоном, выступающим в качестве основного управляющего центра.
Приложение на GitHub: https://github.com/vedantapps/MultiScreenApp
Платформа: iOS
⭐️: 27
Приложение на GitHub: https://github.com/vedantapps/MultiScreenApp
Платформа: iOS
⭐️: 27
JetBrains представила легковесный редактор кода Fleet
Компания JetBrains представила легковесный редактор Fleet. В нем есть удобный редактор с подсветкой синтаксиса, базовое автодополнение и все то, что вы ожидаете от редактора. Это инструмент для тех, кому нужна полноценная IDE, но время от времени хочется поработать в простом редакторе. Он подойдет тем, кто предпочитает использовать один универсальный инструмент вместо нескольких узкоспециализированных.
Одним нажатием кнопки Fleet превращается в полнофункциональную среду разработки, которая поддерживает умное автодополнение, навигацию, отладку, рефакторинги и все то, к чему вы привыкли при работе в IDE.
Платформа: программирование
Компания JetBrains представила легковесный редактор Fleet. В нем есть удобный редактор с подсветкой синтаксиса, базовое автодополнение и все то, что вы ожидаете от редактора. Это инструмент для тех, кому нужна полноценная IDE, но время от времени хочется поработать в простом редакторе. Он подойдет тем, кто предпочитает использовать один универсальный инструмент вместо нескольких узкоспециализированных.
Одним нажатием кнопки Fleet превращается в полнофункциональную среду разработки, которая поддерживает умное автодополнение, навигацию, отладку, рефакторинги и все то, к чему вы привыкли при работе в IDE.
Платформа: программирование
TimelineView - библиотека, которая делает календарь событий, как в дневном виде Google Calendar.
Библиотека на GitHub: https://github.com/akri16/TimelineView
Платформа: Android
⭐️: 2
Библиотека на GitHub: https://github.com/akri16/TimelineView
Платформа: Android
⭐️: 2
Мобильной разработки не будет через 5 лет
Мобильной разработки в том виде, какой вы знаете её сейчас, не станет через 5 лет? Из видео узнаете что изучать, чтобы не потерять работы.
Видео: https://apptractor.ru/info/media/mobilnoy-razrabotki-ne-budet-cherez-5-let.html
Платформа: карьера
Мобильной разработки в том виде, какой вы знаете её сейчас, не станет через 5 лет? Из видео узнаете что изучать, чтобы не потерять работы.
Видео: https://apptractor.ru/info/media/mobilnoy-razrabotki-ne-budet-cherez-5-let.html
Платформа: карьера
Исправление неоднозначных ограничений (constraints ) без перезапуска приложения
Попробуем исправить ошибки вёрстки без перезапуска приложения и без перезагрузки текущего экрана. Этот подход сэкономит много времени и просто необходим, если воспроизвести ошибку вёрстки не получается. Вот план:
1. Запустим View Debugger
2. Деактивируем ошибочное ограничение
3. Применим верное ограничение
4. Обновим вёрстку прямо из отладчика LLDB
5. Убедимся, что все ошибки и предупреждения автовёрстки пропали
6. ПРОФИТ
Статья: https://apptractor.ru/cnstr
Платформа: iOS
⬆️: +11
Попробуем исправить ошибки вёрстки без перезапуска приложения и без перезагрузки текущего экрана. Этот подход сэкономит много времени и просто необходим, если воспроизвести ошибку вёрстки не получается. Вот план:
1. Запустим View Debugger
2. Деактивируем ошибочное ограничение
3. Применим верное ограничение
4. Обновим вёрстку прямо из отладчика LLDB
5. Убедимся, что все ошибки и предупреждения автовёрстки пропали
6. ПРОФИТ
Статья: https://apptractor.ru/cnstr
Платформа: iOS
⬆️: +11
Android 12: история поддержки
Совсем недавно вышла новая версия всеми нами любимой OS. Вот и пришло время нашему приложению поддержать её. Было очень много обзоров на новые возможности Android 12, а также изменений для разработчиков. Сегодня я расскажу про наш тернистый путь. Наливайте чай/кофе и готовьтесь к увлекательному погружению в мир Android.
Статья: https://apptractor.ru/ytandr12
Платформа: Android
⬆️: +5
Совсем недавно вышла новая версия всеми нами любимой OS. Вот и пришло время нашему приложению поддержать её. Было очень много обзоров на новые возможности Android 12, а также изменений для разработчиков. Сегодня я расскажу про наш тернистый путь. Наливайте чай/кофе и готовьтесь к увлекательному погружению в мир Android.
Статья: https://apptractor.ru/ytandr12
Платформа: Android
⬆️: +5
Meow - маленькое приложение для macOS, которое проверяет получение подписок в RevenueCat и мяукает каждый раз при обнаружении нового подписчика. Сделано с применением RxSwift, KeychainAccess и Popover.
Приложение на GitHub: https://github.com/2stable/meow
Платформа: iOS/macOS
⭐️: 13
Приложение на GitHub: https://github.com/2stable/meow
Платформа: iOS/macOS
⭐️: 13
Бывших не бывает. Как опыт спортивного программирования влияет на работу с реальным кодом
Олимпиадное прошлое, безусловно, полезно. Но в большинстве случаев код разработчиков-олимпиадников мне кажется не самым читаемым и понятным, если они не перестроились на режим коммерческой разработки. У олимпиадников мозг работает немного иначе, они генерируют сотни крутых идей в минуту, только успевай записывать. Качество и чистота при такой быстрой записи порой хромают, и код требует рефакторинга.
Если программист научился писать читаемый код и разобрался с архитектурой, он быстро станет очень крутым и перспективным разработчиком. Но, скорее всего, столкнется с одной единственной проблемой: такие разработчики живут алгоритмами, и им не так просто в текущих реалиях найти интересный проект, где можно полностью раскрыться и показать себя. К счастью, такие проекты все же есть.
Статья: https://habr.com/ru/post/592445/
Платформа: программирование/Swift/iOS
⬆️: +5
Олимпиадное прошлое, безусловно, полезно. Но в большинстве случаев код разработчиков-олимпиадников мне кажется не самым читаемым и понятным, если они не перестроились на режим коммерческой разработки. У олимпиадников мозг работает немного иначе, они генерируют сотни крутых идей в минуту, только успевай записывать. Качество и чистота при такой быстрой записи порой хромают, и код требует рефакторинга.
Если программист научился писать читаемый код и разобрался с архитектурой, он быстро станет очень крутым и перспективным разработчиком. Но, скорее всего, столкнется с одной единственной проблемой: такие разработчики живут алгоритмами, и им не так просто в текущих реалиях найти интересный проект, где можно полностью раскрыться и показать себя. К счастью, такие проекты все же есть.
Статья: https://habr.com/ru/post/592445/
Платформа: программирование/Swift/iOS
⬆️: +5
Практическое уменьшение размера Android-приложения в LinkedIn
Размер приложения является ключевым показателем, влияющим на привлечение и удержание пользователей: если приложение слишком велико для загрузки, пользователи могут пропустить установку или отменить ее во время загрузки, если после использования приложение занимает слишком много места, пользователи могут удалить его.
Статья: https://apptractor.ru/drdlnkd
Платформа: Android
👋: 100
Размер приложения является ключевым показателем, влияющим на привлечение и удержание пользователей: если приложение слишком велико для загрузки, пользователи могут пропустить установку или отменить ее во время загрузки, если после использования приложение занимает слишком много места, пользователи могут удалить его.
Статья: https://apptractor.ru/drdlnkd
Платформа: Android
👋: 100