Pull to refresh

Live-coding на SwiftUI: пишем BeautyQR Widget

Reading time 1 min
Views 675
Surf corporate blog Programming *Development for iOS *Development of mobile applications *

15 декабря (среда). Старт в 18:00 мск

Кто-то набил татуху с QR-кодом с Госуслуг, кто-то напечатал его на футболке, кто-то просто заскриншотил… А мы напишем приложение, которое создаёт виджет с QR-кодом на рабочем столе айфона. Да не простой QR-код, а с красивым ламповым фоном!

Зарегистрироваться на live-coding

Читать далее
Total votes 4: ↑3 and ↓1 +2
Comments 0

Apple представила обновление инструментов для разработчиков: Xcode Cloud, WeatherKit и улучшенный Swift

Reading time 2 min
Views 1.7K
Development for iOS *Development of mobile applications *Swift *Development for MacOS *IT-companies

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 0

iOS-вечер в приятной компании

Reading time 1 min
Views 505
Кошелёк corporate blog Surf corporate blog Programming *Development of mobile applications *

Митап с разработчиками из Кошелька, Тинькофф и Surf.

Санкт-Петербург, 8 декабря (четверг), 19:00 мск. Офлайн и онлайн

Зарегистрироваться на Mobile meetup

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 0

Swift UI — галопом по Европам

Reading time 4 min
Views 51K
TINKOFF corporate blog Development for iOS *Development of mobile applications *Swift *

image


22:35. Восторг


Просмотрел WWDC 2019 Key Notes. Ожидаемый декларативный UI действительно стал явью, и это воистину событие вселенского масштаба для мира iOS-разработки. «Надо написать об этом статью», — подумал я и еще тысячи iOS-разработчиков по всему миру, пребывающих в состоянии экзальтации.

Читать дальше →
Total votes 64: ↑62 and ↓2 +60
Comments 8

Магия SwiftUI или о Function builders

Reading time 5 min
Views 18K
TINKOFF corporate blog Development for iOS *Development of mobile applications *Swift *


Вы пробовали добавить в VStack больше 10 вьюх?


var body: some View {
        VStack {
            Text("Placeholder1")
            Text("Placeholder2")
            // ... тут вьюшки с 3 по 10 . . .
            Text("Placeholder11")
        }
    }

Я попробовал — это не компилируется. Да, я тоже сначала был удивлен и погрузился в изучение форума Swift и гитхаба. Результатом моего изучения стало — "все равно не компилируется ¯\_(ツ)_/¯ ". Но подождите, давайте разберемся почему.

Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Comments 15

Все, что вы хотели знать о SwiftUI, но боялись спросить

Reading time 8 min
Views 16K
Apphud corporate blog Development for iOS *Development of mobile applications *Swift *


Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud.


Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложений в декларативном стиле и сильно сокращает количество кода.


Apple уже представила несколько интересных туториалов на английском языке с множеством примеров. Я же постараюсь рассказать о новом фреймворке в форме вопросов и ответов. Итак, поехали.

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 5

Дайджест интересных материалов для мобильного разработчика #302 (10 — 16 июня)

Reading time 3 min
Views 4.7K
Productivity Inside corporate blog Development for iOS *Development of mobile applications *Development for Android *
В новом дайджесте продолжаются рассказы про WWDC и SwiftUI, а заодно говорим про темные режимы, гипер казуальные игры, приложения для людей, рынок фитнес-приложений и многое другое.

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 0

Гонка вооружений

Reading time 3 min
Views 7.7K
Development for iOS *Development of mobile applications *Development for Android *


В мае на Google I/O 2019 было объявлено о новом фреймворке для разработки декларативного UI под Android с названием Jetpack Compose. Через месяц на WWDC 2019 было объявлено о декларативном UI фреймворке под IOS с названием SwiftUI. После этих конференции стало понятно, к чему стремится мобильная разработка, и мне захотелось разобраться, что можно сделать с помощью этих фреймворков на данный момент и в чем разница между ними.
Читать дальше →
Total votes 21: ↑15 and ↓6 +9
Comments 10

Анимированные карточки на SwiftUI

Reading time 4 min
Views 7.6K
Development for iOS *Xcode *Swift *Mobile applications design *

Сделаем на SwiftUI анимированные карточки с поддержкой жестов:



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


Потребуется


