Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Другие наши проекты: https://tprg.ru/media
Магия Dispatcher'ов и как сделать свой Main
В Kotlin есть корутины — чудесный инструмент, который открывает кучу возможностей при разработке. Хотите вынести вычисления в другой поток? Да пожалуйста. Но задумывались ли вы как работает этот инструмент?
На самом деле всё довольно просто, если изучить CoroutineDispatcher. Подробнее об этом в статье:
https://habr.com/ru/articles/680946/
#kotlin
Wanted! Middle/Senior Flutter Developer
Hello!
My name is Rustam. I'm the CPO and co-founder of Essence, a B2B digital health platform that helps women improve their mental health, balance hormones and boost productivity by planning tasks, meetings, workouts and diet according to their cycles.
At Essence, you will develop new features for users and companies, improving existing ones, designing new solutions, and enhancing infrastructure. The backlog is diverse, ensuring that it won't be boring. We will support your professional growth and provide you with an global experience. Please note that the startup has international funding, so payment can only be made to residents of non-sanctioned countries.
What we offer:
🔺Work in an international startup, participant of the Berkeley SkyDeck accelerator (Silicon Valley, USA) and EuraTechnologies (Europe's largest incubator).
🔺Market-competitive salary in EUR/USD ranging from 3k to 5k.
🔺Flexible schedule, remote work with daily communication and weekly sprints.
🔺A great team where every voice matters.
🔺Opportunity for relocation to the EU (France) after 6 months of work.
🔺All the perks of a startup, but with stability (funding available, low employee turnover, well-developed growth plan, etc. 😁)
In the project:
CEO, CPO, Head of Communications, developer, tester, international advisory board + outsourcing.
Ideally, you have:
🔺2+ years of commercial Flutter (Dart) development experience.
🔺3+ years of native development experience (iOS and/or Android).
🔺Designing architecture;
🔺Creating, presenting, and holding the responsibility for technical decisions and changes;
🔺Finding the maximum opportunities and tech solutions to development;
🔺BLoC, Firebase (приветствуется опыт работы с Firestore, Cloud Functions, Cloud Storage).
Feel free to reach out and let's work together! 🙂
Telegram @rustamgalie
Шпаргалка по Kotlin
Держите небольшую, но полезную шпаргалку, которая поможет быстро вспомнить ключевые моменты синтаксиса и нюансы в работе кода.
#шпаргалка #kotlin
Android NDK. Как писать под Android на C++
Почти часовое интервью с разработчиком в платформенной команде inDriver, который непонаслышке знает что такое Android NDK и зачем он нужен. Он рассказал как пишется C++ код для Android и многое другое.
Смотрим здесь:
https://youtu.be/RemuJrVrO8U
#видео #android
Как запускать приложения и игры для iOS на устройствах Apple Silicon
Для этого вам понадобится PlayCover — инструмент, который представляет собой оболочку, имитирующую iPad. Он отлично сопоставляет сенсорные элементы управления с клавиатурой, поэтому работает , что называется, из коробки.
Кстати, изначально утилита разрабатывалась для запуска Genshin Impact, но теперь подходит для запуска широкого спектра игр и приложений.
https://github.com/PlayCover/PlayCover
#ios
Готовим Window Inset под соусом Jetpack Compose и щепоткой View
В современных приложениях часто используется подход edge-to-edge, который предполагает отрисовку приложения под системным UI, т.е. под Status Bar и Navigation Bar. Но до сих пор не все знают, как этим подходом воспользоваться.
В этой статье вы узнаете, как применить edge-to-edge, используя WindowInsets:
https://habr.com/ru/companies/kts/articles/687310/
#android #jetpackcompose
Note&Noty — первое приложение на Android
Различные интересные фичи так или иначе со временем кочуют из одной операционной системы в другую и наоборот. Правда иногда времени требуется столько, что проще сделать самому. Так и подумала автор этой статьи, которая увидела возможности приложения Shortcuts на iOS и решила реализовать одну из её функций на Android своими силами.
Что получилось — рассказала тут:
https://habr.com/ru/articles/685440/
#android
Как работает WorkManager в Android
Вспомните ситуацию, когда вы запускаете какой-то процесс в приложении, но ждать результата лень, поэтому вы уходите в, например, мессенджер, думая, что через пять минут процесс закончится сам собой. А он не заканчивается, потому что система убила процесс этого приложения, высвободив ресурсы на другую работу.
Как бороться с Android’ом и не позволять ему уничтожать важные фоновые процессы, узнаете в этой статье:
https://habr.com/ru/companies/cleverpumpkin/articles/681804/
#android
Создание удобной оболочки над электронным дневником
Юный автор этой статьи поделился собственным опытом разработки пет-проекта. Он взял элкетронный дневник, представленный правительством Кировской области и довёл его до ума так, чтобы им было действительно удобно пользоваться.
Что из этого получилось у 15-летнего разработчика, вы можете посмотреть здесь:
https://habr.com/ru/articles/733392/
#diy
Как поддерживать чистую архитектуру приложения?
Приходите 13 июня в 19:00 по МСК на бесплатный вебинар «Архитектура приложения и модуль бизнес-логики» в OTUS и узнайте.
На вебинаре вам расскажут, как поддерживать чистую архитектуру приложения и контролируемо внедрять изменения. Также вы исследуете библиотеку для реализации бизнес-процессов, написанную на Kotlin.
А в завершении изучите пример модуля бизнес-логики, в котором сконцентрированы все требования заказчика.
Регистрация на вебинар: https://otus.pw/p8Nu/
Занятие является бесплатной пробной частью онлайн-курса OTUS «Kotlin Backend Developer».
Реклама ООО «Отус Онлайн-Образование» LjN8K6oYA
Основы работы с Canvas API в Flutter
Canvas API обладает крайне широким спектром возможностей — вы можете построить и анимировать сложные графические объекты для вашего приложения. Причём это могут быть действительно сложные объекты, главное, чтобы устройство осилило.
Как это сделать, объясняется в гайде:
https://www.raywenderlich.com/26483389-flutter-canvas-api-getting-started
#flutter
Проектируем flutter-приложение «чистым» способом используя BLoC
В этой статье предлагается использовать паттерн BLoC для управления состоянием в Flutter-приложениях. Вы узнаете, как правильно проектировать «чистую» архитектуру с помощью этого паттерна, а также как создавать отдельные слои для представления, логики и данных, и как правильно связывать их между собой.
Для закрепления знаний вы посмотрите, как применить это в реальном проекте на примере приложения для учета расходов. Подробнее:
https://habr.com/ru/articles/733960/
#flutter
Алгоритм: бинарное дерево вид с правой стороны в Swift
Эта статья будет интересна тем, кто хочет научиться по-настоящему программировать, а для этого требуются знания алгоритмов. В данном случае вы посмотрите, как можно работать с бинарным деревом, а именно возвращать значения только из конкретной его части.
Статья содержит содержит пошаговую инструкцию и примеры кода на Swift, что поможет лучше понять и реализовать алгоритм в своих проектах:
https://holyswift.app/algorithm-binary-tree-right-side-view-in-swift/
#ios #swift
Что учить новичку в Android: Java vs Kotlin?
Один из самых частых вопросов новичков в Android это с чего начать — сразу учить Kotlin или лучше вначале выучить Java?
В этом видел мобильный разработчик решил поделиться своим мнением с некоторыми аргументами в пользу одного из вариантов:
https://youtu.be/C04KnNj_1IU
#java #kotlin #android
Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура
Что может быть лучше, чем получение новых знаний с помощью практики? Если хотите прокачиваться в мобильной разработке, то вам стоит обратить внимание на эту статью. Автор с нуля создал приложение для просмотра криптовалютных котировок.
Он показал, как создавать и использовать макеты, разрабатывать функциональность и интегрировать её в приложение. Благодаря ему вы изучите базовую инфраструктуру, UI/UX-дизайн, подключение базы данных и работу с API. Вы также узнаете о лучших практиках разработки на Flutter.
Статья будет полезна как начинающим разработчикам, так и тем, кто уже имеет опыт в этой области. Подробнее:
https://habr.com/ru/articles/594963/
#flutter #петпроект
Удобный бенчмаркинг с Jetpack Benchmark Library. Макро- и микробенчмарки
Бенчмаркингом называют тестирование производительности программного кода. В этой статье вы узнаете, что это такое и зачем нужно, а также получите базовые знания для написания первого бенчмарк-теста для android-приложения:
https://habr.com/ru/articles/691620/
#android
Создание виджетов для приложений iOS с помощью WidgetKit и SwiftUI
Начиная с iOS 14, Apple представила виджеты, которые позволяют пользователям отображать часть содержимого приложения на главном экране.
Давайте посмотрим, как мы можем использовать платформу WidgetKit для добавления виджетов в приложения iOS:
https://tanaschita.com/20220905-building-widgets-for-ios-applications-with-widgetkit-and-swiftui/
#ios #swift
Парсер SVG-файлов для iOS
Библиотека SVGView считывает информацию из SVG-изображения и рендерит его при помощи SwiftUI. У неё есть ещё одна интересная фича: вы можете добавить анимацию различных элементов изображения и даже немного интерактива. Так и был реализован Пикачу, который «следит» за жестами пользователя.
Репозиторий: https://github.com/exyte/SVGView
#ios #swift #библиотека
Создание системы входа в приложение с помощью SwiftUI
Во многих приложениях требуется система авторизации. В этой статье вы найдёте один из способов создания такой системы на swift.
Все подробности и инструкция тут:
https://mymasterdesigner.com/2022/07/12/creating-login-system-with-swiftui/
#ios #swift
Фестиваль IT и спорта RUNIT пройдёт в Измайловском парке Москвы уже 18 июня
Сможете добежать до самого финиша? А достигнуть ещё большего?
СИБУР Диджитал подготовил «второй финиш» — ряд испытаний для тех, кто, достигая амбициозной цели, сразу же ставит перед собой следующую. Если это про вас, то вам в шатёр СИБУР Диджитал:
— примите вызов от настоящего дерзателя — Виктора Блуда. Он покажет, что значит выкладываться на максимум, и наградит участников;
— разомните не только ноги, но и голову: реши IT-загадки, чтобы выиграть призы;
— посетите «Галерею дерзателей» — выставку фото участников, сделанных во время забега. Найдите там свои эмоции достижений и заберите памятные снимки.
Добежать до финиша? Неплохо.
Пересечь второй финиш — цель, достойная вас.
https://runit.digital/
Реклама ООО «СИБУР» LjN8K4fGT
Когда следует использовать Decimal вместо Double в Swift
В Swift существует 13 числовых типов. Когда мы создаем уровень модели приложения, важно выбрать правильный тип для задачи, которую мы хотим выполнить. Например, если мы подсчитываем продажи билетов на мероприятие, тогда Int
будет наиболее подходящим типом.
Но если мы рассчитываем налог с продаж, то нам нужно будет использовать тип с плавающей запятой. Вы, вероятно, знаете, что это Double
точнее, чем Float
, но как насчет Decimal
? Когда вместо этого следует использовать Decimal
? Узнаете в этой статье:
https://www.jessesquires.com/blog/2022/02/01/decimal-vs-double/
#ios #swift
Преобразуем приложение Android для использования Material Design 3
В этой статье показаны шаги по преобразованию шаблона приложения Jetpack Compose для использования Material Design 3:
https://dev.to/vtsen/convert-android-app-to-use-material-3-design-3ojm
#android #jetpackcompose
Seal — стильный загрузчик аудио- и видеофайлов для Android на Kotlin
Seal выполнен в цветах Material You и умеет скачивать медиафайлы со стриминговых платформ, встраивать субтитры в видео, а также работать сразу с плейлистами целиком. Написан при этом он на Kotlin.
Здесь вы можете изучить код, нюансы работы приложения и найти инструкцию по его установке:
https://github.com/JunkFood02/Seal
#android #kotlin #инструменты
12 ошибок при публикации приложения в RuStore — и как их избежать
Разработка приложения — трудоёмкий процесс, который требует множества усилий и времени. Но, как только заканчивается кодинг, необходимо опубликовать созданный продукт на цифровой витрине, чтобы пользователи могли его скачать и использовать.
В этой статье вы узнаете 12 наиболее распространённых ошибок, которые допускают разработчики при публикации приложений в RuStore:
https://habr.com/ru/companies/vk/articles/737864/
#android
Многомодульное iOS-приложение: подходы к организации межмодульного взаимодействия
Если вы занимаетесь разработкой iOS-приложений, то наверняка сталкивались с проблемой межмодульного взаимодействия. Как организовать модули так, чтобы они работали максимально эффективно и не взаимодействовали друг с другом напрямую?
Здесь вы найдете ответы на эти вопросы:
https://habr.com/ru/companies/docdoc/articles/735946/
#ios
От Java до Kotlin, или первое впечатление от циклов for
Хоть Kotlin и является, по сути, переработанным Java, но многие вещи в нём отличаются от своего прародителя. Например, привычные циклы for из Java не будут адекватно работать в Kotlin.
О том, в чём разница и как они работают в Kotlin:
https://dev.to/bacongubbe/from-java-to-kotlin-first-impression-on-for-loops-42f8
#java #kotlin
Выход за пределы JVM, или чем хорош Kotlin Multiplatform на примере крестиков-ноликов
Какой есть общий недостаток у мобильной, фронтенд и бэкенд разработки? Дублирование логики.
В этой статье вы познакомитесь с технологией Kotlin Multiplatform, которая легко решает эту проблему, а также сможете создать полноценный проект игры «Крестики-нолики» на трёх самых популярных платформах Browser (JS), iOS (Swift) и Android (Java) с общей логикой на Kotlin:
https://habr.com/ru/companies/rostelecom/articles/682160/
#kotlin #java #javascript #swift
«Ребята, написал приложение на Kotlin. Что думаете?»
Читать полностью…Шпаргалка по Swift
Эта шпаргалка содержит исчерпывающую информацию по языку Swift версии 5.7. Сохраняйте себе в избранное, чтобы не потерять:
https://swiftly.dev/
#swift