mobdevelop | Unsorted

Telegram-канал mobdevelop - Мобильная разработка

3295

@haarrp - admin @itchannels_telegram - 🔥лучшие ит-каналы @javascriptv - продвинутый javascript @JavaScript_testit- js тесты @programming_books_it - бесплатные it книги @ai_machinelearning_big_data - ml

Subscribe to a channel

Мобильная разработка

⚡️ Используем шаблон Builder в Kotlin

Шаблон проектирования Builder помогает строить сложные объекты поэтапно. Насколько он подходит для Kotlin?

Автор ролика рассматривает классический вариант этого шаблона и показывает, как его можно усовершенствовать с помощью особенностей Kotlin и библиотек.

00:00 — Начало
00:18 — Пример кода
02:01 — Классическая версия шаблона
05:02 — Обновление шаблона в Kotlin
09:15 — Заключение

🔗 Источник

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

Мобильная разработка

🖥 За последнее время Swift все больше показывает свою ценность для кроссплатформенной разработки приложений.

В этом тексте рассказано о личном опыте использования этого языка для создания встроенных приложений на плате SwiftIO.

⚡️ Читать подробнее

@mobdevelop

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

Мобильная разработка

🖥 GPT Mobile представляет собой чат-приложение для Android, которое поддерживает одновременные ответы от нескольких больших языковых моделей (LLM), включая OpenAI GPT, Anthropic Claude, Google Gemini и Ollama

🌟 Приложение позволяет настраивать параметры и сохраняет историю чатов локально. Оно разработано с использованием Material3, Jetpack Compose и полностью написано на Kotlin

▪️GitHub

@mobdevelop

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

Мобильная разработка

⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/python_job_interview
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
АНАЛИЗ Данных: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Linux: t.me/linuxacademiya
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/golang_interview
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc


💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

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

Мобильная разработка

🍏 Пишем умные приложения с использованием Apple AI Models

У легендарного Ray Wenderlich вышел небольшой курс, в котором рассматривается машинное обучение на устройстве с использованием мощных инструментов Apple.

В начале курса вы разберетесь в таких фреймворках, как Vision, Translation, прежде чем начать разрабатывать свои модели, настраивая готовые модели Apple.

📖 Сам курс по ссылке

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

Мобильная разработка

👩‍💻 React Native Splash Screen — поддержка разных тем

💡Splash screen — это первый экран, который видят пользователи перед загрузкой в ​​основное приложение. Этот экран, пожалуй, лучший способ сделать название вашего приложения, и в целом, его название, более запоминающимся

🌟 В этой статье авторы создают красивую заставку для мобильных приложений с поддержкой разных тем (например, светлая и темная)

🔗 Ссылка: *клик*

@mobdevelop

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

Мобильная разработка

Создаем гистограмму с помощью Swift Charts

На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.

Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!

https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/

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

Мобильная разработка

Компания Apple представила язык программирования Swift 6.0

Компания Apple опубликовала релиз языка программирования Swift 6.0. Официальные сборки подготовлены для Linux (Ubuntu 20.04/22.04/24.04, Debian 12, Fedora 39, Amazon Linux 2, RHEL 9), Windows 10 и macOS (Xcode). Исходные тексты распространяются под лицензией Apache 2.0.

Язык Swift сочетает лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования.

Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который в проведённых тестах демонстрирует производительность на 30% опережающую код на Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий инструменты для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

Ключевые изменения в новой версии:

- Добавлен новый режим изоляции данных, предоставляющий на уровне компилятора защиту от состояний гонки, возникающих при обращении к данным из параллельно выполняемых потоков. При включении режима компилятор выполняет проверку безопасного использования или наличия должных блокировок данных, обрабатываемых параллельно выполняемым кодом.
Предложен экспериментальный урезанный вариант языка Embedded Swift, предназначенный для создания приложений для встраиваемых систем и микроконтроллеров. В компиляторе сборка в новом режиме реализована для целевых платформ ARM и RISC-V, и позволяет генерировать более компактные, потребляющие меньше памяти и обособленные исполняемые файлы, не привязанные к runtime.

