Пройдите собеседование на iOS: Лучшие вопросы, которые вы должны знать!
https://shreethaanur.medium.com/crack-your-ios-interview-top-questions-you-must-know-in-2023-before-you-go-9fe28ddd9d76
#ios
👉 @developer_mobila
https://shreethaanur.medium.com/crack-your-ios-interview-top-questions-you-must-know-in-2023-before-you-go-9fe28ddd9d76
#ios
👉 @developer_mobila
iOSSecuritySuite: безопасность и защита от взлома iOS-приложений
iOSSecuritySuite — это продвинутая и простая в использовании библиотека для защиты платформы от несанкционированного доступа, написанная на чистом Swift. Если вы разрабатываете под iOS и хотите защитить свое приложение в соответствии с частью стандарта OWASP MASVS, то эта библиотека поможет вам сэкономить много времени.
Что обнаруживает ISS:
Джейлбрейк
Подключенный отладчик
Если приложение было запущено в эмуляторе
Общие инструменты реверсинжиниринга, работающие на устройстве
https://github.com/securing/IOSSecuritySuite
#ios
👉 @developer_mobila
iOSSecuritySuite — это продвинутая и простая в использовании библиотека для защиты платформы от несанкционированного доступа, написанная на чистом Swift. Если вы разрабатываете под iOS и хотите защитить свое приложение в соответствии с частью стандарта OWASP MASVS, то эта библиотека поможет вам сэкономить много времени.
Что обнаруживает ISS:
Джейлбрейк
Подключенный отладчик
Если приложение было запущено в эмуляторе
Общие инструменты реверсинжиниринга, работающие на устройстве
https://github.com/securing/IOSSecuritySuite
#ios
👉 @developer_mobila
Firebase in Android Studio — Android Developers Backstage
00:00 - Introduction
00:40 - App Quality Insights
12:42 - Firebase Test Lab
14:37 - Device streaming
40:46 - iOS robo
41:19 - Gradle managed firebase test devices
43:54 - Wrap up
https://www.youtube.com/watch?v=OvLCsH2vKgE
#Android
👉 @developer_mobila
00:00 - Introduction
00:40 - App Quality Insights
12:42 - Firebase Test Lab
14:37 - Device streaming
40:46 - iOS robo
41:19 - Gradle managed firebase test devices
43:54 - Wrap up
https://www.youtube.com/watch?v=OvLCsH2vKgE
#Android
👉 @developer_mobila
YouTube
Firebase in Android Studio - Android Developers Backstage
Link to podcast → https://goo.gle/44XfCbX
In this episode, Tor and Romain chat with Greg Baker and Joe Baker-Malone about exciting new Android Studio features made possible by @Firebase integration. Physical device streaming allows you to connect remotely…
In this episode, Tor and Romain chat with Greg Baker and Joe Baker-Malone about exciting new Android Studio features made possible by @Firebase integration. Physical device streaming allows you to connect remotely…
Специальный крутой выпуск подкаста для мобильных разработчиков и девопсов!
Как построить уникальную EMM систему управления мобильными устройствами (более 120 тысяч штук), какие принципы разработки лучше использовать для внутренних приложений на десятки тысяч пользователей, почему имеет смысл перейти на кросс-платформу, как совместить баланс между приватностью и безопасностью и зачем отправлять мобильных разработчиков на ферму.
Обо всем этом рассказывает Илья Рукавишников, руководитель внутренней мобильной разработки Магнита в новом выпуске подкаста «Магнитное Поле», который создается совместно проектом @zavtracast и IT-командой ритейлера Магнит. В этом подкасте рассказывается про работу самых разных команд крупной технологической компании, где работают тысячи человек. В предыдущих выпусках обсуждали современный backend, devops с человеческим лицом, дизайн-системы, data governance, IT HR, зачем нужен agile, geo BI, облачные архитектуры, InnerSource, создание внутренних продуктов и многое другое.
🎧Послушать
📹 Посмотреть
Как построить уникальную EMM систему управления мобильными устройствами (более 120 тысяч штук), какие принципы разработки лучше использовать для внутренних приложений на десятки тысяч пользователей, почему имеет смысл перейти на кросс-платформу, как совместить баланс между приватностью и безопасностью и зачем отправлять мобильных разработчиков на ферму.
Обо всем этом рассказывает Илья Рукавишников, руководитель внутренней мобильной разработки Магнита в новом выпуске подкаста «Магнитное Поле», который создается совместно проектом @zavtracast и IT-командой ритейлера Магнит. В этом подкасте рассказывается про работу самых разных команд крупной технологической компании, где работают тысячи человек. В предыдущих выпусках обсуждали современный backend, devops с человеческим лицом, дизайн-системы, data governance, IT HR, зачем нужен agile, geo BI, облачные архитектуры, InnerSource, создание внутренних продуктов и многое другое.
🎧Послушать
Please open Telegram to view this post
VIEW IN TELEGRAM
Все типы SwiftUI TextField Keyboard Types
Всегда странно говорить, что мы изучим ВСЕ возможности API, потому что я чувствую, что всякий раз, когда я нажимаю кнопку "опубликовать", это уже устаревший контент. Но в данном конкретном случае у меня есть ощущение, что API довольно стабилен и мне не придется обновлять его в ближайшее время.
https://holyswift.app/discovering-all-swiftui-textfield-keyboard-types/
#ios
👉 @developer_mobila
Всегда странно говорить, что мы изучим ВСЕ возможности API, потому что я чувствую, что всякий раз, когда я нажимаю кнопку "опубликовать", это уже устаревший контент. Но в данном конкретном случае у меня есть ощущение, что API довольно стабилен и мне не придется обновлять его в ближайшее время.
https://holyswift.app/discovering-all-swiftui-textfield-keyboard-types/
#ios
👉 @developer_mobila
This media is not supported in your browser
VIEW IN TELEGRAM
Hero Animation в iOS-приложении
Подумайте о дизайне вашего любимого приложения. Что делает дизайн этого приложения таким особенным для вас? Для нас это часто индивидуальные и интересные анимации. Они помогают направить внимание пользователя, улучшить пользовательский процесс и сделать путь пользователя более ярким.
В этой статье рассматривается, как с помощью модификатора matchedGeometryEffect можно просто создать красивые Hero-анимации:
https://mobileappcircular.com/how-to-create-a-hero-animation-in-swiftui-154c6c6980ef
#ios
👉 @developer_mobila
Подумайте о дизайне вашего любимого приложения. Что делает дизайн этого приложения таким особенным для вас? Для нас это часто индивидуальные и интересные анимации. Они помогают направить внимание пользователя, улучшить пользовательский процесс и сделать путь пользователя более ярким.
В этой статье рассматривается, как с помощью модификатора matchedGeometryEffect можно просто создать красивые Hero-анимации:
https://mobileappcircular.com/how-to-create-a-hero-animation-in-swiftui-154c6c6980ef
#ios
👉 @developer_mobila
Swift Testing: библиотека тестирования для Swift
Swift Testing — это современная библиотека тестирования с открытым исходным кодом для Swift от Apple, обладающая мощными и выразительными возможностями. Она дает разработчикам больше уверенности при меньшем объеме кода.
Данный пакет находится в стадии активной и непрерывной разработки. Его содержимое, включая все интерфейсы и детали реализации, является экспериментальным и может быть изменено или удалено без предварительного уведомления.
https://github.com/apple/swift-testing
#ios
👉 @developer_mobila
Swift Testing — это современная библиотека тестирования с открытым исходным кодом для Swift от Apple, обладающая мощными и выразительными возможностями. Она дает разработчикам больше уверенности при меньшем объеме кода.
Данный пакет находится в стадии активной и непрерывной разработки. Его содержимое, включая все интерфейсы и детали реализации, является экспериментальным и может быть изменено или удалено без предварительного уведомления.
https://github.com/apple/swift-testing
#ios
👉 @developer_mobila
GitHub
GitHub - swiftlang/swift-testing: A modern, expressive testing package for Swift
A modern, expressive testing package for Swift. Contribute to swiftlang/swift-testing development by creating an account on GitHub.
Возможна ли жизнь после плеймаркета?
Привет, старина! Представь свой обычный рабочий день андроид-разработчиком. Ты открываешь почту и видишь вот такое сообщение:
https://habr.com/ru/companies/alfa/articles/763976/
#Android
👉 @developer_mobila
Привет, старина! Представь свой обычный рабочий день андроид-разработчиком. Ты открываешь почту и видишь вот такое сообщение:
https://habr.com/ru/companies/alfa/articles/763976/
#Android
👉 @developer_mobila
Super Power Scroll Views - SwiftUI - iOS 17
0:00 - ScrollView iOS 17 Updates
0:41 - Adapting to size classes
2:31 - Next item peeking - contentMargins
3:41 - Snap to view when scrolling
5:12 - Transition Animations
https://www.youtube.com/watch?v=IwUp2iP0jnI
#ios
👉 @developer_mobila
0:00 - ScrollView iOS 17 Updates
0:41 - Adapting to size classes
2:31 - Next item peeking - contentMargins
3:41 - Snap to view when scrolling
5:12 - Transition Animations
https://www.youtube.com/watch?v=IwUp2iP0jnI
#ios
👉 @developer_mobila
YouTube
Super Power Scroll Views - SwiftUI - iOS 17
Go to https://squarespace.com/seanallen to save 10% off your first purchase of a website or domain using code SEANALLEN.
SwiftUI ScrollViews got super powers in iOS 17. Today's video goes over how easy it is to add transition animations, snapping and more.…
SwiftUI ScrollViews got super powers in iOS 17. Today's video goes over how easy it is to add transition animations, snapping and more.…
В чем разница между ListView и RecyclerView?
Поговорим о различиях между RecyclerView и ListView — виджетами, предназначенными для отображения данных в Android-разработке. Рассмотрим ключевые особенности RecyclerView и ListView, плюсы и минусы, а также случаи использования каждого виджета.
https://medium.com/@zelii/differences-between-listview-and-recyclerview-f04c20ad10f7
#Android
👉 @developer_mobila
Поговорим о различиях между RecyclerView и ListView — виджетами, предназначенными для отображения данных в Android-разработке. Рассмотрим ключевые особенности RecyclerView и ListView, плюсы и минусы, а также случаи использования каждого виджета.
https://medium.com/@zelii/differences-between-listview-and-recyclerview-f04c20ad10f7
#Android
👉 @developer_mobila
Поваренная книга 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
С 18 по 29 марта в Сочи пройдёт научно-практический интенсив по мобильной разработке от Young&&Yandex и Университета «Сириус».
На смене будет представлено два направления: нативная разработка на iOS и мультиплатформенная разработка на Flutter.
Что вы успеете в ходе интенсива
Что вы получите после прохождения интенсива
Кто может принять участие в интенсиве
Обучение, проезд, проживание и питание на время смены предоставит Университет «Сириус».
Please open Telegram to view this post
VIEW IN TELEGRAM
Как 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
Дебаггинг приложения без 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
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
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
Media is too big
VIEW IN TELEGRAM
Здоровье вашей Gradle-сборки
Обсудим кому и когда нужно следить за своей сборкой. Сценарии, когда сборка может заболеть. Сергей Боиштян расскажет про случаи из практики, в которых сборка становилась медленнее. Он обсудит инструменты и подходы для наблюдения за сборками. Расскажет, как они меряют деградацию и выбирают, что ускорять.
источник
#Android
👉 @developer_mobila
Обсудим кому и когда нужно следить за своей сборкой. Сценарии, когда сборка может заболеть. Сергей Боиштян расскажет про случаи из практики, в которых сборка становилась медленнее. Он обсудит инструменты и подходы для наблюдения за сборками. Расскажет, как они меряют деградацию и выбирают, что ускорять.
источник
#Android
👉 @developer_mobila
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
НИКОГДА НЕ ПИШИ ТАК НА 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
Универсальные датасорсы в 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