apptractor | Unsorted

Telegram-канал apptractor - Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

10992

Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov • Аудитория https://t.me/apptractor/1066 • Сайт https://apptractor.ru/ • Поощрения: https://boosty.to/apptractor

Subscribe to a channel

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Android-разработка очень перегружена и в нее сложно вникнуть? — Обсуждение на Reddit
Learn Kotlin Coroutines — изучаем корутины на реальных примерах
Организация кода в проекте — в какой пакет положить Kotlin класс
Основы Jetpack Compose: как обеспечить стабильность вашего кода
Coroutine Testing - Controlling time
Avoiding the Auto-Completion Trap in Android Studio
Creating a Custom Gauge Speedometer in Jetpack Compose
Improve Compose UI with Spacing Constants
Shimmer animations in Jetpack Compose without extra dependencies
Preview and test your app’s edge-to-edge UI
kappdev/how-to-create-a-spinning-circles-loader-in-jetpack-compose-87d6fa51a1c8">How to Create a Spinning Circles Loader in Jetpack Compose

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🧰 Давеча у нас было обсуждение, что iOS-разработка становится сложнее, а сейчас дело дошло и до Android. На Reddit человек спрашивает - Android-разработка очень перегружена и в нее сложно вникнуть?

Я не профессиональный программист, но у меня есть небольшой опыт работы с C, Bash, Python, Lua, ahk. Обычно мне не составляет большого труда понять, где и как начать искать нужную информацию и быстро что-то собрать. Сейчас же в Android Studio самый простой проект «Empty Activity» содержит 3 десятка файлов, вложенных в дюжину папок. Всего в папке проекта более 500 файлов. Главный файл имеет 11 импортов. IDE похожа на панель управления космического корабля.


В целом большинство отвечающих с ним согласились:

• Почему-то документация часто неполная и всегда есть как минимум 2-3 способа сделать что-либо. Всё находится в процессе перехода от одной парадигмы к другой. Документация рекомендует один способ, codelab использует второй, stackoverflow/medium рекомендуют третий, и каждый способ имеет свои минусы или даже не компилируется/работает с вашей конкретной версией зависимостей, AS, gradle, AGP или вашим targetSDK. Это ад. Хочется биться головой об стену, потому что как новичок вы еще не знаете достаточно, чтобы решить, с какой стороны подойти к обучению! Разработка Android (обучение с нуля) сейчас занимает в 10 раз больше времени, чем раньше. Мне она все еще нравится, но это чертовски сложно, и так трудно идти в ногу со временем, ведь Android-разработка так быстро меняется последние 5-6 лет.
• И половина из того, что вы узнаете сегодня, будет устаревшим через 6 месяцев. Да, я преувеличиваю, но только немного.

Впрочем, многие говорят, что просто у автора мало опыта, а сами приложения это лишь вершина айсберга:

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

И то, что все таки простое приложение собрать можно даже по Stack Overflow:

• Вам даже не нужно знать, почему или как что-то работает. Собирайте части, получайте результаты, углубляйтесь, когда нужно. Когда ваше приложение станет отстойным, выясните причину и сделайте его лучше. Повторяйте до бесконечности. Если вам повезет, вы полюбите это приложение или оно станет популярным, тогда вы действительно погрузитесь в работу и потратите время.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🚀 Как автоматизировать процесс разработки и сделать жизнь Android-разработчика проще? Ответы на эти вопросы найдете на Podlodka Android Crew с 16 по 20 сентября!

Podlodka Crew — это онлайн-конференции для IT-специалистов, которые фокусируются на практической пользе. Сессии проходят утром и вечером, чтобы вы могли совмещать их с работой.

Вас ждут:

Пришёл, увидел, наплагинил: Павел Стрельченко из HeadHunter расскажет, как разработка плагинов для IntelliJ IDEA может стать вашей скрытой суперсилой.
Автоматизация экспорта токенов из Figma: Никита Яцкивский из Магнит поделится опытом автоматизации экспорта дизайнерских токенов в код, что значительно ускоряет работу над проектом.
Генерация шаблонного кода с помощью Geminio: Евгений Мельцайкин из СКБ Контур расскажет, как избавиться от повторяющегося кода и сосредоточиться на важных задачах.
GitHub Actions: Никита Куликов из Flipper Devices объяснит, почему GitHub Actions стал доминирующим CI/CD инструментом для open-source проектов и как настроить его за считанные минуты.

