Поваренная книга SwiftUI: использование предварительного просмотра в Xcode со SwiftUI
Одной из замечательных особенностей SwiftUI является его интеграция с предварительным просмотром в Xcode, что позволяет видеть, как код реализует пользовательский интерфейс прямо в реальном времени, в процессе работы над ним. Предварительные просмотры обеспечивают быстрый и эффективный способ разработки и итерации UI-дизайна приложения.
https://www.kodeco.com/books/swiftui-cookbook/v1.0/chapters/3-use-xcode-previews-with-swiftui
#ios
👉 @developer_mobila
Одной из замечательных особенностей SwiftUI является его интеграция с предварительным просмотром в Xcode, что позволяет видеть, как код реализует пользовательский интерфейс прямо в реальном времени, в процессе работы над ним. Предварительные просмотры обеспечивают быстрый и эффективный способ разработки и итерации UI-дизайна приложения.
https://www.kodeco.com/books/swiftui-cookbook/v1.0/chapters/3-use-xcode-previews-with-swiftui
#ios
👉 @developer_mobila
👍2
С 18 по 29 марта в Сочи пройдёт научно-практический интенсив по мобильной разработке от Young&&Yandex и Университета «Сириус».
На смене будет представлено два направления: нативная разработка на iOS и мультиплатформенная разработка на Flutter.
Что вы успеете в ходе интенсива
Что вы получите после прохождения интенсива
Кто может принять участие в интенсиве
Обучение, проезд, проживание и питание на время смены предоставит Университет «Сириус».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Как Airbnb внедрила SwiftUI в приложение для iOS
Для создания пользовательского интерфейса приложения выбор фреймворка имеет огромное значение. Правильно выбранный фреймворк может сделать приложение плавным, отзывчивым и даже восхитительным, в то время как фреймворк, не соответствующий потребностям приложения, может сделать его вялым и нерабочим. Этот принцип распространяется и на опыт разработчиков: UI-фреймворк с хорошо продуманными API позволяет инженерам свободно, эффективно и корректно выражать свои мысли, в то время как фреймворк с неправильными абстракциями или несогласованными API может усложнить работу инженеров, замедляя ее излишней сложностью.
https://medium.com/airbnb-engineering/unlocking-swiftui-at-airbnb-ea58f50cde49
#ios
👉 @developer_mobila
Для создания пользовательского интерфейса приложения выбор фреймворка имеет огромное значение. Правильно выбранный фреймворк может сделать приложение плавным, отзывчивым и даже восхитительным, в то время как фреймворк, не соответствующий потребностям приложения, может сделать его вялым и нерабочим. Этот принцип распространяется и на опыт разработчиков: UI-фреймворк с хорошо продуманными API позволяет инженерам свободно, эффективно и корректно выражать свои мысли, в то время как фреймворк с неправильными абстракциями или несогласованными API может усложнить работу инженеров, замедляя ее излишней сложностью.
https://medium.com/airbnb-engineering/unlocking-swiftui-at-airbnb-ea58f50cde49
#ios
👉 @developer_mobila
👍1
Дебаггинг приложения без Xcode. Зачем?
Вообще дебаг инструмент в нашем приложении был давно и выглядел так.
Но:
там был очень маленький набор функциональности;
все было полностью закрыт #IF DEBUG’ом;
фичи были разбросаны по разным проектам;
вдобавок открывалось это всё только с главного экрана с шестерёнки.
Зачем что-то менять? Ведь все «идеально».
https://habr.com/ru/companies/alfa/articles/763596/
#ios
👉 @developer_mobila
Вообще дебаг инструмент в нашем приложении был давно и выглядел так.
Но:
там был очень маленький набор функциональности;
все было полностью закрыт #IF DEBUG’ом;
фичи были разбросаны по разным проектам;
вдобавок открывалось это всё только с главного экрана с шестерёнки.
Зачем что-то менять? Ведь все «идеально».
https://habr.com/ru/companies/alfa/articles/763596/
#ios
👉 @developer_mobila
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Уменьшение рекомпозиции для изображений/иконок в Jetpack Compose
Проверяя приложение, чтобы улучшить производительность прокрутки списка, я понял, что изображения и иконки постоянно перекомпозиционируются, даже когда их состояние не меняется! Довольно странно, не правда ли?
https://engineering.teknasyon.com/reduce-recomposition-for-images-icons-in-jetpack-compose-8d2dd3bfa933
#Android
👉 @developer_mobila
Проверяя приложение, чтобы улучшить производительность прокрутки списка, я понял, что изображения и иконки постоянно перекомпозиционируются, даже когда их состояние не меняется! Довольно странно, не правда ли?
https://engineering.teknasyon.com/reduce-recomposition-for-images-icons-in-jetpack-compose-8d2dd3bfa933
#Android
👉 @developer_mobila
👍1
The Future of Accessing User Location in SwiftUI
Здравствуйте, афвикендены и ванбеталеры, с вами Лео. Сегодня мы рассмотрим новый API для получения местоположения пользователя в SwiftUI.
Знаете, когда мы только начинаем свою карьеру, все дело в том, чтобы правильно разобраться с техническими аспектами. Мы сосредоточены на том, чтобы овладеть навыками нашей профессии. Но со временем, когда мы продвигаемся по карьерной лестнице, происходит сдвиг. Дело не только в том, насколько хорошо вы пишете код или разрабатываете дизайн; дело в том, как вы общаетесь с людьми, а коммуникативные навыки являются ключевыми. Подумайте об этом: будучи штатным или главным инженером в мире iOS, вы не просто пишете код в углу. Вы - главный помощник, наставник, гид.
https://holyswift.app/the-new-way-to-get-current-user-location-in-swiftu-tutorial/
#ios
👉 @developer_mobila
Здравствуйте, афвикендены и ванбеталеры, с вами Лео. Сегодня мы рассмотрим новый API для получения местоположения пользователя в SwiftUI.
Знаете, когда мы только начинаем свою карьеру, все дело в том, чтобы правильно разобраться с техническими аспектами. Мы сосредоточены на том, чтобы овладеть навыками нашей профессии. Но со временем, когда мы продвигаемся по карьерной лестнице, происходит сдвиг. Дело не только в том, насколько хорошо вы пишете код или разрабатываете дизайн; дело в том, как вы общаетесь с людьми, а коммуникативные навыки являются ключевыми. Подумайте об этом: будучи штатным или главным инженером в мире iOS, вы не просто пишете код в углу. Вы - главный помощник, наставник, гид.
https://holyswift.app/the-new-way-to-get-current-user-location-in-swiftu-tutorial/
#ios
👉 @developer_mobila
👍1
Media is too big
VIEW IN TELEGRAM
Здоровье вашей Gradle-сборки
Обсудим кому и когда нужно следить за своей сборкой. Сценарии, когда сборка может заболеть. Сергей Боиштян расскажет про случаи из практики, в которых сборка становилась медленнее. Он обсудит инструменты и подходы для наблюдения за сборками. Расскажет, как они меряют деградацию и выбирают, что ускорять.
источник
#Android
👉 @developer_mobila
Обсудим кому и когда нужно следить за своей сборкой. Сценарии, когда сборка может заболеть. Сергей Боиштян расскажет про случаи из практики, в которых сборка становилась медленнее. Он обсудит инструменты и подходы для наблюдения за сборками. Расскажет, как они меряют деградацию и выбирают, что ускорять.
источник
#Android
👉 @developer_mobila
👍3
CD-диск на шейдерах и NameDrop в iOS 17
Шейдеры отлично подходят для симуляции материалов. В обычных интерфейсах мы управляем только цветом, но эффекты могут быть революционными. Например, блюр в iOS изменил многие мобильные интерфейсы и стал частью интерфейса Apple Vision Pro.
Описать материал через шейдер сложно, потому что код совершенно другой, но создать динамичный эффект — ещё сложнее. В этой статье разберём пару примеров: переливающийся диск и нашумевший NameDrop в iOS 17.
https://habr.com/ru/companies/dododev/articles/762656/
#ios
👉 @developer_mobila
Шейдеры отлично подходят для симуляции материалов. В обычных интерфейсах мы управляем только цветом, но эффекты могут быть революционными. Например, блюр в iOS изменил многие мобильные интерфейсы и стал частью интерфейса Apple Vision Pro.
Описать материал через шейдер сложно, потому что код совершенно другой, но создать динамичный эффект — ещё сложнее. В этой статье разберём пару примеров: переливающийся диск и нашумевший NameDrop в iOS 17.
https://habr.com/ru/companies/dododev/articles/762656/
#ios
👉 @developer_mobila
👍1
НИКОГДА НЕ ПИШИ ТАК НА SWIFT / Разбираю топ-10 типичных ошибок ios-разработчика
00:00 - Топ 10 ошибок iOS разработчика
00:36 - final/private/let
02:05 - Неявные опционалы
03:32 - Используй Let
04:16 - Сетевой слой codable - decodable
05:00 - Coding keys
05:58 - Конкретные типы
06:46 - Опциональные поля в модели
07:46 - LET в моделях
08:12 - for in вместо mapFilterReduce
09:03 - используй Линтер
10:19 - Временный объект на вызов функции
11:14 - Обработка ошибок
13:27 - Мусор во ViewDidLoad
14:25 - Один экстеншн на протокол
15:07 - Как использовать MARK правильно
16:17 - Литералы в ENUM
https://www.youtube.com/watch?v=ScMN0EyiBf4
#ios
👉 @developer_mobila
00:00 - Топ 10 ошибок iOS разработчика
00:36 - final/private/let
02:05 - Неявные опционалы
03:32 - Используй Let
04:16 - Сетевой слой codable - decodable
05:00 - Coding keys
05:58 - Конкретные типы
06:46 - Опциональные поля в модели
07:46 - LET в моделях
08:12 - for in вместо mapFilterReduce
09:03 - используй Линтер
10:19 - Временный объект на вызов функции
11:14 - Обработка ошибок
13:27 - Мусор во ViewDidLoad
14:25 - Один экстеншн на протокол
15:07 - Как использовать MARK правильно
16:17 - Литералы в ENUM
https://www.youtube.com/watch?v=ScMN0EyiBf4
#ios
👉 @developer_mobila
👍1
Универсальные датасорсы в iOS-разработке
В мире iOS-разработки, коллекции – это основной инструмент для представления данных в упорядоченной форме, таких как списки, таблицы, галереи фотографий или медиа-файлов. Они широко используются в различных сервисах, от социальных сетей до медицинских приложений. Однако, для создания эффективных и высокопроизводительных систем, необходимо иметь гибкое и масштабируемое решение для управления данными в коллекциях. Именно здесь на сцену выходят универсальные датасорсы.
Универсальные датасорсы предоставляют разработчикам API для доступа к данным в коллекциях без привязки к конкретному источнику и типу данных. Они обеспечивают абстракцию, которая дает разработчикам возможность работать с данными в коллекциях независимо от их происхождения или формата хранения. Это позволяет легко изменять источник данных, добавлять новые функции и поддерживать разные типы данных в приложении.
https://habr.com/ru/companies/tensor/articles/763582/
#ios
👉 @developer_mobila
В мире iOS-разработки, коллекции – это основной инструмент для представления данных в упорядоченной форме, таких как списки, таблицы, галереи фотографий или медиа-файлов. Они широко используются в различных сервисах, от социальных сетей до медицинских приложений. Однако, для создания эффективных и высокопроизводительных систем, необходимо иметь гибкое и масштабируемое решение для управления данными в коллекциях. Именно здесь на сцену выходят универсальные датасорсы.
Универсальные датасорсы предоставляют разработчикам API для доступа к данным в коллекциях без привязки к конкретному источнику и типу данных. Они обеспечивают абстракцию, которая дает разработчикам возможность работать с данными в коллекциях независимо от их происхождения или формата хранения. Это позволяет легко изменять источник данных, добавлять новые функции и поддерживать разные типы данных в приложении.
https://habr.com/ru/companies/tensor/articles/763582/
#ios
👉 @developer_mobila
👍3❤2
Объяснение Стабильность в Jetpack Compose
В этой статье мы рассмотрим, что на самом деле означает стабильность Compose, как ее отладить и стоит ли вообще о ней беспокоиться.
https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8
#Android
👉 @developer_mobila
В этой статье мы рассмотрим, что на самом деле означает стабильность Compose, как ее отладить и стоит ли вообще о ней беспокоиться.
https://medium.com/androiddevelopers/jetpack-compose-stability-explained-79c10db270c8
#Android
👉 @developer_mobila
👍3
Gallery: медиа-галерея на Jetpack Compose
Это легковесная галерея с фотографиями и видео для Android-приложения на Jetpack Compose.
https://github.com/IacobIonut01/Gallery
#Android
👉 @developer_mobila
Это легковесная галерея с фотографиями и видео для Android-приложения на Jetpack Compose.
https://github.com/IacobIonut01/Gallery
#Android
👉 @developer_mobila
👍3
SwiftUI: Telegram Dark Mode Animation Challenge - iOS 17 - Xcode 15
0:00 Intro
0:44 Project Setup
5:40 Building Dark Mode Animation
https://www.youtube.com/watch?v=4dbnfyXILc4
#ios
👉 @developer_mobila
0:00 Intro
0:44 Project Setup
5:40 Building Dark Mode Animation
https://www.youtube.com/watch?v=4dbnfyXILc4
#ios
👉 @developer_mobila
YouTube
SwiftUI: Telegram Dark Mode Animation Challenge - iOS 17 - Xcode 15
Hello Guys 🖐🖐🖐
In this video, I'm going to show how to recreate Telegram Dark Mode Animation using SwiftUI | SwiftUI Animation's | SwiftUI Complex UI | SwiftUI Dark Mode Animation | Xcode 15 | iOS 17 | Swift | SwiftUI Xcode 15 | SwiftUI for iOS 17 | Xcode…
In this video, I'm going to show how to recreate Telegram Dark Mode Animation using SwiftUI | SwiftUI Animation's | SwiftUI Complex UI | SwiftUI Dark Mode Animation | Xcode 15 | iOS 17 | Swift | SwiftUI Xcode 15 | SwiftUI for iOS 17 | Xcode…
Flutter. На пути к совершенству
Добро пожаловать в волшебный мир программирования, где каждый разработчик – не просто кодер, а настоящий магистр заклинаний и цифровых чар! Перед вами лежит карта неисследованных земель, полных таинственных «кодовых джунглей», где скрывается легендарный кракен «кодовых глубин» и много других заморских чудес.
Обладая значительным опытом в разработке энтерпрайз мобильных приложений в TAGES, я хочу поделиться проблемами, которые часто встречаются на код-ревью у начинающих разработчиков.
Запаситесь же попкорном из нулей и единиц, устройтесь поудобнее за своими многооконными экранами и готовьтесь к незабываемому путешествию!
https://habr.com/ru/articles/787620/
#ios
👉 @developer_mobila
Добро пожаловать в волшебный мир программирования, где каждый разработчик – не просто кодер, а настоящий магистр заклинаний и цифровых чар! Перед вами лежит карта неисследованных земель, полных таинственных «кодовых джунглей», где скрывается легендарный кракен «кодовых глубин» и много других заморских чудес.
Обладая значительным опытом в разработке энтерпрайз мобильных приложений в TAGES, я хочу поделиться проблемами, которые часто встречаются на код-ревью у начинающих разработчиков.
Запаситесь же попкорном из нулей и единиц, устройтесь поудобнее за своими многооконными экранами и готовьтесь к незабываемому путешествию!
https://habr.com/ru/articles/787620/
#ios
👉 @developer_mobila
👍3🤮1💩1🤡1
Jetpack Compose: Countdown Timer
В этой статье мы рассмотрим, как реализовать таймер обратного отсчета с помощью Jetpack Compose, современного набора инструментов для создания нативных пользовательских интерфейсов Android. Мы начнем с базового таймера и постепенно добавим более продвинутые функции.
https://medium.com/@android-world/jetpack-compose-countdown-timer-9531dd3119a6
#Android
👉 @developer_mobila
В этой статье мы рассмотрим, как реализовать таймер обратного отсчета с помощью Jetpack Compose, современного набора инструментов для создания нативных пользовательских интерфейсов Android. Мы начнем с базового таймера и постепенно добавим более продвинутые функции.
https://medium.com/@android-world/jetpack-compose-countdown-timer-9531dd3119a6
#Android
👉 @developer_mobila
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
ComposeLevitation: эффект левитации для элементов UI
ComposeLevitation — это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.
https://github.com/GIGAMOLE/ComposeLevitation
#Android
👉 @developer_mobila
ComposeLevitation — это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.
https://github.com/GIGAMOLE/ComposeLevitation
#Android
👉 @developer_mobila
👍5
Упрощаем локализацию iOS-приложения со String Catalogs
Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее ты их сможешь заработать. Это правило справедливо и в обратную сторону: клиент будет более охотно пользоваться твоим продуктом, если он может разговаривать с ним на одном языке.
Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.
https://habr.com/ru/articles/788614/
#ios
👉 @developer_mobila
Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее ты их сможешь заработать. Это правило справедливо и в обратную сторону: клиент будет более охотно пользоваться твоим продуктом, если он может разговаривать с ним на одном языке.
Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.
https://habr.com/ru/articles/788614/
#ios
👉 @developer_mobila
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
GITHUBFittedSheets: Bottom Sheet для iOS
FittedSheets — реализация Bottom Sheet для iOS, представление View Controller-а внизу экрана. Предлагает произвольные размеры (автоматически подстраиваясь под содержание встроенного контроллера) и поддерживает скроллинг.
https://github.com/gordontucker/FittedSheets
#ios
👉 @developer_mobila
FittedSheets — реализация Bottom Sheet для iOS, представление View Controller-а внизу экрана. Предлагает произвольные размеры (автоматически подстраиваясь под содержание встроенного контроллера) и поддерживает скроллинг.
https://github.com/gordontucker/FittedSheets
#ios
👉 @developer_mobila
👍2
Лучшие практики в Jetpack Compose для новичков
Jetpack Compose, рекомендуемый современный инструментарий Android для создания нативного пользовательского интерфейса, может упростить и ускорить разработку пользовательского интерфейса. Тем не менее, он не так прост в освоении, особенно для тех, кто только начинает работать с декларативными фреймворками пользовательского интерфейса.
В этой статье я расскажу о лучших практиках, которым следует следовать при создании приложения с помощью Jetpack Compose. Эти практики особенно полезны для новичков, которые могут столкнуться с трудностями в улучшении производительности и читаемости кода своего приложения.
https://medium.com/@bhoomigadhiya/best-practices-in-jetpack-compose-for-beginners-949d2b90a1b1
#Android
👉 @developer_mobila
Jetpack Compose, рекомендуемый современный инструментарий Android для создания нативного пользовательского интерфейса, может упростить и ускорить разработку пользовательского интерфейса. Тем не менее, он не так прост в освоении, особенно для тех, кто только начинает работать с декларативными фреймворками пользовательского интерфейса.
В этой статье я расскажу о лучших практиках, которым следует следовать при создании приложения с помощью Jetpack Compose. Эти практики особенно полезны для новичков, которые могут столкнуться с трудностями в улучшении производительности и читаемости кода своего приложения.
https://medium.com/@bhoomigadhiya/best-practices-in-jetpack-compose-for-beginners-949d2b90a1b1
#Android
👉 @developer_mobila
👍3❤1
Drawer Navigation с помощью Material 3 в Jetpack Compose
В этом статье мы рассмотрим и реализуем базовую навигацию Drawer Navigation с помощью Material3.
https://proandroiddev.com/drawer-navigation-using-material-3-in-jetpack-compose-1bfd5f3f7ed4
#Android
👉 @developer_mobila
В этом статье мы рассмотрим и реализуем базовую навигацию Drawer Navigation с помощью Material3.
https://proandroiddev.com/drawer-navigation-using-material-3-in-jetpack-compose-1bfd5f3f7ed4
#Android
👉 @developer_mobila
👍3❤1
Phase Animations in iOS 17
В этом видео я хочу познакомить вас с новым методом phaseAnimator, который был представлен в iOS 17. Это мощный способ создать в приложении анимацию с состоянием, которая может меняться в течение определенной вами последовательности фаз.
0:00 Introduction
1:18 Chaining Animations
3:29 Basic PhaseAnimator
8:27 Enum based phases
15:17 PhaseAnimator Triggers
https://www.youtube.com/watch?v=CS2GLBiRMWE
#ios
👉 @developer_mobila
В этом видео я хочу познакомить вас с новым методом phaseAnimator, который был представлен в iOS 17. Это мощный способ создать в приложении анимацию с состоянием, которая может меняться в течение определенной вами последовательности фаз.
0:00 Introduction
1:18 Chaining Animations
3:29 Basic PhaseAnimator
8:27 Enum based phases
15:17 PhaseAnimator Triggers
https://www.youtube.com/watch?v=CS2GLBiRMWE
#ios
👉 @developer_mobila
YouTube
Phase Animations in iOS 17
In this video, I want to introduce you to the new phaseAnimator method that was introduced in iOS 17. It is a powerful way to create stateful animations in your app that can change over a sequence of phases that you define.
In addition, I will also introduce…
In addition, I will also introduce…
👍2