Тест для iOS-разработчиков от OTUS
Пройдите тест и проверьте свой уровень знаний Swift. Результат получите мгновенно.
Пройти тест: https://otus.pw/kDV6/
Пройдете успешно тест, получите доступ к бесплатным вебинарам курса «iOS Developer. Professiona» и бонус в виде скидки 20% на курс по промокоду BLACKFRIDAY22
!
Пройдите тест, смотрите открытые уроки - и приходите учиться.
Реклама ООО «Отус онлайн-образование» LjN8Jvub8
Идеи проектов для начинающих iOS-разработчиков
1. Flappy Fly Bird — проект с открытым исходным кодом по мотивам классики аркадного жанра на Swift 5.5, GameplayKit, SpriteKit и iOS 12.
2. CoronaTracker — приложение для отслеживания COVID-19 для iOS и macOS с картами и диаграммами. Данные обновляется автоматически по городам и странам.
3. Coffee-Ratio — приложение создано для любителей кофе и помогает пользователю рассчитать соотношение воды и кофе для каждой порции.
#ios
Как начать карьеру в сфере IT с нуля?
В среднем люди проводят в телефоне 4 часа в день. При этом в 80% случаев их телефон работает на Android-платформе. Неудивительно, что особой востребованностью в IT отличается разработка под Android.
Узнайте больше о карьере в IT с нуля на бесплатных вебинарах онлайн-курса «Специализация Android-разработчик» на Kotlin от OTUS и Альфа Банка:
— «Делаем упрощенный аналог приложения Notion»: регистрация
— «Управление базой данных в андроиде на примере Room»: регистрация
— «View фреймворк в андроиде»: регистрация
Не упустите шанс получить новые навыки. Регистрируйтесь сегодня!
Реклама ООО «Отус онлайн-образование»
Взаимодействие с Kotlin из Swift
В статье разбираются ограничения в работе Swift и Kotlin, а также сложности интеграции на iOS. Для решения этих проблем Алексей Михайлов, технический директор компании IceRock Development, сравнивает три варианта: Sourcery, компиляторные плагины Kotlin и Gradle-плагины:
https://habr.com/ru/post/697966/#Integracija-na-raznyh-platformah-v-chem-problema-c-iOS
#ios #android
Jetpack Compose: библиотеки и дополнения
1. Accompanist — это группа библиотек от Google для дополнения Jetpack Compose функциями, которые обычно требуются разработчикам: Flow Layouts, Pager, Placeholder и т.д.
2. Landscapist — библиотека загрузки изображений для Jetpack Compose с поддержкой Glide, Coil и Fresco.
Также библиотека поддерживает анимацию загрузки и переходов.
3. ComposeCookBook — библиотека виджетов, макетов, анимаций и просто примеров UI-дизайна приложений на Jetpack Compose.
#compose
Фишки и полезные советы для эффективной работы в Xcode
Command+Shift+J и Command+Shift+O — однозначно полезные комбинации клавиш, но в Xcode есть много других классных фишек, которые полезно знать разработчикам.
Какие? В этом видео собрали более 30 советов для работы с Xcode:
https://youtu.be/40imnmzsmxk
#ios
Задачи с собеседований на Android разработчика
В статье разбираются примеры задач, которые довольно часто дают на собеседованиях по Fragment, ViewModel и Activity.
Автор разобрал ошибки в ответах начинающих, а также объяснил правильные ответы:
https://tprg.ru/vOjm
#собеседование #android
Прокачайте навыки iOS-разработки на кейсах из практики
OTUS приглашает 17 ноября в 20:00 по МСК на открытый урок «Machine Learning в iOS с помощью CoreML и CreateML: изображения, текст, звук».
На вебинаре за 1,5 часа с преподавателем Ексеем Пантелеевым вы разберёте:
- Типы архитектур нейронных сетей для обучения на классификацию, генерацию и другие задачи;
- Обучение для CoreML на текстовых датасетах;
- Классификация звука через CreateML;
- Обучение на CNN архитектуре для переноса стиля изображения;
Вебинар является частью программы онлайн-курса «iOS Developer. Professional».
Регистрируйтесь на вебинар по ссылке: https://otus.pw/JJ8K/
Реклама ООО «Отус онлайн-образование» LjN8KTx33
Видеоплеер на SwiftUI (iOS 14+)
Небольшой урок, как реализовать видеоплеер в приложении с помощью AVKit. Фреймворк AVKit позволяет воспроизводить видео на SwiftUI без необходимости переноса функциональности из UIKit.
Подробнее: https://medium.com/devtechie/videoplayer-in-swiftui-ios-14-8049b61e2fc2
#swiftui
Android: Диалоговые окна
Вероятно, вы уже знаете всё про создание нового диалогового окна на Android, но в этой статье автор решил отойти от традиционного способа реализации и раскритиковать гайды от Google.
С какими проблемами сталкиваются разработчики при работе с Jetpack Navigation, DialogFragments и FragmentManager — в статье:
https://tprg.ru/CTgF
#android
Подборка актуальных вакансий
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
#вакансии #работа
Преобразования проекта из Figma в Jetpack Compose
Relay — плагин от Google для Android Studio, который импортирует UI-пакеты и создаёт код Jetpack Compose.
На данный момент плагин находится в стадии альфа-тестирования, но уже есть несколько доступных уроков с объяснением реализации данной библиотеки в проекте. Один из них от Филлипа Лакнера:
https://youtu.be/byOmrmXG4yQ
#compose #android
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
Основы MockK для написания юнит-тестов
MockK — библиотека с открытым исходным кодом для тестирования Kotlin. Используя MockK, можно изменять зависимости в тестируемых классах с помощью заглушек и моков (stubs & mocks), имитируя поведение реальных объектов.
В этом видеоуроке автор подробно рассказывает, зачем нужна эта библиотека MockK, а также как подключить и написать тесты с её помощью:
https://youtu.be/60uVfjh7QdE
#kotlin
Делегаты в Android приложениях
Одна из полезных фич в Kotlin — делегированные свойства или просто делегаты. По сути, делегат — это всего лишь класс с двумя методами: для получения и присвоения свойству.
Пример из этой статьи основан на паттерне MVVM. Логика приложения достаточно упрощена, RecyclerView заменён на ScrollView + Linearlayout, чтобы проще организовать код и объяснить применение делегатов в Android-приложении:
https://habr.com/ru/company/constanta/blog/696162/
#kotlin #android
Новый инструмент Flutter News Toolkit для создания новостных приложений
Команда Google Flutter выпустила бесплатный инструмент, с помощью которого можно быстро реализовать приложение для новостных компаний. По словам разработчиков, Flutter News Toolkit сокращает время разработки до 80%. Полезные фичи:
— аналитика,
— уведомления,
— создание учётной записи,
— реклама и контент.
Подробнее о возможностях Flutter News Toolkit в статье:
https://medium.com/flutter/introducing-the-flutter-news-toolkit-now-accepting-applications-9e926db55f6d
#flutter
Как компания Pushbullet стала ведущим мировым экспертом по нарушениям политик Google Play
Начиная с 2020 года разработчики из Pushbullet стали получать всё больше уведомлений о нарушении политик Play Store. По словам команды, сначала уведомления о нарушениях казались правдоподобными, хотя и немного раздражающими. С кем не бывает, верно?
Однако сейчас Pushbullet почти уверены, что их приложения проходят более строгую проверку в Google Store, чем другие компании. Возможно ли такое? Pushbullet поделилась своим опытом в статье:
https://blog.pushbullet.com/2022/10/27/how-we-became-the-worlds-foremost-expert-on-google-play-store-policy-violations/
#google #android
Как герой статьи обошёл блокировку Google Pixel и получил за это $70 тысяч
Полный разбор уязвимости, затронувшую телефоны Google Pixel, которая позволяет атакующему с физическим доступом к телефону обойти меры защиты экрана блокировки:
https://habr.com/ru/post/698918/
Спойлер: автор статьи — не Android-разработчик, он обнаружил баг совершенно случайно после 24-часового путешествия, забыв свой PIN-код.
#android
Хотите пройти курс на IT-специалиста бесплатно?
Сейчас открыт набор даже не на один, а целых 4 курса, где вы:
— изучите основы программирования;
— получите базу для любой цифровой или IT-профессии;
— попробуете себя в топовых IT-специальностях и выберете самую подходящую профессию для вас.
А если вы не знаете, какой выбрать и с чего начать — можете пройти их все, а дальше уже решить, что именно вам интересно и какими задачами вы хотите заниматься.
Время регистрации ограничено, поэтому успейте получить бесплатно доступ к лекциям и материалам из программы стоимостью 199 412 рублей:
https://tprg.ru/qkfR
Реклама ООО «Гикбреинс»
Знакомимся с ленивыми сетками в Jetpack Compose
В версии 1.3.0 Jetpack Compose добавили
LazyVerticalStaggeredGrid и LazyHorizontalStaggeredGrid, которые позволяют делать сетки с разным размером ячеек.
Сетки напоминают шахматный порядок, где элементы имеют разный диапазон высоты и ширины. По ссылке можно найти пошаговое руководство по их созданию:
https://tprg.ru/mUCG
#android
Как добавить тени на Android?
Во многих случаях достаточно использовать системные тени. А что если они не подходят по дизайну? Или дизайнерские решения настолько изящны, что просто невозможно подобрать подходящий параметр elevation для теней.
Отказавшись от использования сторонних библиотек, автор этой статьи решил написать своё собственное решение. Что из этого получилось - в статье:
https://habr.com/ru/company/inDrive/blog/696006/
#android
Технология AR в мобильных приложениях
По статистике ожидается, что к 2026 рынок AR-приложений вырастет на 44%. Уже сейчас технология AR становится популярной в приложениях для предоставления услуг и функций. Стоит ли добавлять данную технологию в проект?
Как работает технология AR, а также об ограничениях мобильной дополненной реальности рассказали подробно в статье:
https://tprg.ru/jcVi
#it
Amazon Web Services открыла бесплатный доступ к 120 англоязычным курсам
На официальном сайте можно выбрать и бесплатно загрузить любой курс по работе с облачным сервисом AWS, например, по линейной и логистической регрессии или анализу потоковых данных.
Акция продлится до 9 декабря, но доступ уже к загруженным курсам открыт до 28 апреля 2023. Полный список доступных уроков:
https://tprg.ru/9NZs
#курсы
Тинькофф приглашает mobile-разработчиков с опытом от 3 лет в свою команду в Казахстане
Тинькофф центр разработки в Алматы ищет опытных iOS- и Android-разработчиков, чтобы сделать им быстрый оффер в компанию. Все просто:
— вы заполняете заявку на Mobile Contest до 16 ноября,
— проходите все этапы интервью за один день 19 ноября,
— далее в течение недели получаете оффер, если работа подойдет вам по условиям и скиллам.
Тинькофф открыл свой центр разработки в Казахстане с зарплатным проектом в локальном банке. Можно работать из офиса в Алматы и удалённо из любой точки страны. А ещё Тинькофф заботится о комфорте и здоровье сотрудников. Помогает оформить РВП, предоставляет расширенное ДМС и необходимое для работы оборудование, а также компенсирует затраты на спорт и питание.
Станьте частью команды Тинькофф и работайте удалённо или из офисов в 20 городах России, в Казахстане, Беларуси и Армении.
Подробнее о Mobile Contest:
https://w.tinkoff.ru/tinkoff.contest-mobile
Реклама АО «Тинькофф Банк» LjN8JxiJV
Kotlin: функции-расширения
Kotlin Extensions используются, чтобы расширить базовый класс без использования шаблонов проектирования. При правильном использовании с помощью таких функций можно улучшить читабельность кода в проекте.
В этой статье рассматриваются варианты, когда функции расширения помогают избавиться от однотипного кода и упрощают некоторые методы:
https://habr.com/ru/post/697908/
#kotlin
Руководство по Passkey на iOS 16
В статье разбирается новая система авторизации пользователей, которую Apple представила на WWDC22.
Для примера, автор реализует простое приложение, где пользователь должен ввести свои данные — username (имя или ник) для регистрации и сохраняет Passkey на устройство. В статье также объясняются API запросы для бэкенда, чтобы добавить Passkey в проект:
https://quickbirdstudios.com/blog/ios-passkeys/
#ios
Weekend Mobile Offer — уже 19-20 ноября
Как получить офер в Яндекс за 2 дня? Участвовать в Weekend Mobile Offer. Ближайший — 19-20 ноября.
Если вы, или тот, кого вы знаете, имеете опыт разработки не менее трех лет на iOS, Android или Flutter, смело жмите на кнопку и регистрируйтесь.
Онлайн-отбор закончится 16 ноября. 20 ноября тех, кто его пройдёт, пригласят на технические собеседования и встречи с нанимающими командами.
Реклама ООО «Яндекс»
Виды штрих-кодов, особенности и обходные пути в Apple Wallet
Наверняка вы знаете, что Apple Wallet поддерживает только определённые типы штрих-кодов — в основном это 2D.
В этой статье автор собрал в один список все доступные виды штрих-кодов, а также объяснил проблемы их создания для Apple Wallet:
https://tprg.ru/sdk5
#iOS
Оптимизация изображений с помощью расширений Firebase на Flutter
В статье рассматривается, как создать простое приложение для публикаций сторис. Для контроля размера изображений, загружаемых пользователями, автор использует готовый плагин Resize Images.
Resize Image — это библиотека, которая позволяет создать новое изображение меньшего размера и сохранить его в хранилище Firebase.
Подробнее о том, как настроить плагин в проекте, а также как правильно прописать путь после изменений фото по ссылке:
https://invertase.io/blog/image-optimization-with-firebase-extensions
#flutter
Оптимизация приложений (Go edition): уроки из Google apps
Серия статей, в которой разбираются инструменты для анализа производительности, причины низкой производительности приложения, а также советы для его улучшения.
Часть 1: Требования к оперативной памяти, разбор onTrimMemory(), оптимизация использования памяти в Android приложениях.
Часть 2: Задержка при запуске приложений, причины и оптимизация.
Часть 3: Разбор инструментов: meminfo, App Startup, CPU Profiler Baseline Profiles, Perfetto и других.
#android