Подключайтесь к Podlodka Android Crew, чтобы получить самые актуальные знания и практические советы! Билеты со скидкой: https://podlodka.io/droidcrew

А промокод сообщества android_crew_12_X0nXSH даёт скидку еще в 500 руб🥳

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🧰 Android

Voice — минималистичный плеер аудиокниг
Многопоточность в Android: тогда и сейчас
Советы по обработке Insets для обеспечения edge-to-edge на Android 15
Еще был случай на охоте… Или почему Appdome иногда такой себе Dome
Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
Android Compose Videos with ExoPlayer
Android dev very overengineered and difficult to get into?
Anti-Pattern: Stop Leaking Kotlin Flow Collectors in Your Android ViewModel

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🕐 Все мы знаем, как трудно заканчивать проекты. Но, оказывается, правильно откладывать работу тоже не все умеют. Торстен Болл написал о том, почему и как стоит оставлять что-то на завтра. Вот самый важный момент - останавливайтесь и откладывайте работу на завтра, когда у вас все хорошо и когда вы знаете, что будет дальше. Так вы всегда будете знать с чего начать. Завтра, закончив это небольшое дело, вы разомнетесь перед решением большой задачи, быстро погрузитесь в поток и так гораздо проще будет перейти к более сложному коду. Это как растяжка перед упражнениями.

Разработка

Оставляйте что-нибудь на завтра
SkillStaff: рынок ИТ-аутстаффинга вырастет до 265 млрд к концу 2024 год
Компьютеры Copilot+ не справляются с играми
Explicit is better than implicit

Маркетинг

Почему и как мы платим за свою же органику в сторах
Маркетологи в мобайле: Всеволод Самсонов (Flowwow)
Key languages for localization: Here's how demand changed in 2023

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

prashantnigam4900/flutter-state-management-design-patterns-do-you-really-need-them-287d1b54f9d0">Flutter State Management & Design Patterns: Do You Really Need Them?

#mobile #dev

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🔨 iOS

Swift AST Explorer — визуализация абстрактного синтаксического дерева
Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
Hiding A SwiftUI View From Switch Control
Animating SF Symbols on iOS 18
The AirDrop Conundrum: Passing Custom Models From and To Your App
SwiftUI Modifiers Deep Dive: containerRelativeFrame

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

📒 Из вчерашнего еще интересная статья про то, как владельцу iPhone поменяли смартфон по AppleCare, а он оказался забаненным в Snapchat. Ну ладно, допустим смартфон восстановленный, но он же полностью восстановлен из бекапа и как мог Snapchat его опознать?

Как разработчик iOS, я знаю, что у Apple нет никаких API, которые разработчики могут использовать для отслеживания пользователей. Разработчики не могут получить доступ к серийному номеру устройства, а identifierForVendor сбрасывается, когда пользователь удаляет все приложения издателя. Так как же Snapchat мог распознать устройство?

Оказывается, есть DeviceCheck, который позволяет разработчикам записывать и считывать два бита данных для каждого устройства, которые сохраняются при удалении, переустановке, сбросе настроек приложения и даже при передаче устройства от одного пользователя к другому. Apple предлагает использовать эту функцию для ограничения бесплатных пробных версий или запрета устройств с известной мошеннической активностью. Они даже упоминают, что разработчики отвечают за сброс этих битов при смене владельца устройства, но совершенно понятно, что все на это забили.

Разработка

Leave something for tomorrow
Synchronizing pong to music with constrained optimization

Маркетинг

App onboarding funnel optimization to increase conversions

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

Flutter Web. Часть 1
efenstakes101/the-5-design-patterns-for-every-flutter-engineer-a791bca05db7">The 5 Design Patterns For Every Flutter Engineer
ayhamxv12instagram/5-essential-design-patterns-every-flutter-engineer-should-master-09206ec077ee">5 Essential Design Patterns Every Flutter Engineer Should Master
Shrink Your KMP Build: The Power of ‘Internal’ Functions

#mobile

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🔨 iOS

