Mobile Development by AppTractor
11K subscribers
1.86K photos
39 videos
11 files
4.65K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
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
👍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
👍5😁1
Как не настоящий программист решил на досуге порешать Leetcode на Swift. Первая задача - сумма двух. Дан массив целых чисел nums и целое число target, нужно вернуть индексы двух чисел из массива, которые в сумме образуют target.

Решение

Первое приходящее на ум решение — сделать два вложенных цикла, в которых перебирать массив, поочередно складывая числа и сравнивая получившееся с целевым значением.

Вот мое решение:

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
}
}

Лучший результат на Leetcode:

• Время выполнения: 77 мс
• Скорость выполнения — лучше 66.47% всех решений
• Потребление памяти — лучше 90.65% решений.

Что интересного из решения я узнал:

• Break не выходит сразу из всех циклов, нужно определять внешний и из него выходить.
• Можно оптимизировать перебор хотя бы на 2 элемента, чего многие (судя по показателям) не делают даже в этом подходе.
• На самом деле результат Leetcode — плавающий и зависит от каких-то внутренних факторов. В следующий раз может быть другое время выполнения и другое потребление памяти, так что, наверное, стоит даже с одним и тем же кодом сделать несколько подходов в оценке.

Неплохо, но, очевидно, по скорости где то есть возможности для улучшения. Что можно улучшить в моем коде? Какой бы иной подход вы предложили?

Продолжение: https://apptractor.ru/twosum
👍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
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 октября.
👍101
Как подружить фичу Autoplay и tvOS?

Autoplay — это когда по завершении просмотра одного фильма пользователю предлагается посмотреть похожий контент, рекомендованный системой.

О нюансах реализации этой фичи на tvOS рассказала Валерия Рублевская, iOS-разработчик на проекте онлайн-кинотеатра KION от МТС.

Прочитать можно здесь.
Удивительно, но 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
👍4
Forwarded from Код Воробья для iOS разработчиков
В Xcode 14 добавили экспорт локализации пакетов. Подробнее в туториале по локализации.

Это новый туториал на сайте, мы сделали большой ультимативный гайд по локализации. Разобрали основы, экспорт и импорт, как локализовать 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-разработчик в команду Мессенджера ВКонтакте
👍3
Kotlin Multiplatform Mobile выходит на финишную прямую - на этой неделе JetBrains после двух лет альфы объявила о переходе KMM в стадию беты. Говорят, что время экспериментов закончилось и технология почти готова, то есть ее можно (относительно) безопасно использовать в ваших проектах. В компании будут работать над стабильным релизом, а пока проведут серию вебинаров, посвященных основам KMM и демонстрирующих некоторые из наиболее популярных вариантов использования.
🔥14😁2👍1
В новых BMW с Curved Display появятся казуальные игры от AirConsole. Это такая облачная платформа, которая, как я понял, позволяет стримить простые казуальные игры на экраны, а управлять ими со смартфонов. Занятно то, что у Tesla, например, скоро Witcher 3, Cyberpunk 2077 и вообще Steam в машинах будет, а тут казуальщина. Но самый шик в том, что и AirConsole будет не у всех, а пока только у BMW 7. Представить владельцев семерок, играющих в викторины и всякие подобия Angry Birds, конечно, сложно, но можно. Но вопрос того, как, почему и насколько Tesla обогнала даже топовый BMW, меня озадачивает до сих пор.

Разработка

Казуальные игры AirConsole появятся в автомобилях BMW
6 вещей, о которых обычно забывают UI/UX-дизайнеры
$100 млн в Серии B: Homa — Аналитика для игр
Работа с ASO: как тестировать тренды и не получить иск
The End of Programming
Advice for Junior Developers
I Coded a Tinder Bot to Automate My Dating Life. Here’s What Happened

iOS

How To Create a Button With Loading Indicator in iOS
Is Swift Combine Dead?
Creating a Login Screen in SwiftUI
5 iOS Libraries to Make Your App Special

Android

Text Flow: обтекание текста в Jetpack Compose,
Best Practices in Kotlin
Jetpack Compose for Wear OS - Building Weather App
Bringing passkeys to Android & Chrome
Jetpack Compose Swipe To Refresh
Dynamic Environment Switching on Android