- Предложена новая библиотека Synchronization, предоставляющая низкоуровневый API для организации параллельного выполнения кода, атомарного выполнения операций и использования мьютексов.
Добавлена поддержка типизированных исключений (Typed throws), дающих возможность указать тип возвращаемой ошибки на этапе определения функции. Например, ниже показано определение функции, которая либо возвращает экземпляр Record либо ошибку с типом ParseError:

func parseRecord(from string: String) throws(ParseError) -> Record {
// ...
}

- Предоставлена возможность использования обобщённого кода (generic), который может одновременно работать как с копируемыми, так и с некопируемыми типами (некопируемые типы могут иметь только одного владельца, что позволяет добиться увеличения производительности за счёт замены связанных с владением проверок на запрет копирования ресурсов).

- Расширена переносимость с кодом на языке C++ в таких областях, как типы, допускающие только перемещение, виртуальные методы, аргументы по умолчанию и дополнительные типы стандартной библиотеки (например, std::map и std::optional).

- Реализованы знаковые и беззнаковые 128-разрядные целые типы.

- Библиотека Foundation унифицирована для всех поддерживаемых платформ (Linux, Windows, macOS) и может применяться в переносимых приложениях. На языке Swift переписаны реализации типов JSONDecoder, URL, Calendar, FileManager и ProcessInfo.

@mobdevelop

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

Мобильная разработка

📺 Я победил замедление YouTube

Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но нашелся легальный способ улучшить ситуацию!

⚙️ Как починить оборудование Google, не привлекая внимание санитаров.

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

Мобильная разработка

OTP Helper — автоматическое получение кодов из уведомлений

Приложение с открытым исходным кодом, которое позволяет автоматически копировать OTP и коды из SMS и уведомлений, читая все ваши уведомления. Приложение работает полностью автономно и без доступа к интернету. Поэтому, по идее, ваши данные не покидают устройство.

Ссылка на GitHub 🔗

#библиотека #github

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

Мобильная разработка

30 проектов и библиотек для Flutter-разработчиков

В этой статье — подборка полезных репозиториев GitHub и проектов, которые могут помочь начинающим в изучении Flutter, а более опытным разработчикам найти полезные библиотеки для проектов:

https://www.theinsaneapp.com/2023/03/best-flutter-github-repositories.html

#flutter

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

Мобильная разработка

Шпаргалка по релизу мобильного приложения

#шпаргалка #mobidev

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

Мобильная разработка

Disk — хранение структур, изображений и данных

Disk — это крутая мощная библиотека управления файлами, созданная с учетом рекомендаций Apple по хранению данных в iOS. Disk максимально эффективно использует новый протокол Codable, представленный в Swift 4, и дает вам возможность сохранять структуры, не заботясь о кодировании/декодировании. Disk также помогает сохранять изображения и другие типы данных на диск всего одной строкой кода.

Github

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

Мобильная разработка

Убираем M из MVVM в SwiftUI

Я так часто сталкиваюсь с этим вопросом, что наконец-то хочу написать о нем. Это не будет длинный пост об архитектуре iOS-приложений, и это даже не будет провокационный быстрый комментарий. Это просто то, как я создаю iOS-приложения в эти дни, особенно Ice Cubes, мой SwiftUI клиент Mastodon с открытым исходным кодом. Если вы достаточно хорошо инкапсулируете свой код, ваши View — это просто представления состояний, не меньше и не больше.

https://blog.stackademic.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e

#ios

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

Мобильная разработка

🔝Топ 5 крутых плагинов для Android Studio

1. Kotlin Fill Class — крутейший плагин, который делает разработку намного более приятной и быстрой. С его помощью вы можете заполнять классы и функции на лету.

2. ADB Idea — это полезное дополнение к ADB, которое вы можете запустить с помощью всплывающего окна.

3. Android Drawable Preview — с помощью этого крутого плагина вы больше не заблудитесь, так как в нем отображаются небольшие предварительные изображения всех значков внутри каталога.

