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

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

رفتن به کانال در Telegram

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

نمایش بیشتر
3 881
مشترکین
-224 ساعت
-97 روز
-4830 روز
آرشیو پست ها
🛠 twostraws/Ignite Генератор статических сайтов для разработчиков Swift. Language: Swift Stars: 376 Issues: 7 Forks: 2 https://github.com/twostraws/Ignite

👶 Как работает Xcode Preview С помощью Xcode previews вы можете вносить изменения в представления вашего приложения в коде и
👶 Как работает Xcode Preview <//> С помощью Xcode previews вы можете вносить изменения в представления вашего приложения в коде и быстро видеть результат этих изменений на панели предварительного просмотра. (Кстати, работает с UIKit) Туториал 👋

🛠 Руководство по Kotlin Подборка статей по Kotlin, которая будет полезна не только новичкам, но и тем, кто уже освоил основы языка. Категории: — Основы для начинающих, статьи для разработчиков с опытом и профессионалов. — Библиотеки для Android. — Инструменты. — Советы и фишки. Сохраните, чтобы не потерять: https://androidgeek.co/mastering-kotlin-a-comprehensive-guide-c70220318962

🖥 ​​Делимся интересным плагином Package Search для поиска библиотек для Java и Kotlin прямо из редактора. По умолчанию он поддерживает поиск в следующих менеджерах пакетов: Maven, Gradle и Amper. А какие интересные инструменты используете вы в работе? Поделитесь, может, кому-то будет полезно. #java #kotlin #инструменты

📌Эффекты частиц для SwiftUI <//> Vortex — это крутая, высокопроизводительная библиотека системы частиц для SwiftUI, позволяющая создавать такие красивые эффекты, как огонь, дождь, дым и снег, всего за несколько строк кода. Vortex поставляется с рядом встроенных эффектов, таких как фейерверк, магия, конфетти и другие, но вы также можете создавать полностью пользовательские эффекты, которые соответствуют вашим потребностям. Github

Вариант для тех, кто ищет виртуальный сервер с хорошей веб-защитой — Aéza: – Виртуальные сервера до 6.0 ГГц на лучших процесс
Вариант для тех, кто ищет виртуальный сервер с хорошей веб-защитой — Aéza: – Виртуальные сервера до 6.0 ГГц на лучших процессорах; – Профессиональная фильтрация атак StormWall; – Круглосуточная поддержка; – Anycast фильтрация; – Низкие цены; – 15% кешбэка по ссылке. Бесконечно можно смотреть на три вещи: на огонь, воду и скидку от Aeza! Говорят: твоё от тебя не уйдет. А зачем ждать? Динозавры тоже ждали и остались в прошлом Используй 50% скидку и погнали в будущее! Кроме того, сейчас Aéza раздает личные бесплатные сервера, забираем тут. Регистрация, подписка, платежи не потребуются. Реклама. Индивидуальный предприниматель Лобанов Леонид Константинович. ИНН 781625705648 erid: LjN8KEr3S

📱 Apple пообещала упростить перенос данных с iPhone на Android-устройства в ЕС к осени 2025 года Apple намерена упростить пе
📱 Apple пообещала упростить перенос данных с iPhone на Android-устройства в ЕС к осени 2025 года Apple намерена упростить переход с iPhone на Android-устройства в соответствии с требованиями Закона о цифровых рынках ЕС, который уже вступил в силу. Производитель изложил свой план относительно соблюдения нового закона ЕС в документе. Новое положение направлено на усилении конкуренции в экосистеме приложений и требует от Apple ослабления контроля над App Store и iOS. Мера Apple должна помочь поставщикам других операционных систем создать более эффективные решения для передачи данных с iPhone на смартфон стороннего производителя. Корпорация не использует в документе название Android, однако мобильная ОС Google получит наибольшую выгоду от нововведения. В конце 2024 года или начале 2025 года Apple также представит инструмент для экспорта данных браузера в новый браузер на том же устройстве. В настоящее время пользователи Android могут использовать iOS-приложение — Switch to Android — для переноса важных данных, включая контакты, календари, фотографии, видео, сообщения и многое другое. Однако некоторые менее важные данные по-прежнему нельзя экспортировать. @android_its