Кроссплатформа

Deeplinks и Flutter
7 Most-Starred React Native Libraries You Should Know
7 Flutter Open Source Projects to Become a Better Flutter Developer

Вакансия дня

Flutter-разработчик в SharesPro
👍5
AppsFlyer опубликовал очередной Performance Index - рейтинг лучших медиа-источников для приложений и игр.

Из интересного: ухудшение ситуации в мировой экономике привело к сокращению бюджетов на рекламу приложений на 14% во втором квартале по сравнению с первым. Средний бюджет приложения (за редким исключением) снизился на 12%, при этом на Android снижение было сильнее, чем на iOS (-13% против -9%).

Что касается медиа, то бюджеты 7-и из топ-10 и 14-и из 20-и ведущих медиа-источников, которые они получают от рекламодателей для проведения кампаний по привлечению пользователей, сократились во втором квартале по сравнению с первым кварталом, включая 3 ведущих игроков: Google, Meta и Unity. Годовое сравнение показывает, что общие рыночные потери в 2022 году были в четыре раза выше, чем в 2021 году (-12% против -3%).
👍5😱3
Неделя новостей от JetBrains продолжается - Fleet вышел в Public Preview. Напомню, что Fleet — аналог VSCode, простая и легкий редактор кода с IDE, инструмент, который мгновенно доступен для решения простых задач. Пока мнения разработчиков разделились - одни говорят, что ничего инновационного во Fleet нет, другие пищат от восторга. Теперь более менее можно составить свое мнение.

Разработка

Fleet вышел в Public Preview
Россия создаст свой GitHub
VK продлила программу поддержки разработчиков приложений в RuStore
Советы Junior-разработчикам
Вышел AppsFlyer Performance Index 15 — Маркетинг в кризис
I Worked with a Newbie Programmer Who Pretended like a Senior
Toyota Suffered a Data Breach by Accidentally Exposing A Secret Key Publicly On GitHub

iOS

Fusion: простое внедрение зависимостей для Swift
A Self-Avoiding Walker in SwiftUI
A Disaster Named NSHashTable
How to use NotificationCenter in SwiftUI with example
Alternate App Icon Configuration in Xcode
Protocol Oriented Programming in Swift

Android

Найдите 10 отличий. Тестируем сравнением снимков экрана с образцом
Android BottomSheetDialogFragment with Callbacks to parent Fragment and transparent layer
Jetpack Microbenchmark: Code Performance Testing
The Ultimate Guide to Android Subscription Testing
Let's investigate a Gradle IntelliJ memory leak!
Long-running tasks in parallel with Kotlin Flow

Кроссплатформа

Как сделать кроссплатформенное мобильное приложение для программы лояльности
NFC with Flutter
MultiThreading with Flutter Isolate

Вакансия дня

Mobile Product Manager в Где мои дети
👍5
Делаете приложение для американских подростков - делайте его iPhone-only. По данным Piper Sandler, сейчас 87% опрошенных подростков владеют iPhone, и 88% ожидают, что iPhone станет их следующим телефоном. За последние 10 лет количество владельцев ‌iPhone‌ среди подростков увеличилось более чем вдвое. В 2012 году лишь у 40% подростков в США был iPhone.
👍14🤔4😢3🔥1
Ускоренный отбор в Яндекс – Intern week offer 🔥

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

Направления: Backend, Frontend или Mobile

Условия: стажировка оплачивается, длится от 3 до 6 месяцев, и вы можете выбрать занятость 20, 30 или 40 часов в неделю. Иногородним стажёрам мы оплачиваем проезд и проживание, а тех, кто хорошо себя проявит, будем рады видеть в штате.

Крайний срок подачи заявки и решения контеста – 30 октября.

👉Подать заявку: https://clck.ru/32MXw3
👍17😁5🔥32🤩1
Новый большой еженедельный дайджест (вариант в Телеграф) - 108 отборных материала за неделю. По возможности поставьте 👍, поделитесь с коллегами и в соцсетях, поддержите наш канал на Boosty. Как говорил Крис Хьюз, «чем опытнее программист, тем лучше он осознаёт всю скудность своих знаний и навыков». Узнавайте больше с нашим дайджестом!
👍14