SwiftUI сейчас в beta, и устанавливается вместе с новым Xcode, который тоже в beta. Хорошая новость — новый Xcode можно поставить рядом со старым, и практически не почувствовать боли.



Скачать его можно по ссылке в разделе Applications.


Вы могли встречать риалтайм-превью во время работы со SwiftUI. Чтобы активировать его, а так же некоторые контекстные меню, нужно установить бету macOS Catalina. Тут без боли не обойдется. Я бету не ставил, поэтому буду по старинке запускать симулятор.

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 8

Разработка приложения на SwiftUI. Часть 1: поток данных и Redux

Reading time 5 min
Views 6.1K
Skillbox corporate blog Programming *Development for iOS *Swift *Studying in IT
Translation


После участия в сессии State of the Union на WWDC 2019 я решил детально изучить SwiftUI. Я потратил много времени на работу с ним и теперь приступил к разработке реального приложения, которое может оказаться полезным широкому кругу пользователей.

Его я назвал MovieSwiftUI — это апп для поиска новых и старых фильмов, а также их сбора в коллекцию при помощи TMDB API. Я всегда любил фильмы и даже создал компанию, работающую в этой сфере, правда давно. Компанию сложно было назвать классной, а вот приложение — да!
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 1

Дайджест интересных материалов для мобильного разработчика #307 (15 — 21 июля)

Reading time 4 min
Views 5.7K
Productivity Inside corporate blog Development for iOS *Development of mobile applications *Development for Android *
В этом дайджесте рефакторинг, UI, UX и анимации, возвращение триала в App Store, Kotlin как “прорыв года”, хакатоны для развития команды, скрытые игровые механики и заработки FaceApp.

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 0

Знакомство с SwiftUI: Создание простого приложения с использованием TableView

Reading time 14 min
Views 40K
Development for iOS *Development of mobile applications *Objective C *Swift *
Tutorial
Translation
Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным способом.

В отличие от UIKit, который обычно использовался в сочетании с storyboards, SwiftUI полностью основан на программном коде. Тем не менее, синтаксис очень прост для понимания и проект можно быстро просмотреть с помощью Automatic Preview.

Поскольку SwiftUI использует язык Swift, он позволяет создавать приложения той же сложности с гораздо меньшим количеством кода. Более того, использование SwiftUI автоматически позволяет приложению использовать такие функции, как Dynamic Type, Dark Mode, Localization и Accessibility. Кроме того, он доступен на всех платформах, включая macOS, iOS, iPadOS, watchOS и tvOS. Итак, теперь ваш код пользовательского интерфейса может быть синхронизирован на всех платформах, что дает больше времени для того, чтобы сосредоточиться на второстепенном платформо-зависимом коде.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 12

Моделирование состояния приложения с использованием объектов Store в SwiftUI

Reading time 4 min
Views 5.1K
Programming *Development for iOS *Development of mobile applications *Swift *
Translation
На этой неделе я хочу поговорить о моделировании слоя данных в SwiftUI. Я уже закончил работу над своим самым первым приложением, которое я создаю используя только SwiftUI. Теперь я могу поделиться способом создания слоя модели с использованием объектов Store, которые я использовал при разработке приложения NapBot.

Объект Store


Объекты Store, отвечают за сохранение состояния и предоставлении действии по его изменению. У вас может быть столько объектов Store, сколько вам необходимо, желательно чтобы они были простыми и отвечали за небольшую часть состояния вашего приложения. Например, у вас может быть SettingsStore для сохранения состояния пользовательских настроек и TodoStore для сохранения пользовательских задач.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0

SwiftUI для прошлого конкурсного задания Telegram Charts (март 2019 года): все просто

Reading time 21 min
Views 7.3K
Development for iOS *Development of mobile applications *Swift *


Сразу начну с замечания о том, что приложение, о котором пойдет речь в этой статье, требует Xcode 11 и MacOS Catalina , если вы хотите использовать Live Previews, и Mojave, если будете пользоваться симулятором. Код приложения находится на Github.

В этом году на WWDC 2019, Apple анонсировала SwiftUI, новый декларативный способ построения пользовательского интерфейса (UI) на всех устройствах Apple. Это практически полное отступление от привычного нам UIKit, и я — как и многие другие разработчики — очень хотела посмотреть этот новый инструмент в действии.

В этой статье представлен опыт решение с помощью SwiftUI некоторой задачи, код которой в рамках UIKit несопоставимо более сложный и его не удается на мой взгляд представить в читабельном виде.
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 4

