Apple обновила гайдлайны к App Store
— Если некоторые функции зависят от учётной записи пользователей в приложении, то разработчики должны предоставить полный доступ к приложению с активной демо-учётной записью или полнофункциональным демо режимом для Review.
— Приложения могут использовать NFT, но с некоторыми ограничениями. Например, приложения могут позволять пользователям просматривать NFT при условии, что там нет кнопок, внешних ссылок или других призывов к действию для покупки.
— Стандарт «умного дома» Matter: приложения должны использовать фреймворк Apple для поддержки Matter. Если используются другие Matter SDK, то они должны быть сертифицированы.
Подробнее о всех изменениях по ссылке:
https://developer.apple.com/news/?id=xk8d7p8c
#ios
— Если некоторые функции зависят от учётной записи пользователей в приложении, то разработчики должны предоставить полный доступ к приложению с активной демо-учётной записью или полнофункциональным демо режимом для Review.
— Приложения могут использовать NFT, но с некоторыми ограничениями. Например, приложения могут позволять пользователям просматривать NFT при условии, что там нет кнопок, внешних ссылок или других призывов к действию для покупки.
— Стандарт «умного дома» Matter: приложения должны использовать фреймворк Apple для поддержки Matter. Если используются другие Matter SDK, то они должны быть сертифицированы.
Подробнее о всех изменениях по ссылке:
https://developer.apple.com/news/?id=xk8d7p8c
#ios
👍7🤮1
JetBrains объявила конкурс на приложения, написанные на KMP
Требования к проекту:
— Приложение должно работать как минимум на двух разных платформах.
— Проект на свободную тему, но JB будем оценивать работу, основываясь на креативности идеи и на том, как она подкрепляется мультиплатформенностью Kotlin.
— Проект должен быть индивидуальным. Можно использовать и другие проекты с открытым исходным кодом, но у каждого проекта должен быть один автор.
3 победителя поедут на KotlinConf’23.
Источник:
https://blog.jetbrains.com/kotlin/2022/10/join-the-kotlin-multiplatform-contest/
#kotlin
Требования к проекту:
— Приложение должно работать как минимум на двух разных платформах.
— Проект на свободную тему, но JB будем оценивать работу, основываясь на креативности идеи и на том, как она подкрепляется мультиплатформенностью Kotlin.
— Проект должен быть индивидуальным. Можно использовать и другие проекты с открытым исходным кодом, но у каждого проекта должен быть один автор.
3 победителя поедут на KotlinConf’23.
Источник:
https://blog.jetbrains.com/kotlin/2022/10/join-the-kotlin-multiplatform-contest/
#kotlin
The JetBrains Blog
Join the Kotlin Multiplatform Contest and Win a Trip to KotlinConf’23! | The Kotlin Blog
Showcase your creativity by building a Kotlin Multiplatform project using the technology that will help shape the future. If your entry makes it into the top 3, you’ll win a trip to KotlinConf’23!
👍9👎5🤮2🖕2
Модульность и SwiftUI в современном iOS-приложении
Как эффективно реализовать модульную архитектуру с помощью SwiftUI? В этом статье разбираются некоторые подходы:
— как работать с обратными вызовами и потоками данных,
— основы использования Combine и SwiftUI,
— реализация ObservableObject,
— почему следует избегать использования EnvironmentObject.
Подробнее:
https://levelup.gitconnected.com/ios-app-as-a-microservice-using-swiftui-in-modular-app-f40182f5e52a
#swiftui #ios
Как эффективно реализовать модульную архитектуру с помощью SwiftUI? В этом статье разбираются некоторые подходы:
— как работать с обратными вызовами и потоками данных,
— основы использования Combine и SwiftUI,
— реализация ObservableObject,
— почему следует избегать использования EnvironmentObject.
Подробнее:
https://levelup.gitconnected.com/ios-app-as-a-microservice-using-swiftui-in-modular-app-f40182f5e52a
#swiftui #ios
🔥5❤🔥1👍1
Как улучшить код в проекте на Flutter
В этой статье автор реализовал несколько примеров расширений с объяснением, как они используются: для форм, операций со списками, изображений и т.д.
Эти простые советы помогут улучшить код начинающим и сделают его более читаемым на Dart:
https://tprg.ru/5Ztu
#flutter #dart
В этой статье автор реализовал несколько примеров расширений с объяснением, как они используются: для форм, операций со списками, изображений и т.д.
Эти простые советы помогут улучшить код начинающим и сделают его более читаемым на Dart:
https://tprg.ru/5Ztu
#flutter #dart
👍7💩7
Исследование: автоматизация тестирования в проектах
Команда Kaspresso провела опрос среди разработчиков из 30 разных компаний (Spotify, Revolut, HH и другие) по автотестам в их приложениях. Результаты из исследования:
1. У 1/3 команд написано больше 1000 UI тестов, рекорд — 11000.
2. Более половины запускают тесты на PR, около 25% — на ночных сборках.
3. Компании в среднем ограничиваются только 5 эмуляторами.
4. 90% опрошенных используют нативные тесты.
Также в исследовании были вопросы про используемые технологии и как компании организовывает инфраструктуру, подробнее в статье:
https://habr.com/ru/post/695244/
#исследование
Команда Kaspresso провела опрос среди разработчиков из 30 разных компаний (Spotify, Revolut, HH и другие) по автотестам в их приложениях. Результаты из исследования:
1. У 1/3 команд написано больше 1000 UI тестов, рекорд — 11000.
2. Более половины запускают тесты на PR, около 25% — на ночных сборках.
3. Компании в среднем ограничиваются только 5 эмуляторами.
4. 90% опрошенных используют нативные тесты.
Также в исследовании были вопросы про используемые технологии и как компании организовывает инфраструктуру, подробнее в статье:
https://habr.com/ru/post/695244/
#исследование
👍9❤1
Оптимизация приложений (Go edition): уроки из Google apps
Серия статей, в которой разбираются инструменты для анализа производительности, причины низкой производительности приложения, а также советы для его улучшения.
Часть 1: Требования к оперативной памяти, разбор onTrimMemory(), оптимизация использования памяти в Android приложениях.
Часть 2: Задержка при запуске приложений, причины и оптимизация.
Часть 3: Разбор инструментов: meminfo, App Startup, CPU Profiler Baseline Profiles, Perfetto и других.
#android
Серия статей, в которой разбираются инструменты для анализа производительности, причины низкой производительности приложения, а также советы для его улучшения.
Часть 1: Требования к оперативной памяти, разбор onTrimMemory(), оптимизация использования памяти в Android приложениях.
Часть 2: Задержка при запуске приложений, причины и оптимизация.
Часть 3: Разбор инструментов: meminfo, App Startup, CPU Profiler Baseline Profiles, Perfetto и других.
#android
👍7
Делегаты в Android приложениях
Одна из полезных фич в Kotlin — делегированные свойства или просто делегаты. По сути, делегат — это всего лишь класс с двумя методами: для получения и присвоения свойству.
Пример из этой статьи основан на паттерне MVVM. Логика приложения достаточно упрощена, RecyclerView заменён на ScrollView + Linearlayout, чтобы проще организовать код и объяснить применение делегатов в Android-приложении:
https://habr.com/ru/company/constanta/blog/696162/
#kotlin #android
Одна из полезных фич в Kotlin — делегированные свойства или просто делегаты. По сути, делегат — это всего лишь класс с двумя методами: для получения и присвоения свойству.
Пример из этой статьи основан на паттерне MVVM. Логика приложения достаточно упрощена, RecyclerView заменён на ScrollView + Linearlayout, чтобы проще организовать код и объяснить применение делегатов в Android-приложении:
https://habr.com/ru/company/constanta/blog/696162/
#kotlin #android
👍9🥴3
Оптимизация изображений с помощью расширений Firebase на Flutter
В статье рассматривается, как создать простое приложение для публикаций сторис. Для контроля размера изображений, загружаемых пользователями, автор использует готовый плагин Resize Images.
Resize Image — это библиотека, которая позволяет создать новое изображение меньшего размера и сохранить его в хранилище Firebase.
Подробнее о том, как настроить плагин в проекте, а также как правильно прописать путь после изменений по ссылке:
https://invertase.io/blog/image-optimization-with-firebase-extensions
#flutter
В статье рассматривается, как создать простое приложение для публикаций сторис. Для контроля размера изображений, загружаемых пользователями, автор использует готовый плагин Resize Images.
Resize Image — это библиотека, которая позволяет создать новое изображение меньшего размера и сохранить его в хранилище Firebase.
Подробнее о том, как настроить плагин в проекте, а также как правильно прописать путь после изменений по ссылке:
https://invertase.io/blog/image-optimization-with-firebase-extensions
#flutter
👍6
Основы MockK для написания юнит-тестов
MockK — библиотека с открытым исходным кодом для тестирования Kotlin. Используя MockK, можно изменять зависимости в тестируемых классах с помощью заглушек и моков (stubs & mocks), имитируя поведение реальных объектов.
В этом видеоуроке автор подробно рассказывает, зачем нужна эта библиотека MockK, а также как подключить и написать тесты с её помощью:
https://youtu.be/60uVfjh7QdE
#kotlin
MockK — библиотека с открытым исходным кодом для тестирования Kotlin. Используя MockK, можно изменять зависимости в тестируемых классах с помощью заглушек и моков (stubs & mocks), имитируя поведение реальных объектов.
В этом видеоуроке автор подробно рассказывает, зачем нужна эта библиотека MockK, а также как подключить и написать тесты с её помощью:
https://youtu.be/60uVfjh7QdE
#kotlin
👍12
Виды штрих-кодов, особенности и обходные пути в Apple Wallet
Наверняка вы знаете, что Apple Wallet поддерживает только определённые типы штрих-кодов — в основном это 2D.
В этой статье автор собрал в один список все доступные виды штрих-кодов, а также объяснил проблемы их создания для Apple Wallet:
https://tprg.ru/sdk5
#iOS
Наверняка вы знаете, что Apple Wallet поддерживает только определённые типы штрих-кодов — в основном это 2D.
В этой статье автор собрал в один список все доступные виды штрих-кодов, а также объяснил проблемы их создания для Apple Wallet:
https://tprg.ru/sdk5
#iOS
👍4
5 полезных расширений в VS Code для Flutter-разработчиков
1. Better Comments — позволяет выделять комментарии разными цветами.
2. Pubspec Assist — для быстрого поиска. Как только вы введёте название пакета, расширение автоматически отобразит последний пакет в вашем pubspec.yaml-файле.
3. Awesome Flutter Snippets — это коллекция сниппетов для часто используемых методов, классов и виджетов во Flutter. Также, расширение позволяет писать код быстрее, например набрав только singleChildSV для SingleChildScrollView.
4. Flutter Stylizer — организует Flutter классы последовательным образом.
5. Json to Dart Model — преобразует скопированный вами JSON в класс Dart (есть ограничения).
#flutter
1. Better Comments — позволяет выделять комментарии разными цветами.
2. Pubspec Assist — для быстрого поиска. Как только вы введёте название пакета, расширение автоматически отобразит последний пакет в вашем pubspec.yaml-файле.
3. Awesome Flutter Snippets — это коллекция сниппетов для часто используемых методов, классов и виджетов во Flutter. Также, расширение позволяет писать код быстрее, например набрав только singleChildSV для SingleChildScrollView.
4. Flutter Stylizer — организует Flutter классы последовательным образом.
5. Json to Dart Model — преобразует скопированный вами JSON в класс Dart (есть ограничения).
#flutter
👍11😐6👎1
Преобразования проекта из Figma в Jetpack Compose
Relay — плагин от Google для Android Studio, который импортирует UI-пакеты и создаёт код Jetpack Compose.
На данный момент плагин находится в стадии альфа-тестирования, но уже есть несколько доступных уроков с объяснением реализации данной библиотеки в проекте. Один из них от Филлипа Лакнера:
https://youtu.be/byOmrmXG4yQ
#compose #android
Relay — плагин от Google для Android Studio, который импортирует UI-пакеты и создаёт код Jetpack Compose.
На данный момент плагин находится в стадии альфа-тестирования, но уже есть несколько доступных уроков с объяснением реализации данной библиотеки в проекте. Один из них от Филлипа Лакнера:
https://youtu.be/byOmrmXG4yQ
#compose #android
🔥6
Руководство по Passkey на iOS 16
В статье разбирается новая система авторизации пользователей, которую Apple представила на WWDC22.
Для примера, автор реализует простое приложение, где пользователь должен ввести свои данные — username (имя или ник) для регистрации и сохраняет Passkey на устройство. В статье также объясняются API запросы для бэкенда, чтобы добавить Passkey в проект:
https://quickbirdstudios.com/blog/ios-passkeys/
#ios
В статье разбирается новая система авторизации пользователей, которую Apple представила на WWDC22.
Для примера, автор реализует простое приложение, где пользователь должен ввести свои данные — username (имя или ник) для регистрации и сохраняет Passkey на устройство. В статье также объясняются API запросы для бэкенда, чтобы добавить Passkey в проект:
https://quickbirdstudios.com/blog/ios-passkeys/
#ios
👍4
Подборка актуальных вакансий
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
#вакансии #работа
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
#вакансии #работа
💩17
Kotlin: функции-расширения
Kotlin Extensions используются, чтобы расширить базовый класс без использования шаблонов проектирования. При правильном использовании с помощью таких функций можно улучшить читабельность кода в проекте.
В этой статье рассматриваются варианты, когда функции расширения помогают избавиться от однотипного кода и упрощают некоторые методы:
https://habr.com/ru/post/697908/
#kotlin
Kotlin Extensions используются, чтобы расширить базовый класс без использования шаблонов проектирования. При правильном использовании с помощью таких функций можно улучшить читабельность кода в проекте.
В этой статье рассматриваются варианты, когда функции расширения помогают избавиться от однотипного кода и упрощают некоторые методы:
https://habr.com/ru/post/697908/
#kotlin
👍8
Android: Диалоговые окна
Вероятно, вы уже знаете всё про создание нового диалогового окна на Android, но в этой статье автор решил отойти от традиционного способа реализации и раскритиковать гайды от Google.
С какими проблемами сталкиваются разработчики при работе с Jetpack Navigation, DialogFragments и FragmentManager — в статье:
https://tprg.ru/CTgF
#android
Вероятно, вы уже знаете всё про создание нового диалогового окна на Android, но в этой статье автор решил отойти от традиционного способа реализации и раскритиковать гайды от Google.
С какими проблемами сталкиваются разработчики при работе с Jetpack Navigation, DialogFragments и FragmentManager — в статье:
https://tprg.ru/CTgF
#android
👍4👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Видеоплеер на SwiftUI (iOS 14+)
Небольшой урок, как реализовать видеоплеер в приложении с помощью AVKit. Фреймворк AVKit позволяет воспроизводить видео на SwiftUI без необходимости переноса функциональности из UIKit.
Подробнее: https://medium.com/devtechie/videoplayer-in-swiftui-ios-14-8049b61e2fc2
#swiftui
Небольшой урок, как реализовать видеоплеер в приложении с помощью AVKit. Фреймворк AVKit позволяет воспроизводить видео на SwiftUI без необходимости переноса функциональности из UIKit.
Подробнее: https://medium.com/devtechie/videoplayer-in-swiftui-ios-14-8049b61e2fc2
#swiftui
👍6
Amazon Web Services открыла бесплатный доступ к 120 англоязычным курсам
На официальном сайте можно выбрать и бесплатно загрузить любой курс по работе с облачным сервисом AWS, например, по линейной и логистической регрессии или анализу потоковых данных.
Акция продлится до 9 декабря, но доступ уже к загруженным курсам открыт до 28 апреля 2023. Полный список доступных уроков:
https://tprg.ru/9NZs
#курсы
На официальном сайте можно выбрать и бесплатно загрузить любой курс по работе с облачным сервисом AWS, например, по линейной и логистической регрессии или анализу потоковых данных.
Акция продлится до 9 декабря, но доступ уже к загруженным курсам открыт до 28 апреля 2023. Полный список доступных уроков:
https://tprg.ru/9NZs
#курсы
👍9
Технология AR в мобильных приложениях
По статистике ожидается, что к 2026 рынок AR-приложений вырастет на 44%. Уже сейчас технология AR становится популярной в приложениях для предоставления услуг и функций. Стоит ли добавлять данную технологию в проект?
Как работает технология AR, а также об ограничениях мобильной дополненной реальности рассказали подробно в статье:
https://tprg.ru/jcVi
#it
По статистике ожидается, что к 2026 рынок AR-приложений вырастет на 44%. Уже сейчас технология AR становится популярной в приложениях для предоставления услуг и функций. Стоит ли добавлять данную технологию в проект?
Как работает технология AR, а также об ограничениях мобильной дополненной реальности рассказали подробно в статье:
https://tprg.ru/jcVi
#it
👍6🥱1
Задачи с собеседований на Android разработчика
В статье разбираются примеры задач, которые довольно часто дают на собеседованиях по Fragment, ViewModel и Activity.
Автор разобрал ошибки в ответах начинающих, а также объяснил правильные ответы:
https://tprg.ru/vOjm
#собеседование #android
В статье разбираются примеры задач, которые довольно часто дают на собеседованиях по Fragment, ViewModel и Activity.
Автор разобрал ошибки в ответах начинающих, а также объяснил правильные ответы:
https://tprg.ru/vOjm
#собеседование #android
👍19