Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

TINKOFFРазработка под iOSРазработка мобильных приложенийSwift

image


22:35. Восторг


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

Читать дальше →
Всего голосов 64: ↑62 и ↓2 +60
Просмотры44.4K
Комментарии 8

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

TINKOFFРазработка под iOSРазработка мобильных приложенийSwift


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


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

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

Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры13.6K
Комментарии 15

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

ApphudРазработка под iOSРазработка мобильных приложенийSwift


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


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


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

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры13K
Комментарии 5

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

Productivity InsideРазработка под iOSРазработка мобильных приложенийРазработка под Android
В новом дайджесте продолжаются рассказы про WWDC и SwiftUI, а заодно говорим про темные режимы, гипер казуальные игры, приложения для людей, рынок фитнес-приложений и многое другое.

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры4.5K
Комментарии 0

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

Разработка под iOSРазработка мобильных приложенийРазработка под Android


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

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

Разработка под iOSXcodeSwiftДизайн мобильных приложений
Tutorial

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



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


Потребуется


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



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


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

Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры5.9K
Комментарии 8

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

SkillboxПрограммированиеРазработка под iOSSwiftУчебный процесс в IT
Перевод


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

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

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

Productivity InsideРазработка под iOSРазработка мобильных приложенийРазработка под Android
В этом дайджесте рефакторинг, UI, UX и анимации, возвращение триала в App Store, Kotlin как “прорыв года”, хакатоны для развития команды, скрытые игровые механики и заработки FaceApp.

Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры5.5K
Комментарии 0

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

Разработка под iOSРазработка мобильных приложенийObjective CSwift
Перевод
Tutorial
Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным способом.

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

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

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

ПрограммированиеРазработка под iOSРазработка мобильных приложенийSwift
Перевод
На этой неделе я хочу поговорить о моделировании слоя данных в SwiftUI. Я уже закончил работу над своим самым первым приложением, которое я создаю используя только SwiftUI. Теперь я могу поделиться способом создания слоя модели с использованием объектов Store, которые я использовал при разработке приложения NapBot.

Объект Store


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

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

Разработка под iOSРазработка мобильных приложенийSwift


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

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

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

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

Разработка под iOSSwift
Перевод
Tutorial
В этом руководстве мы научимся планировать UI приложения при помощи View и узнаем, как использовать переменные состояния (State variables) для модификации UI.

Примерное время чтения публикации: 25 минут.
Поехали!
Всего голосов 9: ↑8 и ↓1 +7
Просмотры13K
Комментарии 16

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

OTUSРазработка под iOSSwift
Перевод
Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.»




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

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

Разработка под iOSSwift
Tutorial


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

Разработка проходила на XCode 11.2 под macOS Catalina 10.15.1
Поехали!
Всего голосов 3: ↑3 и ↓0 +3
Просмотры3.4K
Комментарии 3

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

ПрограммированиеРазработка под iOSРазработка мобильных приложенийCocoa
Перевод
image

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

How to Implement Tinder Swipe Cards in SwiftUI

ПрограммированиеРазработка под iOSРазработка мобильных приложенийSwift
Из песочницы
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 →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры9.7K
Комментарии 0

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

Разработка под iOSФункциональное программированиеSwift


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

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

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


Читать дальше →
Всего голосов 22: ↑11 и ↓11 0
Просмотры7K
Комментарии 8

Redux — подобные контейнеры состояния в SwiftUI. Рекомендации

Разработка под iOSРазработка мобильных приложенийCocoaObjective CSwift
Перевод
image

На прошлой неделе мы говорили о Redux – подобных контейнерах состояний в SwiftUI. Redux предоставляет единый источник истинностных значений, который предотвращает огромное количество потенциальных ошибок, которые могут возникнуть в разных состояниях приложения. На этой неделе мы поговорим о проверенных методах создания приложений на основе Redux, которые позволят сохранять нашу кодовую базу простой и без ошибок.
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Просмотры1.7K
Комментарии 0

Измените свой образ мышления, работая с SwiftUI

Разработка мобильных приложенийCocoaObjective CSwift
Перевод
image

На прошлой неделе я увидел, что сообщество пытается перенести наработаные шаблоны разработки c UIKit в SwiftUI. Но я уверен, что лучший способ написать эффективный код используя SwiftUI — это забыть все об UIKit и полностью изменить свое мышление с точки зрения разработки пользовательского интерфейса. На этой неделе я расскажу основные отличия между разработкой используя UIKit и SwiftUI.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Просмотры5.2K
Комментарии 1

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

Productivity InsideРазработка под iOSРазработка мобильных приложенийРазработка под Android
В нашей новой подборке мышление с стиле SwiftUI, библиотеки анимации, Huawei без сервисов Google, тестирование в Airbnb, самые популярные инструменты дизайна и интерфейсы для пожилых, микросессии и мобильные финансы.

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры3.4K
Комментарии 0