Привет, Хабр! Меня зовут Алексей Непомнящих и я мобильный разработчик «Леруа Мерлен». В этой статье я бы хотел поделиться своим опытом внедрения первой большой фичи на SwiftUI в приложение, целиком состоящее из UIKit с минимальной требуемой версией iOS 14.
Пользователь
SwiftUI уроки (часть 11)
Ранее мы создали приложение в котором пользователь мог с помощью навигационной панели переходить из экрана в котором отображается список с информацией на экран содержащий уже детальную информацию и такой паттерн навигации весьма распространен среди приложений и является одним из часто повторяющихся, однако сегодня я покажу вам еще один встречающийся паттерн, когда пользователь видит поднимающийся модальный экран.
Мамихлапинатапай
Арис нарезал круги по комнате, игнорируя Элизу – своего личного биоробота. Поджав накрашенные пурпурной помадой пухлые губки, в оранжевых стрингах и лифчике, с кожей, неотличимой от покрытой загаром человеческой и пшеничными волосами по плечи, Элиза растерянно наблюдала за хозяином в сторонке, пока, наконец, не решилась прикоснуться к его лопатке. Арис развернулся.
– Дорогой, тебе пора расслабиться… – промурлыкала роботесса медовым голоском.
Рука её метнулась к паху Ариса.
– Не сегодня, Элиза! – отшатнулся Арис. – Отстань!
– Ты проявляешь признаки стресса и нестабильного гормонального фона, – ответила служанка.
Арису послышались нотки обиды в её тоне. Откуда, к чёрту, у робота эмоции? Элиза существует для того, чтобы ублажать и удовлетворять любые его потребности. Похоже, он и правда немного не в себе.
– Будь хорошей девочкой, – несколько смягчившись, бросил Арис. – Папа занят важными размышлениями!
Стерильные стены вылизанной Элизой квартиры, белый потолок, 3-D монитор на всю стену и дверь в спортзал нагоняли депрессию. Эротично изогнувшая плечи и бёдра стройная говорящая кукла на перинах, застеленных египетским хлопком, бесила. Пахло апельсиновым ароматизатором воздуха.
Арис выскочил на балкон. Безликая панорама вечернего мегаполиса, кристаллы небоскрёбов с золотыми ячейками – клетками, в которых заточены злые угрюмые люди, не умеющие общаться. Каждый из них обществу себе подобных предпочитал лишённых человеческих недостатков подключенных к глобальной нейросети роботов… И непроходящий образ перед взором: неизвестно откуда взявшееся в победившем пластмассовом мире слово «мамихлапинатапай», начертанное у подъезда многоэтажки краской густого цвета индиго, с белыми, лимонными и нежно-розовыми блёстками, будто планктон флюоресцирует в пенных океанических волнах в час заката, чего, должно быть, не бывает на свете. В тот день, «погуглив» прямо на месте, Арис узнал, что имеет дело со словом из языка племени яганов, населявших Огненную Землю, означающее «смотреть друг на друга в надежде, чтобы другой человек начал делать то, что обоим нужно, но что никто не желает делать». Слово включено в книгу рекордов Гиннесса, как «наиболее ёмкое». Вряд ли автору граффити требовалось много ума, чтобы узнать о его существовании… Ариса взволновало другое: роботам ни к чему нарушать безупречную геометрию алгоритмов, дерзко вклиниваясь в искусственную гармонию бетонных джунглей. Однако, эта история случилась давно…
REST API на котиках
Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.
С какой стороны IT вы бы не пытались войти — в какой‑то момент столкнётесь с понятием REST API. Эта статья создана, чтобы смягчить данное столкновение. Новые темы всегда легче воспринимаются на простых примерах, ну а если это примеры с котиками, то варианта не разобраться просто нет. Хочется обойтись без сложных научных определений, а рассказать самым простым языком. Поэтому, если вы любите сухие и точные формулировки, то вам нужна другая статья :)
Импортирование картинок и звуков в Swift Package
В качестве курсовой работы мне необходимо было разработать библиотеку с «успокаивающим» элементами на языке Swift. Ну знаете, это такие залипательные штуки, по типу спиннера или пузырчатой плёнки, которую лопаешь.
Clean architecture и MVVM в iOS разработке
В этой статье мы покажем на примерах проектов как паттерны MVVM и Clean Architecture могут быть применены в iOS приложении.
О, вы из Англии? Локализация Ozon Seller на iOS
Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и всячески улучшает пользовательский опыт работы продавцов на Ozon.
Нашим приложением активно пользуются юзеры из разных стран, и поэтому день Х, когда мы решим добавить поддержку разных языков, был неизбежен. В этой статье я расскажу про стандартный процесс локализации iOS-приложения, про то, с какими трудностями мы столкнулись и как их решили. Разберём системный алгоритм определения языка и объясню, почему он нам не подошёл. Сделаем перевод приложения «на лету», а также посмотрим, как изменился наш флоу работы со строками.
Как передавать данные между вью контроллерами в Swift
У многих новичков в UIKit наступает момент, когда им нужно создать больше одного экрана в своем приложении и передать данные из одного вью контроллера в другой, чтобы первое приложение обрело полноценный смысл и функциональность.
В этой статье собраны все традиционные способы передачи данных между вью контроллерами в UIKit, от простого к сложному, чтобы процесс перестал сопровождаться мозговым штормом и помог всем обучающимся освоить желаемое.
Ты — это то, как ты пишешь. Как расти через качество кода
Каждый код уникален. Несмотря на работу линтеров, спустя несколько лет вы с уверенностью сможете определить, что писали вы, а что — другой разработчик. Даже если не помните, что это была за задача. А ещё, код может рассказать об авторе едва ли не больше, чем разговор с ним. Например, какие книги он читал, на каких языках писал раньше. Можно сделать выводы о характере и привычках автора и предположить, как быстро он сможет вырасти.
Я Юрий Митус, фронтенд-разработчик в Сбере. Предлагаю поговорить о коде, который мы пишем, и практиках его улучшения. Расскажу, на что обращать внимание, покажу типичные ошибки, которые «портят» код и как их избегать. Научу писать код так, чтобы вас хотели нанять и перенять ваши практики.
Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям
В Yandex Cloud с сегодняшнего дня открыт доступ к тестированию API YandexART — нейросети для генерации изображений и анимаций, которая лежит в основе приложения Шедеврум. Протестировать API можно в сервисе Foundation Models, в котором доступно несколько моделей машинного обучения, включая YandexGPT для генерации текстов и эмбеддинги для задач семантического поиска.
TechTrain 2024: что расскажут на бесплатном онлайн-фестивале
Наше мероприятие TechTrain порой меняет тематику — например, в прошлом году оно было посвящено AI/ML. Но сложился понятный формат:
— Каждые полгода, помимо «больших» конференций, мы проводим «небольшой» TechTrain.
— В отличие от конференций, он проходит только в онлайне и длится только один день.
— Зато, в отличие от конференций, участие в нём бесплатное.
В этот раз TechTrain будет о построении карьерного трека в IT: про варианты развития, источники опыта, взгляды экспертов, перспективы и цели.
Всё это наиболее актуально для молодых специалистов, и сеньорам больше подходят остальные наши конференции. Но помимо сугубо карьерных докладов, здесь будут и технические, так что узнать что-то полезное смогут все (сеньоры, вы уверены, что уже всё знаете про индексы в базах данных?)
Зарегистрироваться для участия можно на сайте, а здесь приведём описания всех докладов:
SwiftUI уроки (часть 6)
Мы наконец-то добрались до одних из самых важных тем связанных с управлением данными, включая их модификацию, слежение за ними и передачу. Мы начнем с самых простых вещей таких как State и Binding.
Галактика Андромеды
Галактика, расположенная в созвездии Андромеды, является ближайшей к нам крупной галактикой, и ярчайшей из спиральных галактик, после Млечного пути (который тоже является спиральной галактикой, и тоже виден на нашем небе). Есть еще Магеллановы облака, которые по яркости соперничают с Галактикой Андромеды, но они — галактики не самостоятельные, а их спиральные структуры уже сильно разрушены приливным влиянием Млечного пути, в гравитационном плену которого они находятся уже несколько миллиардов лет. Они — наши спутники. А галактика Андромеды — это полноценный и очень крупный звёздный город, являющийся одновременно и центром влияния на другие звездные города — меньшего размера, объединивший их вокруг себя в количестве нескольких десятков.
Будет справедливым утверждение, что Галактика Андромеды возглавляет Местную Группу галактик. Не Мы! — Не Млечный путь, а именно галактика Андромеды здесь главная.
YandexMapKit и SwiftUI: обратный геокодинг
Обратное геокодирование (получение адреса по географическим координатам) на стороне клиента в рамках разработка мобильного приложения под IOS для мониторинга автотранспорта
IOS - 15.5, SwiftUI, YandexMapKit
Я не стану описывать в статье способ подключения YandexMapKit к проекту. Во-первых, это не сложно, а во-вторых описаний этого процессе в интернете предостаточно, в том числе на сайте YandexMapKit SDK.
Однако хочу "пожаловаться", что исключительно из-за картографии Яндекса в проекте начали использовать CocoaPods, потому что вендор (по состоянию на март 2024 года) не снизошел до разработки пакета, который можно подключить к проекту минуя Pods.
SwiftUI уроки (часть 5)
Buttons, Labels, Gradients
В этой части мы рассмотрим основы создания кнопок в SwiftUI. Кнопки играют ключевую роль в любом пользовательском интерфейсе приложения. Хорошо спроектированные кнопки не только делают ваш интерфейс более привлекательным, но и повышают пользовательский опыт от вашего приложения.
SwiftUI уроки (часть 4)
Понимание ScrollView и создание UI карусели
В этом уроке мы разберемся с таким элементом как ScrollView для создания длинных прокручивающихся полотен.
Как совмещать основную работу и проекты на стороне
У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!
Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.
Как я начал заниматься спортом по 2-3 часа в день
Удаленный режим работы и хобби, связанные с сидячим образом жизни, привели мою спину в неблагоприятное состояние. Трех и даже пяти сессий физической активности в неделю при отсутствии необходимости постоянно двигаться не достаточно для нормального функционирования.
Надо было что-то менять. Нейрохирург посоветовал завести собаку, чтобы не было возможности избежать прогулки хотя бы раз в день. Я же пошел другой дорогой, о которой хочу рассказать.
SwiftUI уроки (часть 3)
Создаем UI с помощью стеков
Стеки в SUI похожи на стеквью в UIKit. Если комбинировать горизонтальные и вертикальные стеки можно создать комплексный UI для приложения, который будет отлично адаптировать под различные размеры экранов и типы устройств. В UIKit основное средство создания UI — это auto layout который применяется для правильного отображения вьюшек на экране. Зачастую для начинающих разработчиков автолейаут кажется чем‑то очень сложным как для применения так и обучения, так что если вы уже переходите на SUI — есть хорошие новости, автолэйаут вам больше не потребуется. Вы будете оперировать такими компонентами как VStack, HStack, ZStack.
Оптимальный архитектурный шаблон iOS-приложения
В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно тонким клиентом. Основной упор делается на применение чистой архитектуры. Статья предназначается как новичкам, так и опытным программистам. Для удобства навигации имеется оглавление.
Информация
- В рейтинге
- 472-й
- Зарегистрирован
- Активность