Записки разработчицы
1.89K subscribers
383 photos
24 videos
4 files
1.09K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
#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 очень интересный доклад про корутины. Рекомендую 👍
Вадим Булавин опубликовал в своем twitter схему life-cycle приложения на SwiftUI
Особенно интересен кейс обновления в состоянии до построения body. Body у вас строится в момент отображения на экране после перехода на экран (как ViewDidLoad) или изменения свойства PropertyWrappers.
Если не хотите проблем с логикой, которая связана с вашим UI, не вызывайте ее на этом этапе
Не даром говорят, что в это время одна из ежегодных волн движения IT-специалистов.
Forwarded from Android Broadcast
​​Roman Elizarov is the new Project Lead for Kotlin

Роман Елизаров возглавит проект Kotlin. Но для меня новость одновременно и грустная - Андрей Бреслав после 10 лет работы над Kotlin уходит из команды.

Kotlin остается в надежных руках. Мне выдалась возможность пообщаться с Романом лично на Kotlin Conf'19, и я был в восторге! Роман это человек, который возглавлял Coroutine в Kotlin и подарил уже много прекрасных вещей в нем.

Андрей от всей команды Android Broadcast большое спасибо вам за язык, который подарили нам. Вы в нашем ❤️ навсегда!
#swiftui Вадим Булавин опубликовал очень подробную статью про жизненный цикл View в SwiftUI. Если хотите больше понимать про хранение состояний и управление View, то рекомендуется к прочтению)

https://www.vadimbulavin.com/swiftui-view-lifecycle/
Использование декларативных фреймворков для разработки UI или цельных приложений делает актуальной тему Server-Driven UI. В принципе логично, что какой-то общий сценарий в виде JSON может преобразовываться внутри приложения в готовые экраны и view.
https://apptractor.ru/info/articles/server-driven-ui.html
https://proandroiddev.com/dynamic-screens-using-server-driven-ui-in-android-262f1e7875c1
https://medium.com/better-programming/exploring-server-driven-ui-cf67b3da919

Вообще тема эта не новая, но декларативно такое приложение реализуется существенно проще и быстрее:
https://atscaleconference.com/videos/backend-driven-native-uis/

В принципе зависимость UI от данных не нарушает принципа инверсии зависимостей. Так что единственным спорным моментом является хранение состояний, корректность работы при проблемах связи с сервером или обратной совместимостью
#jetpack Недавно попробовала Hilt, правда, только во ViewModel, и Navigation для простого кейса навигации между двумя фрагментами. Просто, удобно, быстро.
Forwarded from Android Broadcast
#DependencyInjection

Migrating from Dagger to Hilt — Is it worth it?

Hilt предназначен упростить работу с Dagger в Android, но почему-то не все спешат переходить на него, а именно:
👉 Упростить Inject в конструкторы ViewModel и различные Worker из WorkManager
👉 Упростить тестирование, с помощью более легкой замены Dagger модулей и прокалывания зависимостей в граф
👉 Стандартные Dagger компоненты для основных компонентов приложения

Мне лично очень не хватает поддержки Inject в конструкторы Fragment
Команда Dodo делятся своим кейсом по преодолению проблемы с внутренним хранилищем на Realm с итоговым удалением Realm из проекта. И также предлагают ознакомиться и проверить работоспособность решения через TestFlight:
No realm. Финал

Мы выпилили Realm из проекта за 3.5 месяца, сборка на ревью. Впереди релиз и возможные фиксы. Мы все сто раз проверили, но все равно хотим убедиться, что все работает нормально.

Если хотите помочь, то можете поставить сборку до того как она появится у всех в понедельник. Важнее всего проверить первый запуск: город выбрался, авторизация не слетела.

Если закажите что-нибудь, то будет совсем супер. Там скидка на вторую пиццу 70% по промокоду BLACK.

TestFlight научился самостоятельно обновлять версии, поэтому можете пользоваться сборками из него и стать нашим постоянным бета-тестером! Если что-то пошло не так, то делайте скриншот, там появится форма обратной связи.

Выпиливание в цифрах:
- Стартанули 12 августа, отправили на ревью 26 ноября.
- 3 месяца разрабы Realm чинили креш с которого все началось.
- 8 Мб занимает Realm просто после добавления в подфайл.
- За релиз мы срезали 20 Мб, теперь весим ≈40 Мб после распаковки. Знаем как срезать еще 10.
- Сложнее всего было переделать меню, ушло 14 дней.
- В коде были 2720 упоминаний realm. Даже после выпиливания их осталось 46, это аналитика и удаление оставшихся файлов от базы.
- У нас появился первый самостоятельный фича-фреймворк
Евгений Елчев (JonFir) опубликовал свой первый пост в своем инфоканале. Присоединяемся)
Forwarded from JonFir Blog
Screen Shot 2020-11-30 at 12.45.02.png
76.7 KB
Новая система вкладок в xcode 12

Изначально я испытал дискомфорт от работы с вкладками в новом xcode. Но спустя месяц, распробовал ее во всей красе и кажется это одно из самых удобных изменений в xcode за последнее время.

Сейчас я использую первый уровень вкладок (старых) для организации сценариев работы с проектом, а второй уровень вкладок (новых) для организации работы с файлами внутри сценария.

Я открываю по вкладке на каждую задачу надо которой я работаю в данный момент и еще по одной для тестов к каждой из задачь, а внутри зафиксирую файлы, в рамках которых произвожу изменения. Еще одна вкладка открыта для дебага кода.

В итоге я могу переключаться между задачами, прыгать между брейкоинтами и не терять контекст.

#xcode #ios #macos
🔥14 декабря стартует первая конференция про кроссплатформенную мобильную разработку – Podlodka Crossplatform Crew!

Никаких “Hello World!” на абстрактных примерах, только настоящий опыт внедрения и использования кроссплатформы в реальных проектах от топовых экспертов!
И традиционно для Podlodka Crew, множество полезных сессий дополнены щепоткой оригинальных фановых форматов. В программе:

🔹Интервью про кейсы внедрения Flutter, React Native, Kotlin Multiplatform Mobile в разных компаниях
🔹Воркшопы по интеграции разных технологий в существующий проект
🔹Рулетка кейсов и шоу “Прожарка”. Нет времени объяснять – это надо видеть!

🔥Расписание уже на сайте, а пока у вас есть возможность купить Early Bird билеты по сниженной цене! Ждем на борту!
Пообщаться с разработчиками и задать вопросы вы можете в чате:
https://t.iss.one/smartapp_studio