Как я решал задачу получения доступа к данным банковских приложений на iOS
Elevate Your Testing Game with Swift Testing
Limit Swift Concurrency's cooperative pool
Custom hover effects in SwiftUI
Backport SwiftUI modifiers

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Фокус в Android TV
Gradle-сборка. Измеряем самое важное
Шифруем файлы в Android
5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android
String vs StringBuffer vs StringBuilder
Coroutine Testing - Never ending tests & backgroundScope
Avoiding unintentional device exclusion in an Android app
Android Studio Koala Feature Drop is Stable!
ahmetbostanciklioglu/transforming-figma-ui-designs-into-jetpack-compose-code-with-google-ai-studio-a-step-by-step-guide-21a9db4f9476">Transforming Figma UI Designs into Jetpack Compose Code with Google AI Studio: A Step-by-Step Guide
Composable-scoped ViewModel: An interesting experiment
Loading Initial Data in LaunchedEffect vs. ViewModel

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Apple забанила аккаунт компании победителя WWDC

Компания Apple забанила аккаунт компании Appstun, созданной одним из победителей студенческого конкурса WWDC 2021 года. Согласно объявлению, опубликованному на сайте Appstun, Apple решила закрыть аккаунт разработчика после многочисленных отказов в публикации приложения, которое, по мнению Apple, нарушает правила App Store.

• Сооснователь Appstun Батухан Карабаба говорит, что он и еще один сооснователь пытались проработать с Apple отказы App Store. «Мы отвечали прозрачно и сотрудничали с Apple, чтобы убедиться, что наше приложение не нарушает никаких правил. Однако по мере того, как процесс продолжался, мы начали сталкиваться с отказами по тем вопросам, которые, как мы думали, уже были решены в предыдущих заявках. Apple не сочла наше решение достаточно хорошим».
• В Appstun делали настраиваемые циферблаты Apple Watch. Они придумала обходной путь, но это были не совсем циферблаты в традиционном понимании, а скорее пользовательские изображения и анимации, работающие независимо от системы циферблатов App Watch. По сути, приложение занимало экран, показывая изображение, похожее на циферблат часов, что позволяло предлагать больше возможностей для настройки.

Apple неправа? Да, но есть нюанс:

• Производитель iPhone заявил, что приложение Appstun неоднократно пыталось ввести пользователей в заблуждение, что оно предлагает функции и возможности, которые не поддерживает, а также продвигало приложение с помощью обманчивой рекламы, что привело к негативным оценкам и отзывам о приложении. Среди жалоб конечных пользователей было то, что пользовательские анимации или изображения не работали как настоящие циферблаты часов, как они надеялись. «Я купил это, чтобы получить то, что выглядит как циферблат часов Rolex… это не циферблат, это просто картинка… стрелки даже не двигаются», — написал один из покупателей. «Есть ли у этой компании разрешение от Rolex на это? Я сомневаюсь в этом. Чистое мошенничество, чтобы получить деньги от людей. Я хочу вернуть деньги, это неприемлемо. Я также сообщу в Rolex и посмотрю, сделают ли они что-нибудь». В многочисленных отзывах указывалось, что приложение не реализует рекламируемые циферблаты, а другие задавались вопросом, как приложение может иметь 4.4 звезды, когда так много письменных отзывов были негативными жалобами.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Скроллить истории, чтобы быть осознанным? А то ж. Приложение Calm запускает ряд новых функций. В частности, приложение запускает Taptivities — интерактивные текстовые истории, на чтение которых уходит минута или две. С помощью Taptivities пользователи могут получать небольшие сеансы медитации подобно сториз в других приложениях. Сессии затрагивают такие темы, как благодарность, самоанализ, обоснование и глубокое дыхание. В Calm говорят, что в следующий раз, когда вы обнаружите, что бесцельно прокручиваете социальные сети, чтобы расслабиться, попробуйте вместо этого почитать Taptivity. Ну или сделайте наконец истории в своем приложении.

Разработка

Зарплаты разработчиков в первом полугодии 2024
Самые популярные языки программирования 2024 от IEEE Spectrum
2,5 тысяч экрано-состояний и тесты на сотнях устройств: как мы с нуля делали темную тему в приложении
Как Google победил Skynet или подготовка обучения модели на мобильном устройстве
Programming With ChatGPT
Cognitive Load is what matters

Маркетинг

Calm запускает «осознанные» истории

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

