Записки разработчицы
1.89K subscribers
384 photos
24 videos
4 files
1.09K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
На AndroidBroadcast грядёт ну очень интересный выпуск
Forwarded from Android Broadcast
#AndroidBroadcast #Architecure #Navigation

Навигационная битва (Livestream)
Четверг, 10:00 (GMT+3)

За долгие годы в Android разработки я так и не смог найти серебряной пули для красивой организации навигации в Android приложении. Каждый раз упирался в какие-то ограничения.

Порой казалось, что святой грааль был найден, но фантазия дизайнеров и менеджеров показывала слабости решений.

Пора собраться и найти лучшее решение в библиотеке или понять что все, придется делать каждый раз руками

Гости:
- Андрей Зайцев, Андроид разработчик в ЦФТ. Устал от библиотек навигации. Свое решение ближе.
Константин Цховребов, Teamlead KMM в JetBrains. Автор библиотеки Cicerone
Влад Шипугин, Android разработчик в Redmadrobot. Эксперт по Navigation Arch Component

Не забываем подписаться на YouTube канал Android Broadcast, чтобы не пропустить самые интересные видео в мире Android разработки.
Навигация, без сомнения, важный момент для реализации приложения. Кто-то выбирает путь готовых решений от Google, кто-то пишет своё решение, кто-то использует тулсет, созданный кем-то. Часто решения не меняются по несколько лет, успевая устареть морально и технически. Кто-то не хочет менять, кто-то боится. Послушаем экспертов на эту тему)
Кстати, на эту тему был на AppsFest доклад моего коллеги Евгения Емельянова. Конечно, по сравнению с решением Kaspersky его может показаться простым и наивным, однако, в условиях жёстких ограничений и «на коленке» имеет место быть
Forwarded from paradiSEcurity (paradiSEcurityPub)
Все любят SSL-пиннинг. Или нет?

Наверно, каждый Android-разработчик знает, что такое SSL-пиннинг. Но для новеньких, я все таки сделаю небольшую сноску:

По-умолчанию, устанавливая SSL соединение по протоколу HTTPS, клиент проверяет сертификат сервера по двум пунктам:

⚡️ Что цепочку SSL сертификата можно проследить от Вашего личного SSL сертификата через промежуточные и до корневого сертификата доверенного центра сертификации

⚡️ Что Ваш SSL сертификат соответствует запрошенному имени хоста

Лично я сталкивалась с этой задачей о-очень часто, тк работаю в специфической сфере и поддерживаю безопасность мобильных приложений. Данный вид защиты необходим для того чтобы бороться с распространенным видом атаки на ваше приложение, которая называется MITM (Man in the middle), она направлена на «прослушку» или изменение трафика между двумя узлами (клиентом и сервером). Другими словами, когда клиент подключается к серверу, он на самом деле имеет дело с хакером, и наоборот.

Способы реализации SSL-пиннинга в Android

Реализовать SSL-пиннинг в Android можно несколькими способами, я видела сразу комбинации из них, но, на мой взгляд, перегружать свой код этим не стоит, тк в таком случае вы рискуете допустить глупую ошибку, которая может залочить ваше приложение. В целом, все эти варианты подробно описаны на Android Developers.

🔥 С помощью TrustManager

🔥 Network Security Configuration

🔥 OkHttp и CertificatePinner

🔥 Pinning c Retrofit (Настроить так же просто, как и OkHttpClient, тк Retrofit – это фактически надстройка поверх OkHttp)

Все это, конечно, замечательно, но не стоит забывать и о минусах

Например, допустимость внесения изменений снижается. После внедрения SSL-сертификата в код приложения, изменить его уже не так просто. Каждый раз изменяя SSL-сертификат, вам нужно будет выпускать обновление приложения, запускать его на Google Play и молиться, что пользователи его установят. Собственно, поэтому многие отказываются от этого вида защиты. Так что изначально учитывайте специфику вашего приложения и процессов разработки. Выход из этой ситуации – заказать SSL-сертификат на максимальный срок действия в три года, тогда вам не придется делать это слишком часто.
Будем делать интересно. Это вам не конструкторы для сэндвичей из авокадо пилить😉
Существуют разные инструменты для создания декларативных UI, поэтому мы решили отвести под эту тему целый день.