4. Key Promotex X — инструмент, который поможет вам освоить основные сочетания клавиш во время работы. Когда вы нажимаете мышью на кнопку в среде IDE, Key Promoter X показывает сочетание клавиш, которое вы должны были использовать вместо этого.

5. IdeaVim — это Vim в Android Studio. Вы можете настроить его по своему вкусу с помощью файла .ideavimrc в вашем домашнем каталоге, как если бы вы использовали .vimrc.

@mobdevelop

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

Мобильная разработка

🍏 Пишите код на Swift так, как это делает Apple.

Для языка программирования Swift существует множество правил. Например, компания AirBnB предлагает следующую кодовую конвенцию:

— Для именования типов и протоколов используется PascalCase, а для всего остального — lowerCamelCase.
— Булевым значениям даются имена вроде isSpaceShip или hasSpacesuit, чтобы было ясно, что это именно булевы значения, а не какие-то другие.

Но лучший подход для разработки на Swift — это стиль самой компании Apple. Вот несколько полезных советов, которые помогут улучшить читаемость вашего кода:

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

🔗 uwaisalqadri/write-swift-like-apple-4c4331cf140c">Оригинал статьи
🔗 Перевод

@mobdevelop

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

Мобильная разработка

💼 Вакансии по различным направлениям Мобильной разработки.

Наши друзья сделали канал с вакансиями для ребят всех уровней: от стажёров и джунов до лидов!

Чем он отличается от прочих подобных:
1. Заранее отметаются сомнительные компании и сомнительные вакансии
2. По каждой вакансии делается короткая выжимка, чтобы бытро понять надо оно вам или нет
3. Стажировки, подработки, фриланс проекты, как под iOS, так и под Android каждый найдет вакансию для себя.

А здесь целая крутая папка с вакансиями под любой стек и язык, для тех, кто хочет найти для себя работу или фриланс-проект.

В общем, ОЧЕНЬ рекомендуем подписаться на Mobile Jobs: t.me/mobjobs

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

Мобильная разработка

🔥 react-native-bootsplash — библиотека для добавления и настройки экранов загрузки (splash screens) в приложениях React Native. Она позволяет легко настроить отображение загрузочного экрана при запуске приложения и скрыть его, когда основная часть приложения готова к отображению

🌟 Библиотека поддерживает как платформы iOS, так и Android, предлагая кастомизацию через изображения и цвета для создания стильного и плавного опыта для пользователей при запуске приложений

🔐 Лицензия: MIT

▪️Github

@mobdevelop

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

Мобильная разработка

🖥 HotReloading for Swift, Objective-C & C++!

HotReloading представляет собой реализацию технологии InjectionIII в формате Swift Package, поддерживающую языки Swift, Objective-C и C++.

🔥InjectionIII — «горячая перезагрузка» для Swift, позволяет обновлять реализацию функций и любых методов классов, структур или перечислений мгновенно в симуляторе iOS без необходимости полной пересборки или перезапуска приложения. Это экономит разработчику значительное количество времени на доработку кода или итерации над дизайном. По сути, это превращает Xcode из «редактора исходного кода» в «редактор программы», где изменения исходного кода не просто сохраняются на диск, а непосредственно отображаются в вашей работающей программе.

Этот инструмент позволяет мгновенно увидеть и понять, как функционирует ваш код. Поддерживает интеграцию с редактором кода VSCode.

🖥 GitHub

@mobdevelop

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

Мобильная разработка

Компания Apple опубликовала код ядра и компонентов на базе СПО, используемых в macOS 15

https://opennet.ru/61968/

@mobdevelop

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

Мобильная разработка

😈Большой гайд по фаззингу приложений: инструменты, методы и рекомендации

Фаззинг — это автоматизированная или полуавтоматизированная проверка того, как поведёт себя программа при обработке случайных (в том числе некорректных) входных данных. Фаззинг позволяет обнаружить ошибки в программном обеспечении (ПО) как на стадии разработки, так и в процессе его использования.

▪ Github

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