Flutter tutorial: Sliding and resize image with CustomScrollView and Slivers
Flutter Reload: What’s Under the Hood

#mobile

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

ARC в Swift: лучшие практики для предотвращения утечек памяти
Marking Swift Properties Available by iOS Version
Working with UDP in SwiftNIO
Exploring WidgetKit: Creating Configurable Control Widgets in iOS 18 and SwiftUI
Everything you never thought you wanted to know about emoji flags
dikidwid0/mastering-navigation-in-swiftui-using-coordinator-pattern-833396c67db5">Mastering Navigation in SwiftUI Using Coordinator Pattern
GuillemBruix/design-your-dark-and-tinted-versions-of-your-app-icon-for-ios-18-827444a31851">Design Your Dark and Tinted Versions of Your App Icon for iOS 18

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Самые популярные языки программирования 2024 от IEEE Spectrum

Организация IEEE Spectrum опубликовала 11-й ежегодный рейтинг самых популярных языков программирования. В нем объединили множество показателей из разных источников, чтобы создать три мета-рейтинга. Рейтинг «Спектр» составлен с учетом того, что используют члены IEEE, рейтинг «Тренды» направлен на выявление языков, которые находятся в тренде, а рейтинг «Работа» определяет, что ищут работодатели.

• В рейтинге “Спектр” первая тройка - Python, Java, JavaScript. Kotlin на 17 месте, Dart на 19, Swift на 21.
• В рейтинге “Тренды” Dart на 16 месте, Kotlin на 20, сразу за ним Swift на 21.
• В рейтинге “Работа” на первом месте SQL, на втором Python, на третьем Java. Kotlin на 11 месте (в 2022 был на 17), Dart на 20, Swift на 22 (в 2022 был на 23).

И что: Kotlin растет, Swift при своих, а учить нужно Dart 🦋

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Подходы к многомодульной функциональной архитектуре на Android
Compose Stopwatch — секундомер на Jetpack Compose
Mapping объектов с помощью MapStruct
Как переход на AGP&Gradle 8.* изменил взгляд на работу с производительностью сборки
An effective testing strategy for Android – Unit Testing
Convergence in a multi-module application
How to implement Synchronization in Room Database in Kotlin

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

В release notes для откатывания бета-версии Android 15 и возврата к стабильной ОС обнаружили упоминание, что нормальная версия выйдет только в октябре. Google позже подтвердил это и говорит, что работает над повышением стабильности. Собственно и ладно бы с ним, но какой интересный способ донесения информации до всех ☺️

Разработка

Better CI/CD with GitHub Actions and deployment tracking
Designing Apps: 5 Methods to improve your workflow
How we run migrations across 2,800 microservices

Маркетинг

The Shippies — первый конкурс RevenueCat для приложений с подпиской
Niantic стремится создать более насыщенную 3D-карту мира с помощью новой версии приложения Scaniverse
Большое UX/UI исследование мобильных приложений аптек
Cheap! Cheap! The Perils of Low Cost Being your ONLY Advantage

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

ethiel97/enums-on-steroids-with-dart-best-enum-features-ever-ff7ba7996b87">Enums on Steroids with Dart. Best Enum features ever!

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Серия хакатонов в рамках ИТ-конференции «Импульс Т1» стартует в Ижевске!

Соревнование пройдёт с 20 по 23 сентября в гибридном формате. Призовой фонд – 600 000 рублей!

К участию приглашаются команды начинающих специалистов и опытных айтишников в составе от 3 до 5 человек. Обращаем ваше внимание, что 22 и 23 сентября будет необходимо очное присутствие как минимум троих членов команды!

Хакатон Т1 — это 48 часов решения реальных продуктовых задач от одного из ведущих ИТ-холдингов страны! В каждом из двух треков будут определены по 3 команды победителей, которые разделят между собой призовой фонд.

Треки хакатона:
«SDK приоритезатор: плагин обратной связи по продукту»
Создать SDK, который позволит пользователям голосовать за новые функции приложения и/или сайта. Результаты голосования будут передаваться продуктовой команде для улучшения продукта на основе пользовательских предпочтений.

«АгроНавигатор: оптимальные полеты БПЛА»
Разработайте систему, которая рассчитывает полетные задания для БПЛА с учетом всех летных характеристик и нормальных погодных условий.