12 ноября на Mobius 2020 Moscow пройдет три лайвкодинг-сессии от трех спецов по разным фреймворков. Антон Шилов из Badoo будет писать на Jetpack Compose, Светлана Кривошеева из Effective — на Flutter, а Анна Жаркова из Usetech — на SwiftUI.
А после этого все трое придут на круглый стол к Петру Козлову, где они будут сравнивать фреймворки, делиться впечатлением от лайвкодинга и обсуждать, как решаются те или иные задачи с помощью разных фреймворков.

Заходите на сайт за подробностями и билетами.
Перейти на сайт
Сегодня стартует Mobius, и нас ждет 4 дня увлекательных и интересных докладов, воркшопов и лайвкодинга. Интересно будет и зрителям, и нам, выступающим.
Но не все события IT в онлайне этой осенью серьезные и хардкоровые. 20 ноября пройдет развлекательная ITNitght от Innopolis:
https://it-nights.ru/schedule
5 часов в несовсем обычном формате. Обещают юмор, нескучно и Баруха Садогурского
Итак, марафон конференций на этот год закончился, и чтобы не превратиться совсем в обозревателя митапов, хочу написать пару статеек на Хабр.
Что ж, кому-то, видимо, интересна именно инфо про конференции.
Конференции бывают 1-2 раза в год, а вот митапы регулярны. Очень скоро Mobifest проведут очень интересный android митап
Уже в эту среду состоится MobiFest Android Meetup 💥
☝️В программе:
- Севастьян Жуков, Android-разработчик, ЦФТ «Rebase Queue. Экспресс-доставка пул реквестов»
- Денис Александров, Leading software Engineer, Arcadia «Coroutines 1.4 в Android практике»
- Дмитрий Пермяков, Android-разработчик, Revolut «Декларативный UI на Android уже сегодня»
❗️Самое время зарегистрироваться: https://team.cft.ru/events/187
Встречаемся 18 ноября в 19:00 по новосибирскому времени
Обе топовые темы. Даже если вы iOS разработчик, тема корутин будет вам полезна, если вы захотите попробовать кросс-платформу Kotlin multiplatform.
#apple Недавно прошла очередная в этом году презентация компании Apple, на которой продемонстрировали большую новинку Mac OS Big Sur. По уже сложившейся в последний год традиции, новинка, по-видимому, на обратную совместимость с прежними выпусками техники проверена не была:

https://habr.com/ru/news/t/528172/

Особенно нравится мне лайфхак от страждущих пользователей:
"Также пользователи предупредили, что просто отключение I/O Board позволит загрузится ноутбуку, но в нем не будет работать WiFi, Bluetooth, правый порт USB, устройства чтения SD-карт и порт HDMI. Если заранее перед установкой macOS Big Sur отключить плату ввода вывода, установить macOS Big Sur, а потом подключить плату обратно, то новая операционная система будет загружаться и работать без проблем и у ноутбука не будет повреждений."

Вероятно (я так думаю), что на новых Mac, работающих на ARM, такой проблемы не возникло. Но кто может за это поручиться.

Так что, если вы сомневаетесь, обновляться или нет, не спешите.
В принципе, если вы не планировали срочно-срочно начинать писать на SwiftUI мультиплатформенные приложения, включая Mac OS, то для вас это обновление действительно может подождать
Совсем скоро пройдет очередной открытый урок Otus. Ексей Пантелеев покажет и расскажет про внедрение Combine и SwiftUI в существующие проекты iOS. Это будет полезно и интересно всем, даже тем, у кого есть свой способ интеграции и адаптации существующих проектов 😉
⚡️ Combine до iOS 13 и как добавить SwiftUI 2.0 в любое приложение

23 ноября
на открытом уроке с Ексеем Пантелеевым вы:

• рассмотрите мультиплатформенное использование Combine
• узнаете, как перейти на декларативный UI без повышения минимальной версии приложения до iOS 13 и бесшовно добавить поддержку SwiftUI 2.0 в приложение.

Для регистрации на вебинар необходимо пройти тестирование: https://otus.pw/2Q0p/
А прямо сейчас на MobiFest очень интересный доклад про корутины. Рекомендую 👍