Мобильная разработка

Как создать гистограмму с помощью Swift Charts

На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного декларативного синтаксиса в SwiftUI — это просто фантастика.

Гистограмма — это всего лишь один из доступных вариантов визуализации данных. В целом, многие из методов, о которых вы сегодня узнаете, применимы и к другим графикам. Фактически, вы можете заменить всего один элемент, чтобы перейти от гистограммы к линейной диаграмме. Давайте погрузимся в работу!

https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/

#ios

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

Мобильная разработка

Как использовать файлы EditorConfig в Xcode

Работая над несколькими проектами, вам, скорее всего, приходится настраивать Xcode каждый раз, когда вы переключаетесь между проектами. Процесс утомительный, который вы можете забыть сделать или не заметить.

В Xcode 16 добавлена поддержка файлов EditorConfig, которые позволяют программно определять настройки редактора Xcode для каждого проекта.

📖 В этой статье вы узнаете, как настроить файлы EditorConfig в Xcode и какие настройки поддерживаются на данный момент.

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

Мобильная разработка

Android-разработчики, отзовитесь! 🔍

Прямо сейчас разные направления Авито в поиске специалистов с опытом разработки Android-приложений:

1️⃣ Android-разработчик в команду новостроек
2️⃣ Android-разработчик в команду Trust & Safety
3️⃣ Android-разработчик в команду Decision

Вы сможете развивать проект с многомиллионной аудиторией в кросс-функциональной команде и тесном взаимодействии с backend-разработчиками и разработчиками других платформ.

Что вас ждёт:

– достойная зарплата, размер которой обсуждается на собеседовании;
– прозрачная система премий;
– мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы;
– личный бюджет на обучение, который можно тратить на книги, курсы и конференции;
– забота о здоровье: ДМС со стоматологией с первого дня, в офисе принимают терапевт и массажист;
– удалёнка и крутой офис в двух минутах от метро «Белорусская».

Скорее откликайтесь!

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

Мобильная разработка

Приглашаем на Mobile PeerLab #2 — камерную встречу для мобильных разработчиков

10 октября в Москве во второй раз пройдет PeerLab от экспертов Райдтеха Яндекс Go. Специалисты разберут кейсы, которые предложат участники: поговорят о DI-архитектуре, легаси и скорости сборки, сравнят KMP и Flutter, объяснят, чем отличаются техлиды от фичалидов, и поделятся советами о тестировании фичей.

Среди экспертов:
- Илья Царев, руководитель разработки Яндекс Go
- Саша Бонель, руководитель команды Architecture & Culture мобильной разработки Яндекс Go
- Никита Васильченко, руководитель группы разработки в Яндекс Про
- Андрей Урманчев, руководитель отдела разработки в Яндекс Про

После разбора кейсов гостей ждет afterparty, feature dev консультация и активности в реальной качалке — будем тренировать прогерские мышцы!

Реальные кейсы и ответы экспертов Яндекса на ваши вопросы о мобильной разработке — регистрируйтесь и зовите коллег!
Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.

Реклама. ООО «Яндекс.Такси». ИНН: 7704340310

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

Мобильная разработка

Архитектурная секция на собеседованиях

Команда мобильной разработки Яндекс 360 записала пример прохождения архитектурной секции в Яндекс. В интервью участвуют руководитель технического управления сервисами Виктор Брыксин, а в роли кандидата — руководитель мобильной разработки Михаил Буравлев.

В тестовом задании нужно было спроектировать абстрактное мобильное приложение для медитаций: с отдельным экраном для списка треков, возможностью воспроизведения аудиозаписей, упрощённым календарём и пуш-уведомлениями. После этого нужно было поработать с требованиями, архитектурой и API, а также показать ход мысли и защитить свои решения.

Забирайте наглядный пример прохождения секции!

Смотреть на Youtube

Смотреть в ВК

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

Мобильная разработка

Задача с LeetCode по Swift

Описание:
Дана строка s. Вернуть длину самой длинной подстроки, которая содержит не более двух различных символов.

