Cheat Sheet по шорткатам в Xcode
В одной шпаргалке собраны все основные комбинации клавиш для редактирования кода, работы с вкладками, документацией и не только. Вдохновлено англоязычной cheat sheet.
Кстати, из репозитория с проектом можно скачать PDF-версию.
#ios
В одной шпаргалке собраны все основные комбинации клавиш для редактирования кода, работы с вкладками, документацией и не только. Вдохновлено англоязычной cheat sheet.
Кстати, из репозитория с проектом можно скачать PDF-версию.
#ios
👍11💩4
This media is not supported in your browser
VIEW IN TELEGRAM
PT Application Inspector 4.0. Как выйти на уровень безопасной разработки
82% всех уязвимостей инфраструктуры содержатся в коде приложения. Каждая пятая из них грозит компании серьезными последствиями.
Для того, чтобы находить слабые места еще на стадии разработки нужен анализатор кода, такой, как PT Application Inspector. Он комбинирует технологии SAST, DAST, IAST и SCA. Встраивается в процессы компании, помогает раз и навсегда подружить ИБ и разработку.
Эксперты Positive Technologies проведут митап для разработчиков и инженеров DevOps и DevSecOps, где расскажут:
— Про методы анализа и абстрактную интерпретацию как способ повысить качество анализа
— Как посчитать выгоду DevSecOps для компании и подружить ИБ с разработкой
— Новые фичи PT Application Inspector версии 4.0
Когда: 7 апреля
Зарегистрироваться
82% всех уязвимостей инфраструктуры содержатся в коде приложения. Каждая пятая из них грозит компании серьезными последствиями.
Для того, чтобы находить слабые места еще на стадии разработки нужен анализатор кода, такой, как PT Application Inspector. Он комбинирует технологии SAST, DAST, IAST и SCA. Встраивается в процессы компании, помогает раз и навсегда подружить ИБ и разработку.
Эксперты Positive Technologies проведут митап для разработчиков и инженеров DevOps и DevSecOps, где расскажут:
— Про методы анализа и абстрактную интерпретацию как способ повысить качество анализа
— Как посчитать выгоду DevSecOps для компании и подружить ИБ с разработкой
— Новые фичи PT Application Inspector версии 4.0
Когда: 7 апреля
Зарегистрироваться
👍8🔥1
Навигация в iOS-приложении с паттерном Coordinator
За навигацию в iOS отвечает стандартный класс UIViewController. Однако с ним возникают трудности, когда нужно поменять порядок экранов, добавить новый переход или передать данные с последнего экрана на первый.
Одно из решений проблемы — использовать вместо стандартной навигации паттерн Coordinator, который задействует особый класс для логики навигации между экранами в приложении.
Существует множество готовых реализаций паттерна. Но в «СберМаркете» решили запилить свою собственную версию и рассказали о ней в статье:
https://habr.com/ru/post/654339/
#ios
За навигацию в iOS отвечает стандартный класс UIViewController. Однако с ним возникают трудности, когда нужно поменять порядок экранов, добавить новый переход или передать данные с последнего экрана на первый.
Одно из решений проблемы — использовать вместо стандартной навигации паттерн Coordinator, который задействует особый класс для логики навигации между экранами в приложении.
Существует множество готовых реализаций паттерна. Но в «СберМаркете» решили запилить свою собственную версию и рассказали о ней в статье:
https://habr.com/ru/post/654339/
#ios
👍7
Стал доступен Kotlin 1.6.20
Что появилось интересного:
— context receiver в Kotlin/JVM (пока в виде прототипа);
— объявление non-nullable generic типов (пока в бете);
— поддержка параллельной компиляции в один модуль в JVM backend;
— инкрементальная компиляция development binaries с компилятором Kotlin/JS IR;
— улучшение производительности Kotlin/Native;
— поддержка иерархической структуры для мультиплатформенных проектов (на KMM).
Подробнее об изменениях в блоге JetBrains. Обновление установится автоматически в IntelliJ IDEA и Android Studio.
#kotlin
Что появилось интересного:
— context receiver в Kotlin/JVM (пока в виде прототипа);
— объявление non-nullable generic типов (пока в бете);
— поддержка параллельной компиляции в один модуль в JVM backend;
— инкрементальная компиляция development binaries с компилятором Kotlin/JS IR;
— улучшение производительности Kotlin/Native;
— поддержка иерархической структуры для мультиплатформенных проектов (на KMM).
Подробнее об изменениях в блоге JetBrains. Обновление установится автоматически в IntelliJ IDEA и Android Studio.
#kotlin
🔥7👍5❤1
50 вопросов и ответов для подготовки к собеседованию по Swift и iOS
В статье собраны вопросы по различным темам — от теоретических вопросов до поиска ошибок в коде. Самое то потренироваться перед собеседованием на iOS-разработчика:
https://habr.com/ru/post/659169/
#ios #начинающим
В статье собраны вопросы по различным темам — от теоретических вопросов до поиска ошибок в коде. Самое то потренироваться перед собеседованием на iOS-разработчика:
https://habr.com/ru/post/659169/
#ios #начинающим
🔥11👍5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Многопользовательская игра для рисования на Compose
В игре Stream Draw один игрок должен нарисовать изображение, а другой — отгадать, какое слово загадано. Под капотом: Jetpack Compose, корутины и Flow.
Изучить проект: https://github.com/getStream/stream-draw-android
#android #compose #ui
В игре Stream Draw один игрок должен нарисовать изображение, а другой — отгадать, какое слово загадано. Под капотом: Jetpack Compose, корутины и Flow.
Изучить проект: https://github.com/getStream/stream-draw-android
#android #compose #ui
🔥23👍5❤1
6 вакансий для мобильных разработчиков
— Android-разработчик (Middle)
— Android-разработчик (Senior)
— Android-разработчик (Beffo)
— iOS-разработчик
— iOS-разработчик (Middle)
— iOS-разработчик (Senior)
#вакансии #работа
— Android-разработчик (Middle)
— Android-разработчик (Senior)
— Android-разработчик (Beffo)
— iOS-разработчик
— iOS-разработчик (Middle)
— iOS-разработчик (Senior)
#вакансии #работа
👍2
Удобная работа со справочниками в iOS
Справочники удобно хранить в базе данных. На iOS основных инструментов для работы с базой данных три — CoreData, Realm, SQLite.
Разработчики из hh разобрали плюсы и минусы всех вариантов и рассказали, какой из них использовали в своём проекте:
https://habr.com/ru/company/hh/blog/658257/
#ios
Справочники удобно хранить в базе данных. На iOS основных инструментов для работы с базой данных три — CoreData, Realm, SQLite.
Разработчики из hh разобрали плюсы и минусы всех вариантов и рассказали, какой из них использовали в своём проекте:
https://habr.com/ru/company/hh/blog/658257/
#ios
👍7
Пишем первый UI-тест на Android
Фреймворк Espresso используется для тестирования UI Android-приложения на реальном устройстве или эмуляторе. Начать с ним работу поможет пошаговый гайд по созданию первого UI-теста:
https://habr.com/ru/company/otus/blog/472372/
#android #тестирование #начинающим
Фреймворк Espresso используется для тестирования UI Android-приложения на реальном устройстве или эмуляторе. Начать с ним работу поможет пошаговый гайд по созданию первого UI-теста:
https://habr.com/ru/company/otus/blog/472372/
#android #тестирование #начинающим
👍10🔥5
Реализуем swipe-to-dismiss в Android-приложении
Библиотека Fragula 2 расширяет возможности Navigation component: она добавляет в приложение возможность горизонтального перелистывания экранов, похожее на Telegram. В библиотеке также реализована кастомная анимация.
Кстати, Fragula 2 создал российский разработчик из Ozon.
Как использовать: https://github.com/massivemadness/Fragula
#android #библиотеки
Библиотека Fragula 2 расширяет возможности Navigation component: она добавляет в приложение возможность горизонтального перелистывания экранов, похожее на Telegram. В библиотеке также реализована кастомная анимация.
Кстати, Fragula 2 создал российский разработчик из Ozon.
Как использовать: https://github.com/massivemadness/Fragula
#android #библиотеки
👍28
This media is not supported in your browser
VIEW IN TELEGRAM
Создание анимированного селектора на Jetpack Compose
Делимся пошаговым гайдом по созданию кастомного селектора в Android-приложении, в котором изменяются:
— фон с анимацией в соответствии с выбранным параметром;
— углы фона вместе с выбранной позицией;
— цвет текста на выбранной позиции.
Подробнее: https://fvilarino.medium.com/creating-an-animated-selector-in-jetpack-compose-669066dfc01b
#android #compose #ui
Делимся пошаговым гайдом по созданию кастомного селектора в Android-приложении, в котором изменяются:
— фон с анимацией в соответствии с выбранным параметром;
— углы фона вместе с выбранной позицией;
— цвет текста на выбранной позиции.
Подробнее: https://fvilarino.medium.com/creating-an-animated-selector-in-jetpack-compose-669066dfc01b
#android #compose #ui
🔥11👍2
Анонсированы изменения политик Google Play
Главное:
— С 11 мая обновляется Families policy. Если контент для детей в приложении неприемлем глобально, то приложение будет доступно только в регионах, где подобный контент разрешён.
— С 11 июля приложения, устанавливающие дополнительные APK-файлы, должны получить одобрение на публикацию.
— С 1 ноября уже выложенные в Google Play приложения должны иметь target API level не старше 2 лет от выхода последней версии Android. Иначе приложения скроются из выдачи Google Play для устройств с последними версиями Android, и их нельзя будет установить. Также новые приложения и обновления должны иметь target API level не старше 1 года с выхода последней версии Android, иначе их не пропустят в Play Console.
#android #googleplay
Главное:
— С 11 мая обновляется Families policy. Если контент для детей в приложении неприемлем глобально, то приложение будет доступно только в регионах, где подобный контент разрешён.
— С 11 июля приложения, устанавливающие дополнительные APK-файлы, должны получить одобрение на публикацию.
— С 1 ноября уже выложенные в Google Play приложения должны иметь target API level не старше 2 лет от выхода последней версии Android. Иначе приложения скроются из выдачи Google Play для устройств с последними версиями Android, и их нельзя будет установить. Также новые приложения и обновления должны иметь target API level не старше 1 года с выхода последней версии Android, иначе их не пропустят в Play Console.
#android #googleplay
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Пружинная анимация в SwiftUI
Держите подборку интересных примеров, как можно реализовать пружинную анимацию различных типов —
https://medium.com/@amosgyamfi/learning-swiftui-spring-animations-the-basics-and-beyond-4fb032212487
#ios #swiftui #ui
Держите подборку интересных примеров, как можно реализовать пружинную анимацию различных типов —
.spring(), .interactiveSpring(), .interpolatingSpring(...) и их вариациями:https://medium.com/@amosgyamfi/learning-swiftui-spring-animations-the-basics-and-beyond-4fb032212487
#ios #swiftui #ui
🔥26👍9
«Альфа-Банк» ищет мобильных разработчиков
В «Альфе» разрабатывают продукт, которым пользуются сами, поэтому для ребят важно делать крутые фичи. А это невозможно без крутых разработчиков.
Прямо сейчас «Альфа-Мобайл» разрабатывает поддержку карты «Мир» и платёжной системы Union Pay. Поэтому команде нужны:
— iOS-разработчик с 2+ лет опыта и знанием Swift и iOS SDK;
— Android-разработчик с 2+ лет опыта и знанием Kotlin, Java и Android SDK.
Подходящим кандидатам «Альфа» предлагает welcome-бонус, заботу о здоровье и льготные условия на свои банковские услуги.
Узнать больше об этих и других вакансиях можно в Telegram-канале «Альфа-Банка».
#вакансии
В «Альфе» разрабатывают продукт, которым пользуются сами, поэтому для ребят важно делать крутые фичи. А это невозможно без крутых разработчиков.
Прямо сейчас «Альфа-Мобайл» разрабатывает поддержку карты «Мир» и платёжной системы Union Pay. Поэтому команде нужны:
— iOS-разработчик с 2+ лет опыта и знанием Swift и iOS SDK;
— Android-разработчик с 2+ лет опыта и знанием Kotlin, Java и Android SDK.
Подходящим кандидатам «Альфа» предлагает welcome-бонус, заботу о здоровье и льготные условия на свои банковские услуги.
Узнать больше об этих и других вакансиях можно в Telegram-канале «Альфа-Банка».
#вакансии
👎23💩14👍12🤯2😁1
Подборка полезных материалов для начинающего Android-разработчика
Не знаете, с чего начать для создания Android-приложений? В этом посте мы собрали ссылки на бесплатные полезные ресурсы, которые помогут изучить основы Android-разработки:
— план изучения Android-разработки с нуля;
— курс Kotlin Basics от JetBrains;
— курс Android Basics in Kotlin от Google;
— видеокурс по основам разработки Android-приложений на Kotlin;
— большой курс лекций по Android для начинающих от «Яндекса».
Больше материалов для начинающих мобильных разработчиков доступно по тегу #начинающим.
#android
Не знаете, с чего начать для создания Android-приложений? В этом посте мы собрали ссылки на бесплатные полезные ресурсы, которые помогут изучить основы Android-разработки:
— план изучения Android-разработки с нуля;
— курс Kotlin Basics от JetBrains;
— курс Android Basics in Kotlin от Google;
— видеокурс по основам разработки Android-приложений на Kotlin;
— большой курс лекций по Android для начинающих от «Яндекса».
Больше материалов для начинающих мобильных разработчиков доступно по тегу #начинающим.
#android
👍44🔥5❤3😁3🥰2🤔2👎1
Адаптация iOS-приложения для незрячих пользователей
Маленькие кнопки, трудно различимая цветовая гамма, некорректное озвучивание элементов интерфейса — далеко не все проблемы, с которыми сталкиваются незрячие и слабовидящие пользователи при работе с приложением. Особенно критично, если приложение — сервис по заказу еды или такси.
Разработчик iOS-приложения «Яндекс Go» Николай Морев поделился опытом, как его команде удалось улучшить зачитывание скринридером элементов интерфейса, и рассказал, какие проблемы ещё остались:
https://habr.com/ru/company/yandex/blog/660663/
Кстати, про доступность Android-приложения также рассказал его коллега, Виктор Вихров.
#ios #accessibility
Маленькие кнопки, трудно различимая цветовая гамма, некорректное озвучивание элементов интерфейса — далеко не все проблемы, с которыми сталкиваются незрячие и слабовидящие пользователи при работе с приложением. Особенно критично, если приложение — сервис по заказу еды или такси.
Разработчик iOS-приложения «Яндекс Go» Николай Морев поделился опытом, как его команде удалось улучшить зачитывание скринридером элементов интерфейса, и рассказал, какие проблемы ещё остались:
https://habr.com/ru/company/yandex/blog/660663/
Кстати, про доступность Android-приложения также рассказал его коллега, Виктор Вихров.
#ios #accessibility
👍8
6 вакансий для мобильных разработчиков
— Android-разработчик (Beffo) в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
#вакансии #работа
— Android-разработчик (Beffo) в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
#вакансии #работа
👍7
Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift
Любой iOS-разработчик использует хотя бы одну из функций высшего порядка: map, filter, reduce или flatMap. Благодаря им код писать ощутимо легче, чем на основе цикла for-in. Но насколько функции хороши в плане быстродействия?
В статье приведены результаты замера производительности функций по сравнению с for-in. В эксперименте использовали 30 повторов на 10 млн элементах.
Как выяснилось, встроенные функции высшего порядка существенно опережают for-in, когда их не нужно выстраивать в цепочку. Иначе производительность только падает.
Подробнее об исследовании можно также почитать в переводе.
#ios #swift
Любой iOS-разработчик использует хотя бы одну из функций высшего порядка: map, filter, reduce или flatMap. Благодаря им код писать ощутимо легче, чем на основе цикла for-in. Но насколько функции хороши в плане быстродействия?
В статье приведены результаты замера производительности функций по сравнению с for-in. В эксперименте использовали 30 повторов на 10 млн элементах.
Как выяснилось, встроенные функции высшего порядка существенно опережают for-in, когда их не нужно выстраивать в цепочку. Иначе производительность только падает.
Подробнее об исследовании можно также почитать в переводе.
#ios #swift
👍7
Какая у вас ситуация с использованием Upwork?
Anonymous Poll
8%
Работал через Upwork, теперь не могу
2%
Работал через Upwork, обошёл ограничения
35%
Никогда не использовал Upwork и не хочу
27%
Никогда не использовал Upwork, из-за новостей хочу начать
28%
Я не из РФ или РБ, меня ограничения не затронули
👍1
Пагинация списков в Android
Нужен список с бесконечным скроллом, где данные будут подгружаться постепенно? Реализовать его возможно с помощью библиотеки Jetpack Paging Library v3.
Серия роликов научит использовать библиотеку в Android-приложении:
— Пагинация в Android с Jetpack Paging v3
В видео показано, как использовать PagingSource, Pager, PagingDataAdapter и LoadStateAdapter. Также вы узнаете об обработке ошибок при загрузке страниц списка, отображении прогресса при загрузке и реализации фильтрации в списке с пагинацией.
— Обновление данных в Jetpack Paging v3
Вы узнаете, как обновлять данные в списке с пагинацией без полной перезагрузки, а также когда можно и нельзя избегать перезагрузки списка.
#android #jetpack #начинающим
Нужен список с бесконечным скроллом, где данные будут подгружаться постепенно? Реализовать его возможно с помощью библиотеки Jetpack Paging Library v3.
Серия роликов научит использовать библиотеку в Android-приложении:
— Пагинация в Android с Jetpack Paging v3
В видео показано, как использовать PagingSource, Pager, PagingDataAdapter и LoadStateAdapter. Также вы узнаете об обработке ошибок при загрузке страниц списка, отображении прогресса при загрузке и реализации фильтрации в списке с пагинацией.
— Обновление данных в Jetpack Paging v3
Вы узнаете, как обновлять данные в списке с пагинацией без полной перезагрузки, а также когда можно и нельзя избегать перезагрузки списка.
#android #jetpack #начинающим
👍16🔥1