Призы:
1 место: 140 000 рублей
2 место: 90 000 рублей
3 место: 70 000 рублей
Награждается топ-3 команды в каждом из двух треков.

Расписание:
➡️ 20-21 сентября — онлайн-этап (открытие задач, два чекпоинта)
➡️ 22-23 сентября — офлайн-этап в г. Ижевск (один чекпоинт, защита проектов)

Участники очного этапа хакатона смогут не только побороться за карьерные перспективы и призы, но и
— стать частью масштабной ИТ-конференции «Импульс Т1», где эксперты холдинга расскажут о главных трендах индустрии, поговорят об инженерии, науке и технологиях, а также поделятся своим практическим опытом;
— получить работу мечты, пройдя собеседование прямо на площадке ИТ-конференции: подать заявку на участие в One Week Offer от Т1 может каждый участник хакатона при регистрации!

➡️ Успейте зарегистрироваться до 16 сентября, чтобы не пропустить приглашение на хакатон:https://cnrlink.com/hackt1izhevskmobiledev

Реклама. ООО "Т1". ИНН: 7720484492. erid: LjN8KRuoe

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю @AppFiles

(iOS En) SwiftUI Custom Popups - iOS 17 & 18
(iOS En) SwiftUI TextRenderer
(iOS En) SwiftUI Reorderable Scroll View - Custom Drag & Drop With Scroll Detection - iOS 18
(iOS En) Create Modular iOS Apps with Swift Packages: Step-by-Step Guide!
(iOS En) SwiftUI - Reorder a List (2 Ways)
(iOS En) Fix This Problem with SwiftUI Lists
(And Ru) Организация кода в проекте — в какой пакет положить Kotlin класс
(And En) Building for the future of Android
(And En) What's new in Android Studio Koala
(And En) Master Kotlin Coroutines & Flows
(And En) Build your own compiler with KSP
(And En) Applying the State Pattern in Kotlin
(Dev Ru) Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)
(Dev Ru) Backend-Driven UI и конструкторы. Благо или зло?
(Dev Ru) Открытое собеседование — технический руководитель: разбор кейса
(Dev Ru) Как работает авторизация и аутентификация — OAuth, JWT, webauthn, RBAC, ABAC

#ios #android #mobile #video

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Оказывается, код каждого флага можно вывести из названия страны. Просто по буквам. Так что если вы, как и я, как и автор статьи, начали со словаря “страна: эмодзи”, то знайте, что есть более простой путь. Отчасти пример принципа “Fake it till you make it” 🙂 Ну и да, юникод хранит множество секретов

Разработка

Стандарт Ki предлагает беспроводное питание для кухонных приборов
The Boolean Trap

Маркетинг

Hacking sales as an introvert

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

Get Serverpod running on your VPS with Plesk

#mobile #dev

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🔨 iOS

Время сборки и верификация модулей
Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
Темная сторона однонаправленных архитектур Swift
How-to: Symbolicate MetricKit Crashdiagnostics
tejaswinimr702/my-experience-with-the-walmart-ios-interview-process-109d4918e2ea">Walmart Software Engineer III — IOS (IN3) My Interview Experience

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🧰 Android

Создаем атомный лоадер на Jetpack Compose
Android 15 опубликован в AOSP
Композим иконки. Улучшаем семантику и скорость отрисовки
Интересные приёмы, взятые из исходников Android
Insets handling tips for Android 15’s edge-to-edge enforcement
Kotlin KSP — how to automate everything in the world
Best way to keep state in a ViewModel
Unlock Android Jetpack Components: Hidden Tricks to Build Successful App

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Рынок ИТ-аутстаффинга вырастет до 265 млрд к концу 2024 год

По данным исследования SkillStaff и BCGroup, в текущем году объем рынка аренды ИТ-специалистов составит 265 млрд рублей (+18%) и будет ежегодно расти двузначными темпами. Больше половины компаний (61%) имеют опыт аренды айтишников, 91% из них пользуются услугой на данный момент. 