📱Телефон должен знать, что вам нужно, еще до того, как вы спросите На Всемирном мобильном конгрессе в этом году компания Bra
+1
📱Телефон должен знать, что вам нужно, еще до того, как вы спросите На Всемирном мобильном конгрессе в этом году компания Brain.ai заставила всех дважды подумать о будущем смартфонов. Они продемонстрировали новый вид технологий, в которых искусственный интеллект — это не просто помощник, а главный игрок. Дело не в том, чтобы добавить больше камер или увеличить экраны. Речь идет о том, чтобы ваш телефон понимал вас и работал с вами на совершенно новом уровне. Джерри Юэ из Brain.ai поделился взглядом в будущее, в котором, возможно, наши телефоны в том виде, в каком мы их знаем, отойдут на второй план. Они не просто говорят о внесении небольших изменений; они переосмысливают то, как мы используем наши телефоны. Возникает главный вопрос: в чем дело с нашими смартфонами сегодня? Brain.ai считает, что искусственный интеллект может превратить наши телефоны из того, чем мы пользуемся, в устройство, способное понять нас. Как будто они берут мозги у телефонов Android и учат их думать самостоятельно. Скоро мы все, возможно, заговорим о «телефонах с искусственным интеллектом». Дело не только в том, чтобы делать более качественные фотографии с помощью телефона; дело в том, чтобы телефон знал, что вам нужно, еще до того, как вы спросите. Samsung уже взялась за эту идею, и можно поспорить, что Google и Apple не сильно отстанут. Эта технология может сделать наши телефоны намного полезнее. Основная идея Brain.ai заключается в том, чтобы сделать искусственный интеллект настолько неотъемлемой частью телефона, чтобы разговаривать с ним было так же естественно, как отправлять текстовые сообщения другу. Представьте, что вы просите телефон найти подарок маме на день рождения, и он не только найдет подарок, но и разместит его на небольшой симпатичной веб-странице. Дело не в броских трюках, а в том, чтобы сделать телефон умным помощником в повседневной жизни. ↪️ Читать подробнее @vistehno

📱🔅Возможная интеграция Gemini с Android Google сообщила, что собирается добавить функции Gemini в операционную систему Andr
📱🔅Возможная интеграция Gemini с Android Google сообщила, что собирается добавить функции Gemini в операционную систему Android и Android Auto. Также в компании анонсировали и другие нововведения для операционной системы Android. Чат-бот Gemini станет доступен в «Сообщениях» и поможет, например, улучшить шутку в переписке с другими пользователями. Также ИИ предложит свои варианты ответов на вопросы других людей, например сам посчитает, сколько пользователю осталось ехать до пункта назначения. В «Картах» Gemini будет показывать расширенную информацию об объектах по пути, например укажет часы работы заведения общепита. Также в Android-версии «Документов» можно будет оставлять рукописные заметки стилусом или пальцем в определенном цвете. Как считают разработчики, это будет даже более информативно, чем текстовые комментарии. В приложении Google Fitbit появится интеграция с Health Connect, а в Spotify можно будет выбирать устройство для вывода звука. В Wear OS появится функция доступа к документам Google Wallet. Такие вот у Google планы, что ж, посмотрим) @vistehno

⚡️ Вышел новый плагин для Figma, который позволяет превращать дизайны в полноценные работающие приложения на SwiftUI. Использовать Trace можно бесплатно. ▪ Попробовать @neurlal

📊 Миграция Core Data <//> По мере роста вашего приложения и вашей пользовательской базы вам придется добавлять новые функции, удалять другие и менять принцип работы приложения. Вместе с приложение растет и БД, которую тоже придется менять. И в большинстве случаев Core Data автоматически выполнит процесс миграции за вас. Однако в некоторых случаях вам потребуется настроить процесс миграции, предоставив модель сопоставления, которая точно указывает Core Data, как перенести каждый атрибут и сущность из исходной модели в целевую. О том, как это сделать — тут 🔗

iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 2 Модульный тест Во-первых, что такое «модульный тест»? Это процесс проверки небольших фрагментов кода для обеспечения его целостности. Проверим пользовательские модели: struct, class, protocol и т. д. Предпочитаю создавать отдельный class, делая из XCTestCase подкласс, соответствующий каждой тестируемой модели. Тестирование моделей декодирования Начнем с тестирования моделей декодирования Repository и Response. Упрощаем тестирование: в цель testsDemoTests добавляем SampleData. Это json-файлы с примерами ответов. Возьмите их на странице GitHub или создайте свои. Тестируем Repository: / // RepositoryTests.swift // testsDemoTests // // Создано Itsuki 17.10.2023. // import XCTest // 1 @testable import testsDemo final class RepositoryTests: XCTestCase { // 2 var sut: Repository! override func setUpWithError() throws { try super.setUpWithError() // 3: инициализируем экземпляр // sut = YourTestInstance() } override func tearDownWithError() throws { try super.tearDownWithError() // 5: очистка sut = nil } // 4 func testRepositoryDecoding() throws { let path = Bundle(for: ResponseTest.self).path(forResource: "sampleRepository", ofType: "json")! let data = NSData(contentsOfFile: path)! as Data let decoder = JSONDecoder() decoder.keyDecodingStrategy = .convertFromSnakeCase sut = try! decoder.decode(Repository.self, from: data) XCTAssertEqual(sut.id, 44838949) XCTAssertEqual(sut.fullName, "apple/swift") XCTAssertEqual(sut.stargazersCount, 61951) XCTAssertEqual(sut.language, "C++") } } Присмотримся, что здесь происходит: 📌Продолжение 📌Часть 1

iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 1 Честно говоря, тестирование — это не так весело. Я бы пред
iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 1 Честно говоря, тестирование — это не так весело. Я бы предпочел просто запустить приложение, ни о чем другом не заботясь. Но, поскольку это неотъемлемая часть любого проекта, которая абсолютно необходима для хорошего пользовательского взаимодействия, продемонстрирую выполнение некоторых базовых тестов, помогая вам сэкономить время. Вот что мы рассмотрим вместе с дополнительными рекомендациями. Проект с тестированием ▪️Создание проекта с тестами ▪️Добавление тестов в имеющийся проект Модульные тесты ▪️Модели декодирования ▪️HTTP-запросы с HTTP-заглушками Тесты пользовательского интерфейса ▪️Настройка идентификатора доступности ▪️Инициализация представления ▪️SearchBar ▪️TableView ▪️Навигация ▪️Статичные и динамические UILabel Покажу демо с очень простым примером для извлечения репозиториев GitHub по введенному ключевому слову. Этот проект наверняка пробовали все знакомые со Swift. Загружается он здесь. Читая статью, заглядывайте туда. 📌 Читать

Организация “глобальных” провайдеров во Flutter Riverpod с помощью миксинов В моем недавнем проекте Flutter за управление сос
Организация “глобальных” провайдеров во Flutter Riverpod с помощью миксинов В моем недавнем проекте Flutter за управление состоянием отвечает пакет Riverpod. Раньше, не имея опыта работы с этим пакетом, я использовал в основном Provider и GetX. Однако мне стало интересно, почему пользователи Flutter в последнее время с таким энтузиазмом отзываются о Riverpod. Поэтому при разработке нового проекта решил попробовать именно его — и был очарован возможностями этого инструмента. Реализуя проект с помощью Riverpod, я с удовольствием отметил реактивный механизм пакета и спектр предлагаемых функций. Однако я не мог смириться с тем фактом, что провайдеры объявляются глобально (на верхнем уровне). Не хочу сказать, что провайдер, объявленный как глобальная переменная, всегда является злом (более того, состояние провайдера управляется внутри ProviderContainer, поэтому вряд ли будет глобальным). 📌 Читать

🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю Почитать: — Раскраска SVG картинки во flutter, и почему я решил отключить ImpellerОгромная шпаргалка с готовыми запросами SQL (SQLite)Реализация чата на Flutter при помощи вебсокетовПрактическая реализация паттерна Server-Driven UI на Flutter c использованием фреймворка DuitГде изучать C# в 2024. Бесплатные курсы и полезные ресурсыКак создать shader в Flutter для эффектной анимации в приложении?Как с помощью ChatGPT реализовать раскраску во flutterВся наша жизнь – игра: или как прижилась геймификация внутри мобильного приложения в ритейлеБесплатные курсы Golang 2024Уменьшаем boilerplate с помощью Swift MacrosНаправо пойдешь — в бэкенд придешь, налево — в мобилки…Кто ты, SwiftDataАналитика в игре на Godot: подключаем MyTrackerHow to create a similar pan an a zoom movement in Flutter flameFirst build and publish Nx expo appUltimate Cross-Platform Framework Selection: Flutter or React NativeFlutter Developer ROADMAP 2024Exploration of Flutter Hot Update TechnologyIn-Depth Perspective on Flutter: A Comprehensive Analysis and Practice GuideSwiftUI Essentials: Crafting a To-Do List App with Xcode and Git IntegrationEasily Replicate a Waiting List UI in .NET MAUIExploring UI UX Immersive Trends in 2024 and BeyondGenerics in Swift: Expanding Flexibility and Code Reusability Посмотреть: 🌐 Golang 100 вопросов с собеседований. Подготовка Go разработчика Часть 1 (⏱ 38:15) 🌐 Задание с собеседования Golang разработчика. Разбор важных тем. (⏱ 14:24) 🌐 Q&A Стрим. Прожариваем новые форматы (⏱ 01:19:43) 🌐 Разбор кода приложения по доставке пиццы (⏱ 01:45:57) 🌐 Сколько учиться #ios разработке? #apple #swift (⏱ 00:33) 🌐 Вклад Алан Тьюринга в развитии в #ИИ (⏱ 01:00) 🌐 Сколько времени нужно для разработки #ios приложения #apple #swift (⏱ 00:44) 🌐 Выполнение Тестового задания на вакансию #IOS разработчика. Часть 1 #swiftUI (⏱ 01:14:48) 🌐 Сколько стоит разработка #ios приложения #apple #swift #iphone (⏱ 00:37) 🌐 Вклад Джона фон Неймана в развитии в #ИИ (⏱ 00:56) 🌐 Первое в истории упоминание #ИИ (⏱ 00:28) 🌐 История развития Искуственного Интелекта. Фильм. Часть 1 (⏱ 09:48) 🌐 Про #ios разработку за 60 секунд #swift #apple (⏱ 00:59) Хорошего дня!

