Повышение качества кода iOS: 12 основных стратегий для разработчиков
Набор советов по наведению порядка в коде после которых, возможно, ПО не будет отваливаться от каждого неловкого движения. Среди них:
➖ Модульная организация с расширениями
➖ typealias для семантической ясности
➖ Force Unwrapping
➖ Интернационализация и управление сообщениями
Набор советов по наведению порядка в коде после которых, возможно, ПО не будет отваливаться от каждого неловкого движения. Среди них:
➖ Модульная организация с расширениями
➖ typealias для семантической ясности
➖ Force Unwrapping
➖ Интернационализация и управление сообщениями
❤5
Свежая подборка по Kotlin, Swift и кроссплатформе.
🔹 Мобильное приложение для сотрудников: спорт, игрушечное казино и собственный Twitter — как сконцентрировать все разнообразие контента из разных каналов и приложений в одном месте и параллельно сделать удобный инструмент
🔹 Переход Slack на сотовую архитектуру — способ увеличить избыточность и ограничить радиус действия сбоев сайта
🔹 Прослушивание событий жизненного цикла приложения во Flutter — новый класс AppLifecycleListener для прослушивания события жизненного цикла приложения Flutter
🔹 Создание расширения Chrome с помощью Flutter: Пошаговое руководство — преобразовываем проект Flutter в полнофункциональное расширение для Chrome
🔹 Пошаговое руководство по потокам и каналам Kotlin — связка socket.io, клиентского API и отображения сообщений при получении нового сообщение от сервера
🔹 Системные обновления Google Play для Android Runtime (ART) — речь пойдет о повышении производительности и последних исправлениях безопасности.
#дайджест
🔹 Мобильное приложение для сотрудников: спорт, игрушечное казино и собственный Twitter — как сконцентрировать все разнообразие контента из разных каналов и приложений в одном месте и параллельно сделать удобный инструмент
🔹 Переход Slack на сотовую архитектуру — способ увеличить избыточность и ограничить радиус действия сбоев сайта
🔹 Прослушивание событий жизненного цикла приложения во Flutter — новый класс AppLifecycleListener для прослушивания события жизненного цикла приложения Flutter
🔹 Создание расширения Chrome с помощью Flutter: Пошаговое руководство — преобразовываем проект Flutter в полнофункциональное расширение для Chrome
🔹 Пошаговое руководство по потокам и каналам Kotlin — связка socket.io, клиентского API и отображения сообщений при получении нового сообщение от сервера
🔹 Системные обновления Google Play для Android Runtime (ART) — речь пойдет о повышении производительности и последних исправлениях безопасности.
#дайджест
❤4
#холивар
Вдохновившись темой: «Насколько необходимы основы программирования, та самая база?» и необходимостью алгоритмов, презирании этой темы в сообществе, решили спросить у вас, что вы думаете?
Негатив вокруг этого формата интервью стал настолько велик, что теперь часто можно встретить людей, испытывающих неприязнь к самой теории, которая не имеет ничего общего с непонятными головомками в программировании. А это вредит в том числе и индивидуальной карьере инженеров, которым говорят держаться подальше от этих знаний по причинам, не поддающимся логике.
В сети можно встретить такое:
🔹 Теория не отражает того, что человек будет делать на самом деле в своей работе.
🔹 Знание теории не является показателем мастерства человека в данной практической роли.
🔹 Теория вообще бессмысленна. Зачем разработчику iOS знать, что такое граф?
Всё это создает у людей впечатление, что основы бесполезны, в то время как на самом деле они используют их постоянно!
Так действительно ли нужно всё это знать? Ждем ваши реакции в комментариях 💪
Вдохновившись темой: «Насколько необходимы основы программирования, та самая база?» и необходимостью алгоритмов, презирании этой темы в сообществе, решили спросить у вас, что вы думаете?
Негатив вокруг этого формата интервью стал настолько велик, что теперь часто можно встретить людей, испытывающих неприязнь к самой теории, которая не имеет ничего общего с непонятными головомками в программировании. А это вредит в том числе и индивидуальной карьере инженеров, которым говорят держаться подальше от этих знаний по причинам, не поддающимся логике.
В сети можно встретить такое:
🔹 Теория не отражает того, что человек будет делать на самом деле в своей работе.
🔹 Знание теории не является показателем мастерства человека в данной практической роли.
🔹 Теория вообще бессмысленна. Зачем разработчику iOS знать, что такое граф?
Всё это создает у людей впечатление, что основы бесполезны, в то время как на самом деле они используют их постоянно!
Так действительно ли нужно всё это знать? Ждем ваши реакции в комментариях 💪
👍3🤔3❤2
Чего следует ожидать от мероприятие Apple, которое состоится 12 сентября?
Анимированное лого крутое сообразили — это факт 🔥💪
Что еще:
🔹 iPhone 15 Pro, iPhone 15 Pro Max и/или iPhone 15 Ultra
🔹 iPhone 15 и iPhone 15 Plus
🔹 Apple Watch Series 9 и Apple Watch Ultra
🔹 iPad, iPad Pro и iPad mini
🔹 возможно что-то еще, но это пока покрыто тайной 😉
Анимированное лого крутое сообразили — это факт 🔥💪
Что еще:
🔹 iPhone 15 Pro, iPhone 15 Pro Max и/или iPhone 15 Ultra
🔹 iPhone 15 и iPhone 15 Plus
🔹 Apple Watch Series 9 и Apple Watch Ultra
🔹 iPad, iPad Pro и iPad mini
🔹 возможно что-то еще, но это пока покрыто тайной 😉
🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖🤔 Знаете, как реализовать анимацию встряхивания в Composable? В этом туториале все разжевывается.
В Jetpack Compose это очень легко реализовать с помощью функций анимации, которую можно применить для привлечения внимания к любому элементу. Здесь вы узнаете, как этого добиться, а также построите систему, позволяющую легко создавать трясущуюся анимацию с помощью кастомного модификатора.
В Jetpack Compose это очень легко реализовать с помощью функций анимации, которую можно применить для привлечения внимания к любому элементу. Здесь вы узнаете, как этого добиться, а также построите систему, позволяющую легко создавать трясущуюся анимацию с помощью кастомного модификатора.
❤5👍3
Тренировки по алгоритмам от Яндекса. «Сложность, тестирование, особые случаи»
В обучалке пока 12 уроков, все длинные, полезные и познавательные, поскольку алгоритмы знать не помешает любому разработчику — это базовые навыки.
Содержание этого видоса:
10:40 01. Сложность алгоритмов
15:01 Задача. Поиск самого частого символа
15:32 Решение #1
20:57 Решение #2
24:55 Решение #3
30:39 02. Особые случаи
32:19 Сумма последовательности
33:37 Максимум последовательности
35:04 03. Тестирование
38:11 Советы по составлению тестов
41:36 Покрытие тестами. Квадратное уравнение
42:31 Решение #1
42:57 Решение #2
43:55 Решение #3
44:38 Решение #4
45:58 Решение #5
46:56 Решение #6
47:44 Решение #7
48:54 Решение #8
49:27 Поиск самого частого символа
52:39 Ответы на вопросы
#лекция
В обучалке пока 12 уроков, все длинные, полезные и познавательные, поскольку алгоритмы знать не помешает любому разработчику — это базовые навыки.
Содержание этого видоса:
10:40 01. Сложность алгоритмов
15:01 Задача. Поиск самого частого символа
15:32 Решение #1
20:57 Решение #2
24:55 Решение #3
30:39 02. Особые случаи
32:19 Сумма последовательности
33:37 Максимум последовательности
35:04 03. Тестирование
38:11 Советы по составлению тестов
41:36 Покрытие тестами. Квадратное уравнение
42:31 Решение #1
42:57 Решение #2
43:55 Решение #3
44:38 Решение #4
45:58 Решение #5
46:56 Решение #6
47:44 Решение #7
48:54 Решение #8
49:27 Поиск самого частого символа
52:39 Ответы на вопросы
#лекция
👍7❤1
💼🚫 Устроился на работу, но она разонравилась: 8 советов, что делать
Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.
Читать статью
Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.
Читать статью
👍9❤1
Лучший способ просить повышение
Anonymous Poll
25%
Принести контр-оффер
6%
Усердно работать, чтобы заметили
6%
Не знаю
31%
Сменить работу
5%
Свой бизнес
16%
Показать свою ценность на этой работе
8%
Обратиться к высшему начальнику
3%
Свой вариант
👍4❤1
Создатель C++ Бьярне Страуструп поделился 👍👍 ценными жизненными советами, которыми могли бы воспользоваться все разработчики (и не только разработчики), независимо от их многолетнего опыта.
✏️ Не углубляйтесь в одно направление. Мы не знаем будущего, а наша карьера и жизнь — долгосрочная штука. Нужно и гвоздь уметь забить, грубо говоря😉. Будьте гибкими. Заводите знакомства вне компьютера, а лучше вообще не связанные с вашей деятельностью.
✏️ Больше общайтесь, доносите свои идеи, умейте слышать и слушать. Если вы напишете лучший код, и будете уметь делать только это, мир не изменится только благодаря этому.
✏️ Никогда не жалейте о чем-то, тем более, о потраченном времени на другие направления. Найдите время, чтобы вести сбалансированную жизнь и будьте готовы к новым возможностям.
✏️ Широкий набор навыков, приобретённых во время обучения, можно будет применить позже, когда придёт время. Сам Бьярне знал и изучал горы языков, предметов и информации, которые были полезны в разные периоды жизни.
✏️ Не углубляйтесь в одно направление. Мы не знаем будущего, а наша карьера и жизнь — долгосрочная штука. Нужно и гвоздь уметь забить, грубо говоря😉. Будьте гибкими. Заводите знакомства вне компьютера, а лучше вообще не связанные с вашей деятельностью.
✏️ Больше общайтесь, доносите свои идеи, умейте слышать и слушать. Если вы напишете лучший код, и будете уметь делать только это, мир не изменится только благодаря этому.
✏️ Никогда не жалейте о чем-то, тем более, о потраченном времени на другие направления. Найдите время, чтобы вести сбалансированную жизнь и будьте готовы к новым возможностям.
✏️ Широкий набор навыков, приобретённых во время обучения, можно будет применить позже, когда придёт время. Сам Бьярне знал и изучал горы языков, предметов и информации, которые были полезны в разные периоды жизни.
👍13❤3
А/Б тесты продуктовых и маркетинговых гипотез и внедрение изменений прямо в интерфейсе сервиса AppMetrica
В основе новой фичи «А/Б экспериментов» лежит «Конфигурация флагов». С её помощью можно задавать конкретные параметры тестирования: сделать флаг для нового рекламного баннера, раздела в интерфейсе.
Так продакт-менеджеры и аналитики смогут принимать более взвешенные и эффективные решения об изменениях, опираясь на статистику влияния на продуктовые метрики.
Начать пользоваться фичей в AppMetrica можно бесплатно: доступны 2 одновременных А/Б теста с выставлением 2 флагов. В платной версии масштабы увеличиваются до 2 000 различных флагов и 100 одновременных экспериментов.
В основе новой фичи «А/Б экспериментов» лежит «Конфигурация флагов». С её помощью можно задавать конкретные параметры тестирования: сделать флаг для нового рекламного баннера, раздела в интерфейсе.
Так продакт-менеджеры и аналитики смогут принимать более взвешенные и эффективные решения об изменениях, опираясь на статистику влияния на продуктовые метрики.
Начать пользоваться фичей в AppMetrica можно бесплатно: доступны 2 одновременных А/Б теста с выставлением 2 флагов. В платной версии масштабы увеличиваются до 2 000 различных флагов и 100 одновременных экспериментов.
Хабр
В AppMetrica появились А/Б тесты для анализа приложений
В сервисе AppMetrica появились А/Б тесты. Раздел называется «А/Б эксперименты» и теперь в сервисе для аналитики мобильных приложений можно не только анализировать данные работы...
👍5❤1🥱1
😎 Очередной #дайджест по Kotlin, Swift и кроссплатформе.
✍️ Появился Dagger 2.48 — выполнено несколько крупных фиксов и включает в себя альфа-версию процессоров Dagger и Hilt KSP
✍️ Разработка под ОС АВРОРА — установка Aurora SDK, где найти примеры приложений на Аврору, пара слов о документации Авроры, запуск первого приложения
✍️ Lottielab — инструмент для создания анимаций, позволяет импортировать или создать свои с нуля.
✍️ Swift UI переходы с эффектом искажения и металлическими шейдерами — суммарный эффект .distortionEffect + .overlay + .stroke
✍️ Фундаментальное руководство по пакетам в Java — серьезный материал по назначению пакетов, правилам создания, импорту классов и компиляции с запуском
✍️ Анимированный Circular Progress Indicator на Jetpack Compose — индикатор с анимированным статусом выполнения на основе текущего и максимального значений.
✍️ Появился Dagger 2.48 — выполнено несколько крупных фиксов и включает в себя альфа-версию процессоров Dagger и Hilt KSP
✍️ Разработка под ОС АВРОРА — установка Aurora SDK, где найти примеры приложений на Аврору, пара слов о документации Авроры, запуск первого приложения
✍️ Lottielab — инструмент для создания анимаций, позволяет импортировать или создать свои с нуля.
✍️ Swift UI переходы с эффектом искажения и металлическими шейдерами — суммарный эффект .distortionEffect + .overlay + .stroke
✍️ Фундаментальное руководство по пакетам в Java — серьезный материал по назначению пакетов, правилам создания, импорту классов и компиляции с запуском
✍️ Анимированный Circular Progress Indicator на Jetpack Compose — индикатор с анимированным статусом выполнения на основе текущего и максимального значений.
👍6❤1
🌍🌐 Разрабатываем карты в Android-приложении
Существует кроссплатформенная библиотека, позволяющая использовать картографические данные и технологии в мобильных приложениях — это Yandex MapKit. Штука очень масштабная, и разработчику, впервые столкнувшемуся с ней, заставить Яндекс-карты работать, может показаться сложной в использовании.
Начало
Чтобы создать и запустить приложение понадобится:
➖ Получить ключ;
➖ Установить библиотеку MapKit;
➖ Настроить библиотеку;
➖ Собрать и запустить приложение.
Особенности:
🔹 Необходим базовый уровень Kotlin; умение собрать проект, запустить приложение на эмуляторе или телефоне, загрузить необходимые библиотеки; View Binding.
🔹 Нельзя скрывать логотип Яндекса на карте; в приложении в разделе «о программе» должна быть ссылка на условия использования Яндекс-карт.
🔹 API-ключ должен быть задан единожды перед инициализацией MapKitFactory. Хорошо бы задать ключ при запуске приложения в методе Application.onCreate(), а инициализировать уже в других необходимых активити и фрагментах. Если же при каких-то условиях будет повторно вызван MapKitFactory.setApiKey("Ваш API-ключ"), вы получите краш приложения и ошибку в логах: "java.lang.AssertionError: You need to set the API key before using MapKit!".
🔹 Если логика и API-ключ находятся в одном активити/фрагменте, раздувать макет необходимо только после установки ключа.
🔹 Выполнять проверку установки ключа при пересоздания активити/фрагмента, например, для вызова метода MapKitFactory.setApiKey("Ваш API-ключ").
Подробнее
#туториал
Существует кроссплатформенная библиотека, позволяющая использовать картографические данные и технологии в мобильных приложениях — это Yandex MapKit. Штука очень масштабная, и разработчику, впервые столкнувшемуся с ней, заставить Яндекс-карты работать, может показаться сложной в использовании.
Начало
Чтобы создать и запустить приложение понадобится:
➖ Получить ключ;
➖ Установить библиотеку MapKit;
➖ Настроить библиотеку;
➖ Собрать и запустить приложение.
Особенности:
🔹 Необходим базовый уровень Kotlin; умение собрать проект, запустить приложение на эмуляторе или телефоне, загрузить необходимые библиотеки; View Binding.
🔹 Нельзя скрывать логотип Яндекса на карте; в приложении в разделе «о программе» должна быть ссылка на условия использования Яндекс-карт.
🔹 API-ключ должен быть задан единожды перед инициализацией MapKitFactory. Хорошо бы задать ключ при запуске приложения в методе Application.onCreate(), а инициализировать уже в других необходимых активити и фрагментах. Если же при каких-то условиях будет повторно вызван MapKitFactory.setApiKey("Ваш API-ключ"), вы получите краш приложения и ошибку в логах: "java.lang.AssertionError: You need to set the API key before using MapKit!".
🔹 Если логика и API-ключ находятся в одном активити/фрагменте, раздувать макет необходимо только после установки ключа.
🔹 Выполнять проверку установки ключа при пересоздания активити/фрагмента, например, для вызова метода MapKitFactory.setApiKey("Ваш API-ключ").
Подробнее
#туториал
👍6❤1
Со всеми хоть раз бывало, что хочется узнать, как написан UI в приложение, какие инструменты использованы и прочее.
Узнать всю поднаготину можно на своем любимом девайсе, активировав в настройках разработчика Layout Bounds.
Как активировать
На сайте Android, есть дока с подробностями, но в целом, это делается так:
🔹 Google Pixel: Настройки > О телефоне > Номер сборки
🔹 Samsung Galaxy S8 и старше: Настройки > О телефоне > Информация о ПО > Номер сборки
🔹 LG G6 и старше: Настройки > О телефоне > Информация о ПО > Номер сборки
🔹 HTC U11 и старше: Настройки > Информация о ПО > Далее > Номер сборки или Настройки > Система > О телефоне > Информация о ПО > Далее > Номер сборки
🔹 OnePlus 5T и старше: Настройки > О телефоне > Номер сборки
И тыкаем по номеру сборки, пока не появится сообщение. Теперь все включено и можно идти активировать Layout Bounds.
Отображение границ макета
Обычно он отображается в разделе системных настроек. Кроме того, его можно найти в разделе «Для разработчиков» в разделе «Система и обновления».
Перейдите к опции «Показывать границы макета» в разделе «Рисование» и включите ее. Теперь все, что отображается на экране, будет обведено различными цветными рамками.
Подробнее тут
#туториал
Узнать всю поднаготину можно на своем любимом девайсе, активировав в настройках разработчика Layout Bounds.
Как активировать
На сайте Android, есть дока с подробностями, но в целом, это делается так:
🔹 Google Pixel: Настройки > О телефоне > Номер сборки
🔹 Samsung Galaxy S8 и старше: Настройки > О телефоне > Информация о ПО > Номер сборки
🔹 LG G6 и старше: Настройки > О телефоне > Информация о ПО > Номер сборки
🔹 HTC U11 и старше: Настройки > Информация о ПО > Далее > Номер сборки или Настройки > Система > О телефоне > Информация о ПО > Далее > Номер сборки
🔹 OnePlus 5T и старше: Настройки > О телефоне > Номер сборки
И тыкаем по номеру сборки, пока не появится сообщение. Теперь все включено и можно идти активировать Layout Bounds.
Отображение границ макета
Обычно он отображается в разделе системных настроек. Кроме того, его можно найти в разделе «Для разработчиков» в разделе «Система и обновления».
Перейдите к опции «Показывать границы макета» в разделе «Рисование» и включите ее. Теперь все, что отображается на экране, будет обведено различными цветными рамками.
Подробнее тут
#туториал
❤25🔥14🥰13👏10👍5
Google play начал банить приложения, которые обещают ускорить работу смартфона (хотя этим и не ускоришь особо...). Теперь всякие клинеры продаваться не будут.
Gradle VS Bazel. Разработчики рассказали, как у кого проходит сборка, кто быстрее, причем тут ABI.
Android Studio Iguana. Запилили апдейт на новую версии IDEA 2023.2 со всеми фишками + Gradle 8.3, а еще, в baseline profile можно будет не писать все руками, а работать через UI Android Studio.
OK.Tech выпустил Tracer (замена Firebase Analytics) для анализа ошибок, крашей, собирать инфу о месте на диске, дампе памяти и много других полезностей.
Вышел ChatGPT Enterprise для корпоративных клиентов на базе GPT4.
Появился стабильный Compse Multiplatform 1.5.0 с поддержкой обновления библиотек Compose 1.5.0.
#новости
Gradle VS Bazel. Разработчики рассказали, как у кого проходит сборка, кто быстрее, причем тут ABI.
Android Studio Iguana. Запилили апдейт на новую версии IDEA 2023.2 со всеми фишками + Gradle 8.3, а еще, в baseline profile можно будет не писать все руками, а работать через UI Android Studio.
OK.Tech выпустил Tracer (замена Firebase Analytics) для анализа ошибок, крашей, собирать инфу о месте на диске, дампе памяти и много других полезностей.
Вышел ChatGPT Enterprise для корпоративных клиентов на базе GPT4.
Появился стабильный Compse Multiplatform 1.5.0 с поддержкой обновления библиотек Compose 1.5.0.
#новости
🔥7👍2
Как сохранять данные и управлять ими с помощью Core Data в Swift
В этом гайде вы познакомитесь с основами Core Data, которая позволяет сохранять или кэшировать данные локально на устройстве.
Спикер проведет сравнение между использованием structs и Core Data, показывая преимущества последнего.
Содержание:
01:41 Что такое Core Data
06:02 Пример проекта
10:39 Определение модели для задачи
25:37 Добавление инициализатора
28:40 Что такое Core Data Stack
31:15 Как настроить ваш проект Xcode с помощью контейнера Core Data Container
35:01 Xcode превью на Core Data
38:29 Удаление объектов Core Data
40:56 Выборка данных с помощью NSFetchRequest
46:21 Работа над Sidebar view для использования Core Data
52:19 Изменение Task List View
58:45 Как использовать Relationships
1:08:25 Добавление Subtasks
1:18:57 Анимирование Core Data в Swiftui
1:19:40 Сохранение изменений в Core Data
В этом гайде вы познакомитесь с основами Core Data, которая позволяет сохранять или кэшировать данные локально на устройстве.
Спикер проведет сравнение между использованием structs и Core Data, показывая преимущества последнего.
Содержание:
01:41 Что такое Core Data
06:02 Пример проекта
10:39 Определение модели для задачи
25:37 Добавление инициализатора
28:40 Что такое Core Data Stack
31:15 Как настроить ваш проект Xcode с помощью контейнера Core Data Container
35:01 Xcode превью на Core Data
38:29 Удаление объектов Core Data
40:56 Выборка данных с помощью NSFetchRequest
46:21 Работа над Sidebar view для использования Core Data
52:19 Изменение Task List View
58:45 Как использовать Relationships
1:08:25 Добавление Subtasks
1:18:57 Анимирование Core Data в Swiftui
1:19:40 Сохранение изменений в Core Data
❤8👏2
🔥✍️ Если вы пробовали писать виджеты, то знаете, насколько это больно и неприятно.
Но с появлением Compose, начали создавать интересный фреймоврк — Jetpack Glance, который позволяет создавать виджеты, используя Compose: а это значит, что стало меньше ограничений, больше возможностей для дебага, да и вообще создавать их приятнее.
Зависимости:
Чтобы добавить зависимость от Glance, пропишите репозиторий Google Maven в проект.
А для необходимых артефактов добавьте следующие зависимости в build.gradle:
dependencies {
// Для поддержки Glance
implementation("androidx.glance:glance:1.0.0-rc01")
// Для поддержки AppWidgets
implementation("androidx.glance:glance-appwidget:1.0.0-rc01")
// Для поддержки Wear-Tiles
implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05")
}
android {
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.1.0-beta03"
}
kotlinOptions {
jvmTarget = "1.8"
}
}
Эта штука пока находится в стадии релиз-кандидата (до этого 5 альф и 1 бета), поэтому есть крупный шанс, что оно таки увидит свет, а значит, нужно готовиться 💪🧑💻
#софт
Но с появлением Compose, начали создавать интересный фреймоврк — Jetpack Glance, который позволяет создавать виджеты, используя Compose: а это значит, что стало меньше ограничений, больше возможностей для дебага, да и вообще создавать их приятнее.
Зависимости:
Чтобы добавить зависимость от Glance, пропишите репозиторий Google Maven в проект.
А для необходимых артефактов добавьте следующие зависимости в build.gradle:
dependencies {
// Для поддержки Glance
implementation("androidx.glance:glance:1.0.0-rc01")
// Для поддержки AppWidgets
implementation("androidx.glance:glance-appwidget:1.0.0-rc01")
// Для поддержки Wear-Tiles
implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05")
}
android {
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.1.0-beta03"
}
kotlinOptions {
jvmTarget = "1.8"
}
}
Эта штука пока находится в стадии релиз-кандидата (до этого 5 альф и 1 бета), поэтому есть крупный шанс, что оно таки увидит свет, а значит, нужно готовиться 💪🧑💻
#софт
❤6👏4🥰1
Пишете под iOS или Android? Тогда скорее подавайте заявку на участие в мероприятии, которое пройдет 16–17 сентября.
Приглашаются разработчики на Swift под iOS и на Kotlin или Java под Android с опытом от трех лет.
Как проходит Mobile Weekend Offer:
➖ Вступительная часть: 30 минут. Расскажут о проектах и процессе интервью
➖ Кодинг и общение с экспертами: 120 минут. Попросят решить несколько задач, спросят про ваш подход к работе
➖ Знакомство с командами: 60 минут. Познакомят вас с будущими коллегами из разных проектов
➖ Оффер. Если все прошло хорошо, сделают оффер в течение трех дней
#мероприятие
Приглашаются разработчики на Swift под iOS и на Kotlin или Java под Android с опытом от трех лет.
Как проходит Mobile Weekend Offer:
➖ Вступительная часть: 30 минут. Расскажут о проектах и процессе интервью
➖ Кодинг и общение с экспертами: 120 минут. Попросят решить несколько задач, спросят про ваш подход к работе
➖ Знакомство с командами: 60 минут. Познакомят вас с будущими коллегами из разных проектов
➖ Оффер. Если все прошло хорошо, сделают оффер в течение трех дней
#мероприятие
Т‑Банк
Работа в ИТ
Вакансии для разработчиков, аналитиков, продактов, дизайнеров и других специалистов
❤7🥱7🤔2
😎 Очередной #дайджест по Kotlin, Swift и кроссплатформе
✍️ Простая анимация для всплывающего окна — реализация простой анимации для UIView из ViewController и кнопки
✍️ Изучаем новый Preview Macro на Swift UI и UIKit — работа с изображением с помощью PreviewProvider, UIViewController и кнопки с переходом
✍️ Кодогенерация. KAPT. KSP. Manual DI — для избавления от рефлексии, которая сильно тормозит скорость работы приложения в рантайме
✍️ Пошаговое руководство по тестированию скриншотов в Android — как реализовать тестирование скриншотов с помощью библиотеки Shot и отслеживать регрессию
✍️ Распознаем паспорт РФ в PWA — все работает через несколько скриптов: работа с камерой, передача потока изображений, сервис воркера и определение WASM сборки
✍️ Чего стоит ожидать в React Native — анализ развития опираясь на фреймворк Expo, работы группы Software Mansion, Callstack и Meta
✍️ Простая анимация для всплывающего окна — реализация простой анимации для UIView из ViewController и кнопки
✍️ Изучаем новый Preview Macro на Swift UI и UIKit — работа с изображением с помощью PreviewProvider, UIViewController и кнопки с переходом
✍️ Кодогенерация. KAPT. KSP. Manual DI — для избавления от рефлексии, которая сильно тормозит скорость работы приложения в рантайме
✍️ Пошаговое руководство по тестированию скриншотов в Android — как реализовать тестирование скриншотов с помощью библиотеки Shot и отслеживать регрессию
✍️ Распознаем паспорт РФ в PWA — все работает через несколько скриптов: работа с камерой, передача потока изображений, сервис воркера и определение WASM сборки
✍️ Чего стоит ожидать в React Native — анализ развития опираясь на фреймворк Expo, работы группы Software Mansion, Callstack и Meta
👍21🔥4❤2👏1
Еще лет 10 назад, только работники финансовой отрасли, помощники руководителей и менеджеры могли жаловаться на деградацию своих навыков и потерю знаний.
Учителя отмечают положительное влияние нынешней работы на профессиональное развитие. Рост и развитие в профессии отмечает большинство дизайнеров и медсестер. Программисты чаще системных администраторов отмечают, что развиваются в профессиональном плане на своей работе.
В целом по рынку труда 46% трудоустроенных россиян отмечают, что их работа позволяет развиваться в профессии, 35% не замечают роста и развития, но и не теряют навыки, 12% заявили о негативном влиянии работы на профессиональное развитие.
Учителя отмечают положительное влияние нынешней работы на профессиональное развитие. Рост и развитие в профессии отмечает большинство дизайнеров и медсестер. Программисты чаще системных администраторов отмечают, что развиваются в профессиональном плане на своей работе.
В целом по рынку труда 46% трудоустроенных россиян отмечают, что их работа позволяет развиваться в профессии, 35% не замечают роста и развития, но и не теряют навыки, 12% заявили о негативном влиянии работы на профессиональное развитие.
❤6👍2👏1
Как вы считаете, какое влияние оказывает на ваше профессиональное развитие ваша нынешняя работа?
Anonymous Poll
52%
Положительное - я профессионально развиваюсь и расту
13%
Негативное - я теряю проф.навыки
31%
Никакое - я не развиваюсь, но и ничего не теряю
4%
Свой вариант
❤2👍2