• Данные исследования показали, что в 2023 году компании преимущественно выбирали 1С-разработчиков (20%) и Android-разработчиков (14%).
• При этом в текущем году наблюдается противоположная тенденция: 18% спроса приходится на Android-разработчиков, а 16% – на 1С-разработчиков.
• По прогнозам респондентов, в 2025-2026 годах бизнес, пользующийся ИТ-аутстаффингом, будет меньше нуждаться в найме JavaScript и Android-разработчиков, инженеров сопровождения и специалистов DevOps.
• Среди основных проблем, связанных с ИТ-разработкой, компании отмечают нехватку собственных разработчиков (25%), поиск отечественных решений (23%) и отсутствие обновлений ПО (21%).
• Большинству компаний нужны дополнительные ИТ-кадры при появлении новых ИТ-проектов (58%), разработке импортозамещающих решений (54%) и внедрению импортозамещающих ресурсов (51%). Еще 22% компаний-заказчиков обращаются за арендой айтишников при внедрении новых функций в имеющиеся проекты.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

NFC на Android: создание системы предоплаты с использованием NDEF меток
aDp — масштабирование дизайна Compose для разных экранов
h2osolid/android-how-to-provide-photos-to-the-gallery-for-running-ui-automated-tests-37a232c0668d">How to Provide Photos to the Gallery for Running UI Automated Tests
Mastering Navigation in Jetpack Compose: A Guide to Using the inclusive Attribute
kappdev/how-to-create-an-atomic-loader-in-jetpack-compose-cbf0a74aa5fa">How to Create an Atomic Loader in Jetpack Compose

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Сразу два стартапа, занимающихся ИИ-программированием, объявили о привлечении инвестиций в конце прошлой недели. Это Codeium, поддерживает около 70 языков, умеет работать со всей кодовой базой, есть self-hosted версия, и Magic, которая разрабатывает инструменты, призванные помочь инженерам-программистам в написании, обзоре, отладке и планировании изменений кода и чья последняя модель имеет контекстное окно в 100 миллионов токенов. У Magic еще ничего не продается, но Codeium уже можно попробовать, так что если вы хотели поискать альтернативы Copilot, то можно начать с него. К тому же у него есть довольно хороший бесплатный уровень.

Разработка

Самые высокооплачиваемые вакансии августа в сфере разработки приложений
Алгоритм Скользящее окно — вопросы с собеседований
Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach
Егор Бугаенко про ТикТок, Huawei и ленивых разработчиков
Зачем учить язык Си в 2024 году — Как выбрать между C или C++ или Rust
Codeium привлек $150 млн и стал единорогом
Стартап Magic, занимающийся ИИ-программированием, получил $320 млн инвестиций
AI development and agile don't mix well, study shows

Маркетинг

Hello Wonder — браузер с ИИ для детей

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

Writing a Kotlin Multiplatform App from Start to Store
Using Native iOS Navigation from Compose Multiplatform
Build an Animated Search Bar in Flutter

#mobile

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Поваренная книга SwiftUI: списки и навигация — Часть 1
Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
Apple забанила аккаунт компании победителя WWDC
SSNeumorphicView — неоморфизм для UIKit и SwiftUI
Борьба с утечками памяти: от задачи до победы
Стратегия автотестирования для iOS приложений
5 вопросов для iOS разработчика
SwiftDraw — парсинг и отрисовка SVG-изображений
Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis
JavaScript to Swift and back: Bridging location services in WKWebView

#ios
SwiftData’s new Index and Unique macros

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю @AppFiles

(iOS Ru) Стратегия автотестирования для iOS приложений
(iOS Ru) 5 вопросов для iOS разработчика
(iOS Ru) Борьба с утечками памяти: от задачи до победы
(iOS En) Import & Export Swift Data with Password
(iOS En) Interactive Expandable Header - SwiftUI
(And Ru) 5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android
(And Ru) Gradle-сборка. Измеряем самое важное
(And Ru) Шифруем файлы в Android
(And En) Now in Android: 109 - Android 15 Beta 4, Samsung Galaxy Unpacked, Google Play's new feature, & more
(And En) Hot Flows vs. Cold Flows In Kotlin - When to Use What?
(And En) 5 Kotlin Coroutine Secrets I Wish I Knew Earlier
(And En) Kotlin After 2.0
(And En) Revamping and Extending Kotlin's Type System
(And En) The state of code coverage for Kotlin
(Crs En) There's more than a mouse in Compose Multiplatform for Desktop
(Dev Ru) Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach
(Dev Ru) Егор Бугаенко про ТикТок, Huawei и ленивых разработчиков
(Dev Ru) Зачем учить язык Си в 2024 году — Как выбрать между C или C++ или Rust