🗓 14 февраля, 16:00 📌 Как удаленно тестировать мобильные приложения? Коллеги из @Selectel запустили новый продукт – ферму м
🗓 14 февраля, 16:00 📌 Как удаленно тестировать мобильные приложения? Коллеги из @Selectel запустили новый продукт – ферму мобильных устройств. Это инфраструктурное решение для удаленного тестирования и сборки приложений. А 14 февраля они проводят вебинар, на котором покажут, как проводить параллельные тесты приложений из любой точки мира. Без закупки техники и настройки инфраструктуры. Расскажут, как использовать ферму мобильных устройств для мануального тестирования и автотестов. Программа вебинара: ◽️Что такое мобильная ферма и как она устроена? ◽️Чем ферма отличается от других методов тестирования? ◽️Мануальное тестирование и автотесты с Appium с помощью фермы. ◽️Сравнение тестов на телефоне, подключенном к ноутбуку, эмуляторе и мобильной ферме Selectel. Зарегистрируйтесь на мероприятие и и получите эксклюзивный бонус для тестирования вашего приложения: https://slc.tl/ytfsx Реклама ООО «Селектел» erid 2VtzqubZ47z

🍏 Готовится что-то крупное Марк Гурман из Bloomberg сообщил о возможных грядущих глобальных изменениях, которые будут реализ
🍏 Готовится что-то крупное <//> Марк Гурман из Bloomberg сообщил о возможных грядущих глобальных изменениях, которые будут реализованы в новой версии мобильной операционной системы iOS. По словам инсайдера, в ближайшем будущем он расскажет о них, сейчас он готов поделиться информацией о некоторых. В частности, появится поддержка кросс-платформенных RCS-сообщений, что позволит пользователям с устройствами на iOS и Android обмениваться контентом без ограничений. В частности, речь о фото в высоком разрешении, аудиосообщениях, обмене информация в одной сети Wi-Fi, повышенном уровне защиты и так далее. Заметно поумнеет голосовой помощник Siri, который будет использовать продвинутую версию генеративного искусственного интеллекта. Также Apple рассматривает возможность применения ИИ в сервисах и приложениях Apple Music, Pages, Keynote и Xcode. Вероятно, iOS 18 станет более ожидаемым релизом, чем iPhone 16. 💭 Чтобы вы хотели видеть в «грандиозном» обновлении?

Adalo — создание веб- и мобильных приложений без необходимости написания кода С помощью простого в использовании интерфейса п
Adalo — создание веб- и мобильных приложений без необходимости написания кода С помощью простого в использовании интерфейса перетаскивания, Adalo позволяет пользователям легко разрабатывать приложения и публиковать их напрямую в App Store, Google Play или на веб-сайте Сервис предлагает разнообразные опции баз данных, интеграцию с такими сервисами, как Xano и Airtable, и возможность публикации приложений на различных платформах Стоимость: #бесплатно (но есть платные тарифы) #web #mobile #nocode

