SwiftUI dev
1.08K subscribers
87 photos
36 videos
1 file
73 links
Mobile development, SwiftUI, Compose, feel free to reach me: @lexkraev
Download Telegram
Разница в использовании async let.

The difference of using async let explained in a code example.

#readthis
Media is too big
VIEW IN TELEGRAM
Нарисуем и подсветим циферблат у часов Panerai ⌚️ Код доступен на boosty

Panerai watches ⌚️ Code is available on boosty

#trytodo #tasty
Font hints 🖖🏻

#groovy
SwiftUI dev pinned a photo
This media is not supported in your browser
VIEW IN TELEGRAM
Очередной непростой челлендж 🤘🏻 Создадим лоадер 📶 Код здесь

Another pretty difficult challenge 🤘🏻 Developing loader 📶 Code is here

#trytodo #tasty

@swiftui_dev
This media is not supported in your browser
VIEW IN TELEGRAM
Необычные вертикальные часы 📶 ⌚️ Код здесь

Unusual vertical watches 📶 ⌚️ Code is here

#tasty

@swiftui_dev
This media is not supported in your browser
VIEW IN TELEGRAM
Навигация

Один из блоков вопросов на iOS - собеседовании - архитектура приложений. При этом почти в любой архитектуре вопросы навигации всегда находятся сбоку от обсуждения. Более того, для навигации разрабатывают свои паттерны. Одними из таких являются координатор и навигатор.

Начиная с SwiftUI 1.0 Apple практически на каждом WWDC рассказывает про работу с MVVM, как будто забывая про роутинг. Да, нам показали NavigationView, NavigationLink, но не покидало ощущение, что Apple опять представили что-то промежуточное. Многие стали писать свои обертки над этим API, чтобы сделать работу удобнее. И наконец в iOS 16 Apple представили новое API навигации, которое так долго ждали.

Вместо NavigationView (deprecated) теперь нужно использовать NavigationStack. Экран для перехода будет определять модификатор navigationDestination.

Будем честны, многие команды до сих пор используют роутинг на UIKit в проектах на SwiftUI. Даже те, кто пытались разобраться в NavigationView, в конечном итоге возвращались обратно в UIKit. С появлением нового API навигации такой подход - поворот не туда. С другой стороны, новое API требует минимальный таргет у проекта iOS 16.0 . Что делать? Использовать бэкпорт! Можете создать свой тестовый проект, чтобы поработать с этой библиотекой. Мой сэмпл здесь.

#switfpm #howto #getsources #groovy
SwiftUI dev
Навигация Один из блоков вопросов на iOS - собеседовании - архитектура приложений. При этом почти в любой архитектуре вопросы навигации всегда находятся сбоку от обсуждения. Более того, для навигации разрабатывают свои паттерны. Одними из таких являются координатор…
Navigation

Hey guys! I’ve created test project with sample of new navigation API back ported in older SwiftUI versions.

One of the main question at every iOS-interview is app architecture. At the same time routing in the app almost always is the side theme of discussion. Moreover there are different approaches in the navigation in general and all of them have their own patterns such as navigator or coordinator.

Starting from SwiftUI 1.0 in almost every WWDC Apple talks about working with MVVM as if forgetting about routing. Yes, we were introduced to NavigationView, NavigationLink. But the feeling that Apple again has presented intermediate solution does not leave us. Some developers started to create their own wrappers over this API for convenience. Finally in iOS 16 Apple introduced the long-awaited new navigation API.

Instead of NavigationView (starting with iOS 16 it has been deprecated) we have to use NavigationStack. Now the navigationDestination modifier defines a view to display.

Frankly speaking many teams are still using UIKit routing in SwiftUI projects. Even those who tried to understand NavigationView, gave up and went back to UIKit. With the release of the new navigation API, this approach is a wrong turn. Apart from that the new API requires a minimum deployments as iOS 16.0. So what to do? Use a backport! Try my sample! You may create your own test project to try to work with this package using it.

#swiftpm #howto #getsources
This media is not supported in your browser
VIEW IN TELEGRAM
Сделал package для добавления pull-to-refresh на любое View для iOS 14.0 (Apple-овский аналог доступен только для List, начиная с iOS 15.0)

Made the package for marking any SwiftUI View as refreshable, similar to Apple's refreshable(action:) that available from iOS 15 and only in List 🤷🏼‍♂️.

#swiftpm #groovy #getsources

@swiftui_dev
This media is not supported in your browser
VIEW IN TELEGRAM
Повторяем challenge от KavSoft c hero анимацией🦸🏼‍♂️ Код здесь

Kavsoft challenge with hero animation 🦸🏼‍♂️ Code is here

#trytodo #tasty

@swiftui_dev
SwiftUI dev
Сделал package для добавления swipe-меню на любое View для iOS 13.0 (Apple-овский аналог доступен только для List, начиная с iOS 15.0) Made the package for creating swipe actions for any SwiftUI View, similar to Apple's swipeActions(edge:allowsFullSwipe:content:)…
This media is not supported in your browser
VIEW IN TELEGRAM
✌🏻 Обновил package SwipeActions. Напомню, либа добавляет swipe-меню для любых view. У Apple аналог только для List и только с iOS 15.

Краткий мануал здесь.

✌🏻 I've just released SwipeActions new version. It allows you to add swiped menu to any SwiftUI view, quite similar to Apple’s one that available from iOS 15 and only for Lists.

Release notes are here.

Quick start is here.

#swiftpm #tasty #groovy #getsources

@swiftui_dev
Media is too big
VIEW IN TELEGRAM
Всех с Новым годом! Всего всем самого лучшего! 🎄🎉

Посмотреть как рисовать 🎄 здесь.

Happy New Year! I wish you all the very best indeed! 🎄🎉 Stay tuned here! 😊

Tutorial is here.

#tasty #getsources
This media is not supported in your browser
VIEW IN TELEGRAM
🤸🏻‍♂️🤾🏻‍♂️ Сделал package Animatable. Либа позволяет добавить кастомные реакции на нажатия кнопок.

Краткий мануал здесь.

Спасибо за репосты 🤝

🤸🏻‍♂️🤾🏻‍♂️ Yet another package Animatable with animation modifiers for buttons . It allows you to add custom reaction on button tapping.

Quick start is here.

Thx for sharing 🤝

#swiftpm #tasty #groovy #getsources
This media is not supported in your browser
VIEW IN TELEGRAM
🌀 Индикатор выполнения на примере времени с различными темами. Код здесь

🌀Circular time progress bars with different themes. Tap here

#tasty
🤔 Зачем нужны нестандартные фигуры (Shapes) в самых обычных SwiftUI View? Статью можно найти здесь или здесь 🙃

🤔 Why you need custom shapes for your simple SwiftUI views? Find out it here or here 🙃

#readthis
This media is not supported in your browser
VIEW IN TELEGRAM
🍿🪂 Повторим блок “бесконечной” рекламы приложений из App Store.

Код здесь

🙃🎸 Let’s repeat infinite apps ads from the App Store.

Code is here

#tasty #groovy