#ios #android #mobile #video

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Supercool App — пример использования паттерна Use Case
Jetpack Compose and collectAsLazyPagingItems
Create a Gradle Convention Plugin for Effortless Library Publishing
Why using Channels is considered anti-pattern?
KaushalVasava/data-structures-and-algorithms-are-used-in-androids-architecture-and-components-b570b2fc9c3e">Data structures and Algorithms are used in Android’s Architecture and Components
Mastering Color Theming in Jetpack Compose
wagnerarcieri/custom-koin-test-rule-instrumented-android-tests-41664eaf50a3">Custom Koin Test Rule & Instrumented Android Tests in Multi-Module Architectures
Creating Pixel-Perfect UI with Jetpack Compose

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Зарплаты разработчиков в первом полугодии 2024

Вот еще про языки и зарплаты, только теперь в России. Хабр Карьера провела анализ зарплат разработчиков разных языков и квалификаций в первой половине 2024.

• Стажёры заняли первое место по изменению зарплат — их зарплаты выросли на 7.8%.
• Сильнее всего изменились зарплаты Kotlin-разработчиков — в среднем рост на 16.3%. Медианная зарплата Kotlin-разработчиков в первом полугодии 2024 — 292 тысячи. Джуны зарабатывали 90 985 ₽ (-9%), мидлы — 182 250 ₽ (-4.1%), сеньоры — 320 000 ₽ (+11.5%), лиды — 357 917 ₽ (+10.1%).
• Медианная зарплата Swift-разработчиков в первом полугодии 2024 — 275 тысяч (+9.5% по сравнению со вторым полугодием 2023, но практически вровень с первой половиной). Джуны зарабатывали 100 000 ₽ (без изменений), мидлы — 235 000 ₽ (+22.8%), сеньоры — 350 833 ₽ (-5.1%), лиды — 467 250 ₽ (+3.8%).
• Когда специалист растет от джуна к мидлу, самый ощутимый рост зарплаты наблюдается у TypeScript-, PHP-, Kotlin-, Swift-разработчиков — в 2.3 раза.
• Самая большая разница между зарплатами джунов и лидов у Swift-разработчиков — 4.7 раз, а самая маленькая у C-разработчиков — 3.1 раза.
• Среди лидов самым высокооплачиваемым языком стал Swift с зарплатой 467 250 ₽, меньше всего получают лиды в PHP — 320 000 ₽.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Разработчики в Snapchat 📒 вообще ребята! 13 (прописью - тринадцать) лет понадобилось, чтобы выпустить приложение для iPad. Правда, пока, до конца не осилили - приложение работает только в портретном режиме. К тому же, как докладывают с мест, оно периодически глючит. Понадобиться ли Snapchat еще 13 лет, чтобы довести его до ума? Думаю, что управляться быстрее. Года за 3. Какие ваши ставки?

Разработка

How we sped up Notion in the browser with WASM SQLite

Маркетинг

Snapchat запустился на iPad

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

Как я ускорил свое мобильное приложение BookDesk на React Native в 3 раза?
Cross-Platform Swift: Building a Swift app for the browser

#mobile

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Карточка навигации для iOS 18 на SwiftUI
Проверяем пакет iOS-приложения
How to make ZStack content fully scrollable in a SwiftUI ScrollView
Send data Between iOS Apps and Extensions Using Darwin Notifications
Transcribing audio from a file using the Speech framework
SwiftUI Modifiers Deep Dive: containerBackground
dhananjayshchauhan/arc-in-swift-best-practices-to-avoid-memory-leaks-353d5d3f1404">ARC in Swift: Best Practices to Avoid Memory Leaks

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

10 самых распространенных ошибок с Jetpack Compose
Выпуск Android 15 перенесен на октябрь
Автообновление приложений через GutHub releases с помощью Hilt и Retrofit в Android
Kotlin Coroutines. От А до Я
NFC on Android: Creating a prepaid payment system using NDEF tags
Approaches for Multi-Module Feature Architecture on Android
Hard-earned Learnings From Navigating Google Play App Rejections
Kotlin Extensions: A Complete Guide to Extension Functions in Kotlin

#android

Читать полностью…
Subscribe to a channel