🦅Swift: ссылочные типы и циклы сохранения, weak и unowned Ответ на один из 10 технических вопросов недавнего собеседования по Swift и Objective C был очевиден, но нуждался в точном объяснении. Вот этот вопрос: «Какие ссылки на объект применяются в Swift для предотвращения цикла сохранения: a) сильные; б) слабые; в) бесхозные?» Оптимальный ответ: б) слабые. Но почему? Циклы сохранения Если вкратце, для управления памятью в Swift используется автоматический подсчет ссылок. Когда объект инстанцируется, в памяти сохраняется дополнительная информация о нем для автоматических операций сохранения и освобождения, таких как подсчет ссылок — в коде это retainCount, — чтобы сохранить объект со строгими ссылками на его дочерние объекты, пока он во избежание высвобождения памяти еще «помечен» строгой ссылкой как необходимый. «А КАК НАСЧЕТ ЗНАЧЕНИЙ-ТИПОВ ВРОДЕ СТРУКТУР?» В ОТЛИЧИЕ ОТ ССЫЛОЧНЫХ ТИПОВ, ОБЪЕКТОВ, КОТОРЫМИ С ПОМОЩЬЮ ЭТИХ RETAINCOUNT ОТСЛЕЖИВАЕТСЯ ЧИСЛО ССЫЛОК НА ОБЪЕКТ, ЗНАЧЕНИЯМ-ТИПАМ ТАКАЯ СТРАТЕГИЯ НЕ ТРЕБУЕТСЯ. КАЖДЫЙ ЭКЗЕМПЛЯР ЗНАЧЕНИЯ-ТИПА — ЭТО СОБСТВЕННАЯ, НЕЗАВИСИМАЯ ЧАСТЬ ДАННЫХ, И ОБЛАСТЬ ЕГО СУЩЕСТВОВАНИЯ ПРИВЯЗАНА КО ВНЕШНЕЙ ЕГО ОБЛАСТИ. КОПИИ ЭТИХ ЗНАЧЕНИЙ СОЗДАЮТСЯ ИХ ПЕРЕДАЧЕЙ КАК АРГУМЕНТОВ ИЛИ СОХРАНЕНИЕМ В ДРУГИХ ПЕРЕМЕННЫХ. НАПРИМЕР, ПРИ ПЕРЕДАЧЕ В SWIFT В КАЧЕСТВЕ АРГУМЕНТА ФУНКЦИИ ЗНАЧЕНИЯ-ТИПА, ТАКОГО КАК СТРУКТУРА ИЛИ ПЕРЕЧИСЛЕНИЕ, СОЗДАЕТСЯ КОПИЯ ЭТОГО ЗНАЧЕНИЯ И ТАКИМ ОБРАЗОМ ВЫДЕЛЯЕТСЯ НОВЫЙ КУСОК ПАМЯТИ. ЭТО НАЗЫВАЕТСЯ СЕМАНТИКОЙ КОПИРОВАНИЯ. Возьмем приложение с двумя классами: class Manager: EmployeeDelegate { let employee: Employee init(employee: Employee) { self.employee = employee self.employee.delegate = self } func perform() {/* код */} ... } protocol EmployeeDelegate: AnyObject { func perform() } class Employee { public var delegate: EmployeeDelegate? ... } В Swift это типичный шаблон с классом, который «знает», когда выполнять операцию, но неизвестно какую. В этом случае шаблоном делегирования с protocol гарантируется, что руководитель Manager определяет операцию и дает указания работнику Employee, который в нужный момент их выполняет. Сильные ссылки Проблема в том, что в этом примере очень четко генерируется цикл сохранения. Почему? Когда создается экземпляр Manager, в него передается Employee, который сохраняется, и создается сильная ссылка, так что память от объекта Employee не освобождается, пока существует его Manager. Чтобы определить операции JobDelegate, для Employee нужен делегат. Здесь в методе инициализатора в качестве делегата задан объект Manager, так что в Employee тоже имеется сильная ссылка на Manager и память от экземпляра Manager не освобождается, пока существует его Employee. То есть они не дадут друг другу освободить память в течение неопределенного времени: 📌 Продолжение

Как удаленно тестировать мобильные приложения?⚡️ Ребята из @Selectel запустили новый продукт – ферму мобильных устройств. Это
Как удаленно тестировать мобильные приложения?⚡️ Ребята из @Selectel запустили новый продукт – ферму мобильных устройств. Это инфраструктурное решение для удаленного тестирования и сборки приложений. С ней вам не нужны телефоны и эмуляторы — ферма предоставляет доступ к большой базе смартфонов с различными параметрами и может проводить широкий набор тестов. Преимущества фермы мобильных устройств: ◽️Не нужно думать о передаче устройств между удаленными сотрудниками: подключайтесь одновременно с командой из любой точки мира. ◽️Комфортная работа на нескольких устройствах: вы можете запускать автотесты параллельно. ◽️Обслуживание и ремонт Selectel берет на себя. Зарегистрируйтесь на бета-тест и получите месяц работы с одним устройством в подарок: https://slc.tl/vxp9t Реклама ООО «Селектел» erid 2VtzqxJNzuV