SwiftUI: знакомство

Reading time 8 min
Views 15K
Development for iOS *Swift *
Tutorial
Translation
В этом руководстве мы научимся планировать UI приложения при помощи View и узнаем, как использовать переменные состояния (State variables) для модификации UI.

Примерное время чтения публикации: 25 минут.
Поехали!
Total votes 9: ↑8 and ↓1 +7
Comments 16

Понимаем Property Wrappers в SwiftUI

Reading time 4 min
Views 20K
OTUS corporate blog Development for iOS *Swift *
Translation
Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.»




На прошлой неделе мы начали новую серию постов о фреймворке SwiftUI. Сегодня я хочу продолжить эту тему, рассказав о Property Wrappers в SwiftUI. SwiftUI предоставляет нам обертки свойств @State, @Binding, @ObservedObject, @EnvironmentObject и @Environment. Итак, давайте попытаемся понять разницу между ними и когда, почему и какую из них мы должны использовать.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 4

SwiftUI: делаем Expandable/Collapsible секции в List view

Reading time 6 min
Views 5.4K
Development for iOS *Swift *
Tutorial


Нередко встречающаяся в разработке под iOS задача — раскрывающиеся/складывающиеся секции в UITableView. Сегодня мы реализуем эту задачу, используя SwiftUI. В качестве небольшого twist'a добавим анимированный треугольник в заголовке секции и сделаем ячейки также раскрывающимися.

Разработка проходила на XCode 11.2 под macOS Catalina 10.15.1
Поехали!
Total votes 3: ↑3 and ↓0 +3
Comments 3

Redux — подобные контейнеры состояния в SwiftUI. Основы

Reading time 5 min
Views 3.8K
Programming *Development for iOS *Development of mobile applications *Cocoa *
Translation
image

На этой неделе мы поговорим о создании контейнера состояний схожим с тем, который используется в Redux. Он является единственным источником значений для разрабатываемого приложения. Единое состояние для всего приложения облегчает отладку и проверку. Единый источник истинностных значений устраняет тысячи ошибок, возникающих при создании нескольких состояний в приложении.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 1

How to Implement Tinder Swipe Cards in SwiftUI

Reading time 7 min
Views 13K
Programming *Development for iOS *Development of mobile applications *Swift *
Sandbox
In June, we heard about SwiftUI for the first time — a totally new way of creating and working with UI elements in iOS and macOS (also iPadOS) apps. It felt like Christmas in the summer. It's new, it's declarative, it's sexy! And now, just a few weeks after iOS 13 has been released, we can start to use SwiftUI in all our projects. Let's learn how to use this amazing tool that Apple gave us, to create the classic Tinder-esque Swipe Cards.

In this article, I would like to show you how to achieve a Tinder-like card view and behavior (swipe to action), with just a few lines of code.

To achieve this, we need to do the following things, in order:

  • Create UserView
  • Create NavigationView
  • Create BottomBarView
  • Create SwipeView
  • Put all this together inside ContentView

So let's get started.
Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

API для удаленной асинхронной выборки с помощью Apple Combine

Reading time 17 min
Views 12K
Development for iOS *Functional Programming *Swift *


Combine — это функциональный реактивный Swift фреймворк, который недавно реализован для всех платформ Apple, включая Xcode 11. С помощью Combine очень легко обрабатывать последовательности асинхронно появляющихся во времени значений values. Он также позволяет упростить асинхронный код, отказавшись от делегирования и сложных вложенных callbacks.

Но изучение самого фреймворка Combine на первых порах может показаться не таким уж простым. Дело в том, что основными «игроками» Combine являются такие абстрактные понятия, как «издатели» Publishers, «подписчики» Subscribers и операторы Operators, без которых не удастся продвинуться в понимании логики функционирования Combine. Однако благодаря тому, что Apple предоставляет разработчикам уже готовых «издателей», «подписчиков» и операторов, код, написанный с помощью Combine, оказывается очень компактным и хорошо читаемым.

Вы увидите это на примере приложения, связанного с асинхронной выборкой информации о фильмах из очень популярной сейчас базы данных TMDb. Мы создадим  два различных приложения: UIKit и SwiftUI, и покажем, как с ними работает Combine.


Читать дальше →
Total votes 22: ↑11 and ↓11 0
Comments 8