Awesome Scalability - обновляемый организованный список чтения для создания масштабируемых, надежных и производительных систем. Концепции объясняются в статьях лучших инженеров и в заслуживающих доверия ссылках. Тематические исследования взяты из проверенных систем, которые обслуживают миллионы и миллиарды пользователей.
Разделы:
• Принципы
• Масштабируемость
• Доступность
• Стабильность
• Производительность
• Интеллектуальность
• Архитектура
• Интервью
• Организация
• Разговоры
• Книги
Awesome Scalability на GitHub: https://github.com/binhnguyennus/awesome-scalability
Платформа: архитектура
⭐️: 41K
А еще сегодня в моем другом канале AppFiles был Slack-Anti-Delete - патч, который сохраняет удаленные сообщения.
Разделы:
• Принципы
• Масштабируемость
• Доступность
• Стабильность
• Производительность
• Интеллектуальность
• Архитектура
• Интервью
• Организация
• Разговоры
• Книги
Awesome Scalability на GitHub: https://github.com/binhnguyennus/awesome-scalability
Платформа: архитектура
⭐️: 41K
А еще сегодня в моем другом канале AppFiles был Slack-Anti-Delete - патч, который сохраняет удаленные сообщения.
👍5
Новый большой еженедельный дайджест (вариант в Телеграф) - все 102 материала за неделю. По возможности поставьте 👍, поделитесь с коллегами и в соцсетях, поддержите наш канал на Boosty. Как говорил Дональд Кнут, "помните, что обычно есть решение проще и быстрее того, что первым приходит вам в голову". Прочитайте дайджест, примите первые идеи и реализуйте следующие.
👍24
По данным Sensor Tower Store, в третьем квартале 2022 года мировые потребительские расходы на покупки в приложениях, премиальные приложения и подписки в App Store и Google Play снизились на 4.8% по сравнению с прошлым годом и составили 31.6 млрд долларов. Количество установок также снизилось по сравнению с прошлым годом, хотя и не так резко - на 1% в годовом исчислении до 35.3 миллиарда. В App Store доходы издателей снизились на 2.3%, в Google Play - на 9.6%. Установки соответственно выросли на 3.8% и упали на 2.2%.
Тут с мест докладывают о падении спроса на всяческие курсы и вроде как “это будет первый год в истории российского рынка, когда отрасль покажет не рост, а падение”. С одной стороны, конечно, во времена могилизации (С) не до обучения, а с другой - в кризис самое оно поучить что-нибудь новое. Как вы - учите что-нибудь сейчас?
Разработка
• Спрос на обучающие курсы для взрослых упал на 10–30%
• Canva становится одним из самых зарабатывающих приложений в США
• Telegram вдвое снизил стоимость подписки в Индии
• Google Japan показал клавиатуру в виде палки
• Доходы рынка приложений в 3 квартале снизились на 5%
• Stark: решение проблем с доступностью
• Awesome Scalability: список чтения по масштабируемости систем
• Как победить выгорание, синдром самозванца и прокраситанцию: советы IT психолога
• Podlodka #287: стейблкойны
• Epic Games и Autodesk привносят 3D в архитектуру и инженерию
• Meta впервые в истории сокращает персонал
• SAD (Slack-Anti-Delete): сохранение удаленных сообщений в Slack
• Facts about State Machines
• A Product Engineering Skill That No One Talks About+
• You’re not an imposter. Developers are all faking it.
iOS
• Планирование приложений — руководства Apple
• State Machine в SwiftUI
• What are Sendable and @Sendable closures in Swift?
• Mastering Dynamic Island in SwiftUI
• Discover the MVVM Architecture in less than 90 seconds
• Drag & Drop in SwiftUI
Android
• Видео Droidcon New York 22
• Миграция с Rx на корутины — опыт «Тинькофф Мобайл»
• Lensa — разработка оффлайн фоторедактора на Android
• Deep Dive Into Deep Link. Часть 2. Проблемы: устройство, версия ОС
• Collect useful logs in production using Crashlytics, File logging and Timber
• Adaptive UI with Jetpack Compose
• Building A Jetpack Compose Window With AbstractComposeView
• Jetpack Compose Popup — Master It!
Кроссплатформа
• Kotlin Multiplatform: как превратить нативное приложение в кроссплатформенное
• The Art of Multiplatform Programming: The Secret to Maximizing Shared Code
• Put Flutter to Work
• Flutter: FCM — How to Navigate to a Particular Screen After Tapping on Push Notification
Вакансия дня
• Middle iOS-разработчик в Комитет
Разработка
• Спрос на обучающие курсы для взрослых упал на 10–30%
• Canva становится одним из самых зарабатывающих приложений в США
• Telegram вдвое снизил стоимость подписки в Индии
• Google Japan показал клавиатуру в виде палки
• Доходы рынка приложений в 3 квартале снизились на 5%
• Stark: решение проблем с доступностью
• Awesome Scalability: список чтения по масштабируемости систем
• Как победить выгорание, синдром самозванца и прокраситанцию: советы IT психолога
• Podlodka #287: стейблкойны
• Epic Games и Autodesk привносят 3D в архитектуру и инженерию
• Meta впервые в истории сокращает персонал
• SAD (Slack-Anti-Delete): сохранение удаленных сообщений в Slack
• Facts about State Machines
• A Product Engineering Skill That No One Talks About+
• You’re not an imposter. Developers are all faking it.
iOS
• Планирование приложений — руководства Apple
• State Machine в SwiftUI
• What are Sendable and @Sendable closures in Swift?
• Mastering Dynamic Island in SwiftUI
• Discover the MVVM Architecture in less than 90 seconds
• Drag & Drop in SwiftUI
Android
• Видео Droidcon New York 22
• Миграция с Rx на корутины — опыт «Тинькофф Мобайл»
• Lensa — разработка оффлайн фоторедактора на Android
• Deep Dive Into Deep Link. Часть 2. Проблемы: устройство, версия ОС
• Collect useful logs in production using Crashlytics, File logging and Timber
• Adaptive UI with Jetpack Compose
• Building A Jetpack Compose Window With AbstractComposeView
• Jetpack Compose Popup — Master It!
Кроссплатформа
• Kotlin Multiplatform: как превратить нативное приложение в кроссплатформенное
• The Art of Multiplatform Programming: The Secret to Maximizing Shared Code
• Put Flutter to Work
• Flutter: FCM — How to Navigate to a Particular Screen After Tapping on Push Notification
Вакансия дня
• Middle iOS-разработчик в Комитет
AppTractor
Спрос на обучающие курсы для взрослых упал на 10–30%
Рынок в 2022 году впервые может показать падение на 10–15%
👍3
Изучаете что-нибудь сейчас?
Anonymous Poll
16%
Новое направление
37%
Новые технологии внутри своего направления
19%
Ничего не изучаю
28%
Карту мира для миграции
👍11😢6🤔1
Помните PWA, прогрессивные веб-приложения, которые своим появлениям, казалось, положат конец гегемонии магазинов приложений и даже нативной разработке? Чудо ожидаемо не случилось и технология погрязла в платформенных различиях. Тем не менее, все развивается и с каждым годом становится лучше - в первой статье разбирается, какие проблемы остались у PWA. Все они, конечно, решаемы, но вывод у автора простой - PWA нативные приложения не заменит, да и фиг с ними, он нужен для другого.
Разработка
• Почему PWA еще не победили нативные приложения?
• Вы не самозванец — все разработчики притворяются
• $80 млн в Серии Д: Tally — ИИ для выплат по кредитным картам
• Amazon, Apple, Microsoft, Meta и Google улучшат распознавание речи для людей с ограниченными возможностями
• The Coders Programming Themselves Out of a Job
iOS
• NetNewsWire: открытый RSS-ридер
• Zillow использует Look Around из Apple Maps для выбора жилья
• PencilKit: Building a complete drawing app with a few lines of code
• How to Build a Voice Assistant App for iOS?
• Use a Base Class or a Protocol In Swift?
• iOS Realtime Video Streaming App Tutorial
Android
• Неочевидное про Fragment API. Часть 3. Навигация
• Prioritizing App Stability — Mobile Performance @ Lyft
• Jetpack Compose Popup — Master It!
• Build a Custom Design System Using Jetpack Compose
• Android's Unlikely Success
• Performance in Jetpack Compose
Кроссплатформа
• Zero To Hero in KMM with Compose and SwiftUi
• React Native Infinite Scrolling with React Query
• Google Flutter versus Microsoft .NET MAUI
Вакансия дня
• Android-разработчик в RuStore
Разработка
• Почему PWA еще не победили нативные приложения?
• Вы не самозванец — все разработчики притворяются
• $80 млн в Серии Д: Tally — ИИ для выплат по кредитным картам
• Amazon, Apple, Microsoft, Meta и Google улучшат распознавание речи для людей с ограниченными возможностями
• The Coders Programming Themselves Out of a Job
iOS
• NetNewsWire: открытый RSS-ридер
• Zillow использует Look Around из Apple Maps для выбора жилья
• PencilKit: Building a complete drawing app with a few lines of code
• How to Build a Voice Assistant App for iOS?
• Use a Base Class or a Protocol In Swift?
• iOS Realtime Video Streaming App Tutorial
Android
• Неочевидное про Fragment API. Часть 3. Навигация
• Prioritizing App Stability — Mobile Performance @ Lyft
• Jetpack Compose Popup — Master It!
• Build a Custom Design System Using Jetpack Compose
• Android's Unlikely Success
• Performance in Jetpack Compose
Кроссплатформа
• Zero To Hero in KMM with Compose and SwiftUi
• React Native Infinite Scrolling with React Query
• Google Flutter versus Microsoft .NET MAUI
Вакансия дня
• Android-разработчик в RuStore
AppTractor
Почему PWA еще не победили нативные приложения?
Чего им еще не хватает в 2022 году? Почему они еще не стали форматом по умолчанию для приложений?
👍6
Duolingo купила свой первый стартап. Интересно, что это не изучение языков, не аналитика или что-нибудь техническое — это анимационная студия, которая создавала графику для самого Duolingo, а также для Amazon, Dropbox, Spotify и Google.
Совсем любопытно то, что бизнес-директор говорит, что приобретение Gunner соответствует тому факту, что Duolingo — «компания, очень ориентированная на метрики». Даже из использования анимаций Duolingo получает измеряемую ценность. Например, подписки в приложении выросли, когда компания в приложении запустила их анимированную рекламу. «Это то, чему вы можете придать очень четкую экономическую ценность».
А вы измеряете ценность анимаций?
Совсем любопытно то, что бизнес-директор говорит, что приобретение Gunner соответствует тому факту, что Duolingo — «компания, очень ориентированная на метрики». Даже из использования анимаций Duolingo получает измеряемую ценность. Например, подписки в приложении выросли, когда компания в приложении запустила их анимированную рекламу. «Это то, чему вы можете придать очень четкую экономическую ценность».
А вы измеряете ценность анимаций?
👍37
Meta поджимают со всех сторон. TikTok отжал молодежь с видео, реальный BeReal обгоняет глянцевый Instagram, а вот новый проект Fizz вообще играет там, где Facebook начинался. Это анонимная социальная сеть для колледжей и кампусов с геолокацией и дамами. Ее главное отличие: 1) зарегистрироваться в ней могут только реальные ученики с действующим адресом электронной почты ВУЗа; 2) общаются все в локальных группах; 3) модерируют ее тоже живые учащиеся. Получается дикая вирусность и “амбассадорность”. Основатели уже говорят об охвате 95% студентов Стэнфорда, 70% в Райсе. К концу 2023 планируют покрыть практически все кампусы США. К чему это все - а ведь буквально только что Facebook казался непоколебимой социальной глыбой. Если у вас есть идея как его подсидеть, может самое время?
Разработка
• Fizz: социальная сеть для колледжей
• Каждый шестой программист хулиганил в школе
• Опубликован единый стандарт Matter 1.0 для IoT-устройств
• Recelery запустил шаринг еды
• Duolingo купила студию анимации
• Как купить девайс для умного дома и попасть в команду разработчиков (часть 2)
• Data Science is Dying?
• The Anti-Pattern that Sees the Disempowerment of Engineering Organisations Everywhere
• Radio buttons, checkboxes, toggle switches, and dropdown lists: design tips for using selection controls
• Charts Anatomy by Apple
iOS
• Логи в iOS, эпизод 2: os_signpost
• Show progress of the task using SwiftUI ProgressView
• Accordion in SwiftUI – DisclosureGroup Explorations
• The Problems with Singletons and Why You Should Use DI Instead
• State Restoration in SwiftUI
Android
• Whetstone: DI фреймворк для Android
• Удобный бенчмаркинг с Jetpack Benchmark Library. Макро- и микробенчмарки
• Jetpack Compose Clean Navigation
• Exploring “select” expression of Kotlin coroutines
• Understand Kotlin Reified and Type Erasure
• Loading Shimmer in Compose
Кроссплатформа
• 7 Useful Flutter Packages You Should Use in Your Next Project
• Responsive Flutter apps will no longer be a nightmare: Let’s simplify the process
Вакансия дня
• Middle Android Developer в Simply Technologies
Разработка
• Fizz: социальная сеть для колледжей
• Каждый шестой программист хулиганил в школе
• Опубликован единый стандарт Matter 1.0 для IoT-устройств
• Recelery запустил шаринг еды
• Duolingo купила студию анимации
• Как купить девайс для умного дома и попасть в команду разработчиков (часть 2)
• Data Science is Dying?
• The Anti-Pattern that Sees the Disempowerment of Engineering Organisations Everywhere
• Radio buttons, checkboxes, toggle switches, and dropdown lists: design tips for using selection controls
• Charts Anatomy by Apple
iOS
• Логи в iOS, эпизод 2: os_signpost
• Show progress of the task using SwiftUI ProgressView
• Accordion in SwiftUI – DisclosureGroup Explorations
• The Problems with Singletons and Why You Should Use DI Instead
• State Restoration in SwiftUI
Android
• Whetstone: DI фреймворк для Android
• Удобный бенчмаркинг с Jetpack Benchmark Library. Макро- и микробенчмарки
• Jetpack Compose Clean Navigation
• Exploring “select” expression of Kotlin coroutines
• Understand Kotlin Reified and Type Erasure
• Loading Shimmer in Compose
Кроссплатформа
• 7 Useful Flutter Packages You Should Use in Your Next Project
• Responsive Flutter apps will no longer be a nightmare: Let’s simplify the process
Вакансия дня
• Middle Android Developer в Simply Technologies
AppTractor
Fizz: социальная сеть для колледжей
Fizz — не первое приложение, основанное на стремлении студентов к более аутентичным впечатлениям от социальных сетей.
👍9😢2👏1😁1
Из вчерашних новостей - примерно каждый шестой программист в школе вел себя не очень хорошо. А какое поведение у вас было в школе?
Anonymous Poll
20%
Отличное
35%
Хорошее
32%
Удовлетворительное
13%
Неудовлетворительное
Сайт RayWenderlich (лучшие туториалы по iOS и Android разработке) провел опрос мобильных разработчиков и опубликовал отчет о работе State of Mobile Jobs 2022. Всего в нем 1.2К ответов (конечно не очень репрезентативно, но все же), на сайте можно поиграться с данными в разных разрезах. В целом средняя по больнице зарплата - $81,588. Интересно, что по языкам самая большая у Obj-C разрабов, и это понятно и по другим исследованиям, а вот на втором месте - C++, на третьем Python. Вот и примерный план роста 😀
🔥8
Lyft поделился своей работой над улучшением мобильного перфоманса. Пишут, что стратегии, изложенные в этой статье, не зависят от платформы, просто приводится все на примере Android. С другой стороны, меня всегда приводит в недоумение вопрос того, кто же это все наворотил. Кто то же писал на диск 2 тыс. раз в минуту и использовал SharedPreferences в качестве хранилища в памяти. Где были все архитектуры, тестеры, шаблоны и Code Review?
Разработка
• Расстановка приоритетов в стабильности приложений — работа над производительностью в Lyft
• Работа в мобильной разработке 2022 — опрос RayWenderlich.com
• $87.4 млн в Серии Д: onX — карты для внедорожных путешествий
• Серебро и бронза: как мобильная разработка ПСБ попала в топ-3 отрасли
• Прогулка по изнанке «Спортмастера»: ножками и в приложениях
• Google представил смартфоны Pixel 7 и Pixel 7 Pro на собственном чипе Tensor G2 и первые часы Pixel
• $150,000 Amazon Engineer vs. $300,000 Google Engineer
iOS
• ConfettiSwiftUI: конфетти на SwiftUI
• How iOS Apps Adapt to the various iPhone 14 Screen Sizes
• Infinite Marquee Animation with SwiftUI
• Scale Animation With Anchor in SwiftUI
• Create Multi-Steps View in SwiftUI
• The Problems with Singletons and Why You Should Use DI Instead
Android
• Android Dev Summit ‘22: Coming to you, online and around the world!
• Jetpack Glance AppWidget - Developing Location Checker App widget
• How to secure your Android apps
• A full-fledged guide about GraphQL for Android
• Jetpack compose: Cool Button Click Effects
Кроссплатформа
• Преобразование текста в аудио в Unity-проектах (используя Google Cloud)
• Web socket in Flutter
• MVI implementation in Kotlin Multiplatform using the Reaktive library
Вакансия дня
• Android-разработчик в Sportmaster Lab
Разработка
• Расстановка приоритетов в стабильности приложений — работа над производительностью в Lyft
• Работа в мобильной разработке 2022 — опрос RayWenderlich.com
• $87.4 млн в Серии Д: onX — карты для внедорожных путешествий
• Серебро и бронза: как мобильная разработка ПСБ попала в топ-3 отрасли
• Прогулка по изнанке «Спортмастера»: ножками и в приложениях
• Google представил смартфоны Pixel 7 и Pixel 7 Pro на собственном чипе Tensor G2 и первые часы Pixel
• $150,000 Amazon Engineer vs. $300,000 Google Engineer
iOS
• ConfettiSwiftUI: конфетти на SwiftUI
• How iOS Apps Adapt to the various iPhone 14 Screen Sizes
• Infinite Marquee Animation with SwiftUI
• Scale Animation With Anchor in SwiftUI
• Create Multi-Steps View in SwiftUI
• The Problems with Singletons and Why You Should Use DI Instead
Android
• Android Dev Summit ‘22: Coming to you, online and around the world!
• Jetpack Glance AppWidget - Developing Location Checker App widget
• How to secure your Android apps
• A full-fledged guide about GraphQL for Android
• Jetpack compose: Cool Button Click Effects
Кроссплатформа
• Преобразование текста в аудио в Unity-проектах (используя Google Cloud)
• Web socket in Flutter
• MVI implementation in Kotlin Multiplatform using the Reaktive library
Вакансия дня
• Android-разработчик в Sportmaster Lab
👍5😁1
Forwarded from AppFiles - Mobile Development
Как не настоящий программист решил на досуге порешать Leetcode на Swift. Первая задача - сумма двух. Дан массив целых чисел nums и целое число target, нужно вернуть индексы двух чисел из массива, которые в сумме образуют target.
Решение
Первое приходящее на ум решение — сделать два вложенных цикла, в которых перебирать массив, поочередно складывая числа и сравнивая получившееся с целевым значением.
Вот мое решение:
Лучший результат на Leetcode:
• Время выполнения: 77 мс
• Скорость выполнения — лучше 66.47% всех решений
• Потребление памяти — лучше 90.65% решений.
Что интересного из решения я узнал:
• Break не выходит сразу из всех циклов, нужно определять внешний и из него выходить.
• Можно оптимизировать перебор хотя бы на 2 элемента, чего многие (судя по показателям) не делают даже в этом подходе.
• На самом деле результат Leetcode — плавающий и зависит от каких-то внутренних факторов. В следующий раз может быть другое время выполнения и другое потребление памяти, так что, наверное, стоит даже с одним и тем же кодом сделать несколько подходов в оценке.
Неплохо, но, очевидно, по скорости где то есть возможности для улучшения. Что можно улучшить в моем коде? Какой бы иной подход вы предложили?
Продолжение: https://apptractor.ru/twosum
Решение
Первое приходящее на ум решение — сделать два вложенных цикла, в которых перебирать массив, поочередно складывая числа и сравнивая получившееся с целевым значением.
Вот мое решение:
class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
var resultA = [Int]()
outerLoop: for i in 0...nums.count - 2 {
for j in (i+1)...nums.count - 1 {
// Поиск суммы
if ((nums[i] + nums[j]) == target) {
resultA.append(i)
resultA.append(j)
break outerLoop
}
}
}
return resultA
}
}
• Время выполнения: 77 мс
• Скорость выполнения — лучше 66.47% всех решений
• Потребление памяти — лучше 90.65% решений.
Что интересного из решения я узнал:
• Break не выходит сразу из всех циклов, нужно определять внешний и из него выходить.
• Можно оптимизировать перебор хотя бы на 2 элемента, чего многие (судя по показателям) не делают даже в этом подходе.
• На самом деле результат Leetcode — плавающий и зависит от каких-то внутренних факторов. В следующий раз может быть другое время выполнения и другое потребление памяти, так что, наверное, стоит даже с одним и тем же кодом сделать несколько подходов в оценке.
Неплохо, но, очевидно, по скорости где то есть возможности для улучшения. Что можно улучшить в моем коде? Какой бы иной подход вы предложили?
Продолжение: https://apptractor.ru/twosum
AppTractor
Задачи с собеседований: Leetcode — Сумма двух
Задача Дан массив целых чисел nums и целое число target, нужно вернуть индексы двух чисел из массива, которые в сумме образуют target. Каждый массив точно будет иметь ровно одно решение и нельзя использовать один и тот же элемент дважды. Вы можете вернуть…
👍15😁1
Mobile Meetup | SberMarketTech
В программе 4 доклада по разработке на iOS и Android:
📱 Александр Соломатов, руководитель группы iOS-разработки в CберМаркете, расскажет про горизонтальную карусель для баннеров на SwiftUI.
📱 Евгений Прокопьев, Android-разработчик в CберМаркете, покажет как работать с анимациями в React Native.
📱 Валерий Скворцов, iOS-разработчик в СберМаркете, поделится результатами экспериментов с механизмом избегания клавиатуры в SwiftUI.
📱 Александр Сычев, руководитель мобильной разработки СберЗдоровья, расскажет, как получить максимум от координаторов при решении задач навигации.
Также будет Q&A сессия, где вы сможете задать вопросы. Авторам самых интересных отправим крутой мерч в подарок 🎁
🗓 13 октября, 19:00 Мск • Онлайн
Регистрация по ссылке: https://bit.ly/3fGDWeh
В программе 4 доклада по разработке на iOS и Android:
📱 Александр Соломатов, руководитель группы iOS-разработки в CберМаркете, расскажет про горизонтальную карусель для баннеров на SwiftUI.
📱 Евгений Прокопьев, Android-разработчик в CберМаркете, покажет как работать с анимациями в React Native.
📱 Валерий Скворцов, iOS-разработчик в СберМаркете, поделится результатами экспериментов с механизмом избегания клавиатуры в SwiftUI.
📱 Александр Сычев, руководитель мобильной разработки СберЗдоровья, расскажет, как получить максимум от координаторов при решении задач навигации.
Также будет Q&A сессия, где вы сможете задать вопросы. Авторам самых интересных отправим крутой мерч в подарок 🎁
🗓 13 октября, 19:00 Мск • Онлайн
Регистрация по ссылке: https://bit.ly/3fGDWeh
❤5👍2
Новый большой еженедельный дайджест (вариант в Телеграф) - 103 отборных материала за неделю. По возможности поставьте 👍, поделитесь с коллегами и в соцсетях, поддержите наш канал на Boosty. Как говорил Билл Клинтон, "учитывая текущее плачевное состояние наших программ, можно сказать, что программирование определенно все ещё черная магия и, пока, мы не можем называть его технической дисциплиной". За прошедшее время мало что изменилось, но наш дайджест может прибавить вам немного техники 😌
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Telegram запустил новый конкурс для iOS-разработчиков. Призовой фонд 1-го раунда составляет 50,000 долларов. Задача состоит в том, чтобы создать отдельное приложение для редактирования мультимедиа. Написать его надо на Swift без использования сторонних UI-фреймворков. В редакторе должны быть различные инструменты для рисования и редактирования текста на основе предоставленных макетов. Приложение должно быть совместимо с iOS 13 и выше. Победителям может быть предложен шанс присоединиться к команде Telegram в Дубае. Последний срок сдачи работ — 31 октября.
👍10❤1
Как подружить фичу Autoplay и tvOS?
Autoplay — это когда по завершении просмотра одного фильма пользователю предлагается посмотреть похожий контент, рекомендованный системой.
О нюансах реализации этой фичи на tvOS рассказала Валерия Рублевская, iOS-разработчик на проекте онлайн-кинотеатра KION от МТС.
Прочитать можно здесь.
Autoplay — это когда по завершении просмотра одного фильма пользователю предлагается посмотреть похожий контент, рекомендованный системой.
О нюансах реализации этой фичи на tvOS рассказала Валерия Рублевская, iOS-разработчик на проекте онлайн-кинотеатра KION от МТС.
Прочитать можно здесь.
Хабр
Как мы улучшали функциональность онлайн-кинотеатра на tvOS
Всем привет, меня зовут Валерия Рублевская, я iOS-разработчик на проекте онлайн-кинотеатра KION в МТС Digital . Это третья часть рассказа о фиче Autoplay фильмов и сегодня мы поговорим о нюансах ее...
Удивительно, но Horizon Worlds от любимой всеми нами и запрещенной социальной платформы, оказался унылым говном. Судя по внутренней переписке, виртуальный мир страдает от кучи проблем - багов, плохого пользовательского опыта, вообще малой интересности и отсутствия product market fit даже для самих разработчиков. В общем, пришествие метавселенной, кажется, надолго откладывается. Как говорится, ну да и хрен с ней.
Разработка
• Horizon Worlds страдает от сбоев и даже разработчики мало используют его
• Готовимся к собеседованиям в западных компаниях — курсы и обучающие материалы
• Загрузки приложений для знакомств резко выросли после нескольких лет стагнации
• Самые зарабатывающие приложения США в сентябре
• Задачи с собеседований: Leetcode — Сумма двух
• Такси для незрячего
• $2 млн: Klikit — SaaS-платформа для ресторанов
• Sharing: шаринг файлов для iOS и Android
• Квест на прокачку QA или приключение на 20 минут
• Памятка для UX-дизайнера на все случаи жизни: как взяться за задачу и довести ее до конца
• Designing a finance tracker app
• 6 things UI/UX designers forget to design
• The Legendary and Highest-Paid Software Engineer From Google
• Reverse Engineering a Cat Feeder to Boost Productivity
iOS
• Использование Apple Swift и SwiftUI в iOS 16
• Конкурс Telegram для iOS-разработчиков
• What the measurement type is and why you should be using it
• Platform specific code in Swift Packages
• Cool Swift Features That Are Rarely Used
• HMS ML Kit: Real-Time Translation (iOS — Swift)
• Opacity Animation in SwiftUI
• Path Animation in SwiftUI
Android
• Google выпустил превью библиотек Jetpack Multiplatform
• Expandable Compose Calendar: календарь Jetpack Compose
• DI в Android в 2022
• Добавляем комфорта в работу с WebView
• Разработка лаунчера для Android: интервью с разработчиком Яндекс.Лончер
• MVI и State Machine — объединяем концепции. Визуализация и анализ диаграммы состояний в Android и KMM проектах
• Application-as-a-Function Thinking
• Collapsing toolbar with parallax effect and curved motion in Jetpack Compose
• Compose Tooling
• Jetpack Compose Side Effects – With Examples
Кроссплатформа
• Pass Data Between Screens-Flutter
• Monorepo for iOS and Android Project
Вакансия дня
• React Native разработчик в Style DNA
Разработка
• Horizon Worlds страдает от сбоев и даже разработчики мало используют его
• Готовимся к собеседованиям в западных компаниях — курсы и обучающие материалы
• Загрузки приложений для знакомств резко выросли после нескольких лет стагнации
• Самые зарабатывающие приложения США в сентябре
• Задачи с собеседований: Leetcode — Сумма двух
• Такси для незрячего
• $2 млн: Klikit — SaaS-платформа для ресторанов
• Sharing: шаринг файлов для iOS и Android
• Квест на прокачку QA или приключение на 20 минут
• Памятка для UX-дизайнера на все случаи жизни: как взяться за задачу и довести ее до конца
• Designing a finance tracker app
• 6 things UI/UX designers forget to design
• The Legendary and Highest-Paid Software Engineer From Google
• Reverse Engineering a Cat Feeder to Boost Productivity
iOS
• Использование Apple Swift и SwiftUI в iOS 16
• Конкурс Telegram для iOS-разработчиков
• What the measurement type is and why you should be using it
• Platform specific code in Swift Packages
• Cool Swift Features That Are Rarely Used
• HMS ML Kit: Real-Time Translation (iOS — Swift)
• Opacity Animation in SwiftUI
• Path Animation in SwiftUI
Android
• Google выпустил превью библиотек Jetpack Multiplatform
• Expandable Compose Calendar: календарь Jetpack Compose
• DI в Android в 2022
• Добавляем комфорта в работу с WebView
• Разработка лаунчера для Android: интервью с разработчиком Яндекс.Лончер
• MVI и State Machine — объединяем концепции. Визуализация и анализ диаграммы состояний в Android и KMM проектах
• Application-as-a-Function Thinking
• Collapsing toolbar with parallax effect and curved motion in Jetpack Compose
• Compose Tooling
• Jetpack Compose Side Effects – With Examples
Кроссплатформа
• Pass Data Between Screens-Flutter
• Monorepo for iOS and Android Project
Вакансия дня
• React Native разработчик в Style DNA
AppTractor
Horizon Worlds страдает от сбоев и даже разработчики мало используют его
Проще говоря, чтобы опыт стал восхитительным и запоминающимся, он должен сначала быть удобным и хорошо продуманным.
👍4
Forwarded from Код Воробья для iOS разработчиков
В Xcode 14 добавили экспорт локализации пакетов. Подробнее в туториале по локализации.
Это новый туториал на сайте, мы сделали большой ультимативный гайд по локализации. Разобрали основы, экспорт и импорт, как локализовать SPM-пакеты, плюрализацию, картинки, плагины для авторгенерации.
В конце туториала узнаете почему для некоторых российский рубль показывается как ₽, а для некоторых RUB.
Это новый туториал на сайте, мы сделали большой ультимативный гайд по локализации. Разобрали основы, экспорт и импорт, как локализовать SPM-пакеты, плюрализацию, картинки, плагины для авторгенерации.
В конце туториала узнаете почему для некоторых российский рубль показывается как ₽, а для некоторых RUB.
❤6👍3🔥1
Apple запустила Ask Apple - новую серию интерактивных Q&A и индивидуальных консультаций с экспертами компании. Вопросы и ответы будут в Slack, консультации будут в рабочее время “один на один”, в разных часовых поясах и на нескольких языках. Предполагается, что «Спросите Apple» будет постоянной серией консультаций, а первый раунд состоится 17–21 октября. Доступно все в для участников Apple Developer Program и Apple Developer Enterprise Program, расписание доступно на сайте.
Разработка
• Apple запустила серию консультаций для разработчиков Ask Apple
• Реверс инжиниринг кормушки для кошек для повышения производительности разработки
• ИИ Yummy создает рецепты с едой
• AirBell — велосипедный звонок с AirTag
• Количество установок BeReal превысило 50 млн
• What It’s Like to Be a Mobile Team in a Desktop-First Company
• How I made 70k reputation on StackOverflow while helping people understand Kotlin
iOS
• Inject: Hot reloading для UIKit
• Начало работы с Dynamic Island и Live Activities в iOS 16.1
• 6 YouTube channels that every iOS developer should subscribe
• Setting Up Live Activities for the Dynamic Island in SwiftUI
• Expandable and dynamic sized Table Header View and Table Footer View
• Apple introduces Ask Apple for developers
• How to Find All Fully Visible Cells in Table and Collection View
• The Layout Protocol in iOS 16
Android
• Принимаем TRON USDT на Java
• Measuring Jank in Android Apps
• Transforming Kotlin Collections – Functions with Examples
• State hoisting vs Defer reads
Кроссплатформа
• Kotlin Multiplatform Mobile теперь в бета-версии
• Наводим мосты между Flutter и нативными библиотеками
• Создаем сложные интерфейсы и спецэффекты на базе Qt. Часть I
• Flutter: The power of DI and Injectable
• Build Collision-Based Game Using Flame in Flutter
• How to draw in Flutter — The Complete Crash Course
Вакансия дня
• Middle Android-разработчик в команду Мессенджера ВКонтакте
Разработка
• Apple запустила серию консультаций для разработчиков Ask Apple
• Реверс инжиниринг кормушки для кошек для повышения производительности разработки
• ИИ Yummy создает рецепты с едой
• AirBell — велосипедный звонок с AirTag
• Количество установок BeReal превысило 50 млн
• What It’s Like to Be a Mobile Team in a Desktop-First Company
• How I made 70k reputation on StackOverflow while helping people understand Kotlin
iOS
• Inject: Hot reloading для UIKit
• Начало работы с Dynamic Island и Live Activities в iOS 16.1
• 6 YouTube channels that every iOS developer should subscribe
• Setting Up Live Activities for the Dynamic Island in SwiftUI
• Expandable and dynamic sized Table Header View and Table Footer View
• Apple introduces Ask Apple for developers
• How to Find All Fully Visible Cells in Table and Collection View
• The Layout Protocol in iOS 16
Android
• Принимаем TRON USDT на Java
• Measuring Jank in Android Apps
• Transforming Kotlin Collections – Functions with Examples
• State hoisting vs Defer reads
Кроссплатформа
• Kotlin Multiplatform Mobile теперь в бета-версии
• Наводим мосты между Flutter и нативными библиотеками
• Создаем сложные интерфейсы и спецэффекты на базе Qt. Часть I
• Flutter: The power of DI and Injectable
• Build Collision-Based Game Using Flame in Flutter
• How to draw in Flutter — The Complete Crash Course
Вакансия дня
• Middle Android-разработчик в команду Мессенджера ВКонтакте
AppTractor
Apple запустила серию консультаций для разработчиков Ask Apple
«Спросите Apple» будет постоянной серией, а первый раунд консультаций состоится 17–21 октября.
👍3