Пример:


Input: s = «eceba»
Output: 3
Explanation: The substring is «ece» which its length is 3.


Алгоритм:

1. Вернуть N, если длина строки N меньше 3.

2. Установить оба указателя в начало строки: left = 0 и right = 0, и инициализировать максимальную длину подстроки max_len = 2.

3. Пока указатель right меньше N: Если хеш-таблица содержит менее 3 различных символов, добавить текущий символ s[right] в хеш-таблицу и сдвинуть указатель right вправо.
Если хеш-таблица содержит 3 различных символа, удалить самый левый символ из хеш-таблицы и сдвинуть указатель left так, чтобы скользящее окно содержало только 2 различных символа. Обновить max_len.

Решение:


func lengthOfLongestSubstringTwoDistinct(_ s: String) -> Int {
let n = s.count
if n < 3 { return n }
let chars = Array(s)
var left = 0
var right = 0

var hashmap = [Character: Int]()

var max_len = 2

while right < n {
hashmap[chars[right]] = right
right += 1
if hashmap.count == 3 {
let del_idx = hashmap.values.min()!
hashmap.removeValue(forKey: chars[del_idx])
left = del_idx + 1
}

max_len = max(max_len, right - left)
}

return max_len
}

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

Мобильная разработка

🖥 Курс по основам программирования на Kotlin

Kotlin — современный язык программирования от Google, который упрощает процесс разработки и повышает безопасность кода.

Сохраните себе этот курс, посвященный основам программирования на Kotlin. В нём рассматриваются ключевые концепции, такие как типы данных, операторы, переменные, условные выражения, циклы, массивы и функции. Этот вводный курс идеально подходит для новичков или тех, у кого есть минимальный опыт программирования.

Курс

#java #курс

@javatg

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

Мобильная разработка

🍏 Apple опубликовал новую открытую библиотеку гомоморфного шифрования

Компания Apple объявила о создании открытой библиотеки с реализацией методов гомоморфного шифрования на языке Swift.

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

Код проекта распространяется под лицензией Apache 2.0. Реализация основана на схеме BFV (Brakerski-Fan-Vercauteren), которая, в свою очередь, основана на задаче обучения с ошибками в кольце (RLWE), защищённой от криптоанализа квантовыми компьютерами. Низкоуровневые примитивы для шифрования используются из библиотеки Swift Crypto.

Работа с данными при гомоморфном шифровании сводится к тому, что пользователь шифрует данные и без раскрытия ключей передаёт для обработки на внешний сервер. Сервер выполняет заявленные вычисления и формирует зашифрованный результат, не имея возможности определить с какими именно данными он работает.

Пользователь при помощи своих ключей расшифровывает выданные данные и получает результат в открытом виде. Гомоморфное шифрование может применяться в облачных сервисах для конфиденциальных вычислений, реализациях систем электронного голосования, организации работы с зашифрованными данными в СУБД и конфиденциальной тренировке систем машинного обучения.

В инфраструктуре Apple реализованная система применяется для конфиденциальной проверки "Caller ID" - пользователь передаёт на сервер Apple зашифрованный номер телефона, а сервер, без его расшифровки, проверяет наличие номера в чёрных списках для блокирования спама или базах данных с информацией о принадлежности номеров. В отличие от типовых схем конфиденциальной проверки ключа без его раскрытия серверу, в которых сервер передаёт клиенту всю БД, а клиент осуществляет проверку на своей стороне, применение гомоморфного шифрования позволяет ограничиться передачей на сторону клиента лишь небольшой порции метаданных.

Подобный подход позволяет организовать проверку в очень больших БД, которые не могут быть переданы на сторону клиента. Код серверной части для организации подобных проверок опубликован под лицензией Apache 2.0.

▪Github

@mobdevelop

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

Мобильная разработка

🍏 Большая коллекция инструментов для iOS-разработчиков

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

Изучайте, сохраняйте пост в избранное и возвращайтесь к нему, когда понадобится:

📌 Ссылка на коллекцию инструментов

@mobdevelop

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