Це відео не доступне.
Перепрошуємо.
Android с нуля. Что выбрать Compose или XML / Mobile Developer
Вставка
- Опубліковано 25 лип 2024
- Всем привет, сегодня поговорим про часто задаваемый мне вопрос "Что выбрать - учить Jetpack Compose / SwiftUI или XML / UIKit". Никаких тайных секретов не открою, но как всегда обращу внимание на главное и оно же вроде бы очевидное. Приятного просмотра!
Что чаще всего встречается в вакансиях Android разработчиков:
t.me/mobiledevnews/747
00:00:00 - Всем привет
00:00:54 - Про инертность
00:03:05 - Compose
00:04:58 - Proof of concept
00:09:34 - SwiftUI
00:11:00 - Всем пока
Если вам понравилось видео, то поддержать канал и получить доступ к эксклюзивному контенту можно подписавшись на Boosty
===========================================
Поддержать канал на Boosty - boosty.to/mobiledev
===========================================
Полезные статьи из мира мобильной разработки
Яндекс.Дзен - zen.yandex.ru/id/5e4aa0a9f2b9...
Teletype - teletype.in/@alexgladkov
Мобильный разработчик в других соц. сетях
=======================
Вконтакте - mdeveloper
Телеграм - t.me/mobiledevnews
=======================
Если ты прочитал это - напиши коммент! Тест на внимательность :D
Логика понятна, но получается так, что последние 3 проекта были на compose. Возможно мне так повезло/не повезло и стоит лотерейный билет сходить купить, что так случилось) Для программистов один из критериев выбора работы является использование новых библиотек, поэтому между компанией с rxJava и coroutines/flow программисты предпочитают последнюю. Это одна из немаловажных причин почему компании переходят на compose, чтобы не оказаться в легаси по самые уши в тот момент, когда рынок порешал и уже давно ушёл в compose 3.0. Плюс любой разработчик скажет, что запилить список на compose это 4 строчки, а на xml это минимум два класса с биндингами и вьюхолдерами. Над оптимизацией, конечно нужно поработать, но в любом случае от идеи до готового решения проходит меньше времени, плюс что-то поменять в разы быстрее. На мой взгляд compose это не то что нужно учить в свободное время, а то что нужно учить обязательно и уже сейчас на собесах спрашивают знаешь ли compose. Koltin в Android заезжал также как сейчас compose - сначала осторожно и через инициативных разработчиков, которые ставили плагины Kotlin, которые были дико забагованные, а потом в один прекрасный день Google сказал, что это основной язык разработки. Через 4 года уже нужно будет догонять тех, кто выучил и конкурировать со спецами с четырёхлетним опытом разработки на compose. Поэтому через 4 года окажется, что надо было учить compose 4 года назад)
Ого, вот это прямо мнение огонь!
жиза. recyclerView на xml это же ужас для новичка. я когда это учил то тупо переписывал код как мартышка молясь о том что бы ничего не пришлось изменять или ковырять .
Спасибо, Леха! Как раз не пытаюсь устроиться на работу, а только использую для себя, так сказать хобби. И как раз есть прямо интерес к jetpack compose. Ты как раз и ответил на мой вопрос
Пожалуйста :)
Спасибо за видео. Коммент в поддержку!
Спасибо за видео!👍🏻
Абсолютно согласен, и про SwiftUI
спасибо, только сегодня задумался о том что начать углубляться Compose или нет, спасибо за то что спас мое время)
Пожалуйста :)
если вы опытный разраб то почему нет?
@@user-hq7yk6gj1p возможно, он неопытный разраб :)
Алексей Гладков, вы супер! Сегодня подписался на boosty. Не жалею 🔥 Куча годного контента, спасибо вам за вашу работу
Спасибо большое что поддерживаете канал!)
"нашему несчастному бедному джуну", каждый раз когда слышу, такое ощущение что прям ко мне лично обращаешься ))))
Слова здравомыслящего человека))) Спасибо большое за объективную оценку того, что происходит в мире мобильной разработки. Хотелось бы побольше обзоров, особенно с тем, что связано с последними санкциями и т. п. Ещё интересен такой вопрос: возможно ли в нынешних условиях получать доход от приложений в Apple App Store, не открывая счёт в иностранном банке?
Можно, если банк не под санкциями и работает со Swift
12 января 2024, гугл убрал курс андроид разработки на xml
😢🥺
Ребят, я не могу понять, композ использует язык котлин? Чтоб понимать композ надо вначале изучить котлин?
спасибо
6:17 вообще в точку, болячки не то что детские, а парадоксальные это и пугает. То что делается нагромождением в xml в композе легко и просто тот же lazycolumn vs. recyclerview к которому нужен адаптер у которого биндинг и тд. но если понадобится анимировать item 1 раз при появлении, в recyclerview делается двумя строчками против (грубо говоря) тонны кода на compose, viewpager (а это как бы базовый компонент) до сих пор доступен только из accompanist, viewpager - PageTransformer это вообще отдельная тема.. graphicsLayer призванный решить эту задачу работает не так как ожидается, например код из нативного PageTransformer класса просто копируется в Flatter с минимальными изменениями и получается такая же анимация свайпа страницы (зум альфа и тд) а вот в graphicsLayer нужен бубен. В xml что бы иметь bottomsheet с динамическим содержимым надо писать просто ужас сколько кода, а в Compose буквально 10 - 15 строк. Я фанат compose но когда попался реальный заказ на приложение в частную фирму для 30ти человек, заряжать compose я так и не решился хотя там до безумия все было просто 4 экрана что то взять с сервера и показать на экранах...
Я вот решился небольшой проект написать на компоузе. Плеваться хочется от него. Куча аннотаций с пометками experimental. Куча функций, которые вложены друг в друга. ViewPager с кастомным видом карточек - вообще простыня кода. Preview вообще перестал юзать, потому что это кусок г... Ну и сам код компоуза не сильно читабельный. В общем с удовольствием вернулся на xml и надеюсь компоуз не увижу еще долго. Та и по большому счету он не готов на 100% к проду.
@@paulsoja2732 причем experimental на простых вещах с которых логичнее было бы начать разрабатывать сам compose да 😂? Compose имеет место быть когда он реально заменяет 10+ xml лайаутов в drawable, на экранах типа профиль/настройки или другая "простыня" информации, но опять же как сказано в видео не с lazycolumn списками.
P.S. Попробуйте написать экран в композе с поддержкой планшетов или даже просто с разграничением вертикальной и гориз. ориентации, или поддержку material3 rail для планшетов + bottomNavBar для телефонов, там такие if начнутся что просто ппц будет
какой вывод ?
в чем проблема писать под iOS 15? он поддерживается с iPhone 6s, достаточное количество устройств
Вы явно в ритейле не работаете или в банкинге. В чем прикол для бизнеса уходить с ОС? Это просто потеря платёжеспособной аудитории. Поэтому уходят обычно когда есть весомые преимущества (SwiftUI к таким не относится) либо если аудитория упала до минимума
Уже больше года верстаю исключительно на компоуз, несмотря на все детские болезни и проблемы, на xml возвращаться нет никакого желания)
Речь в видео про джунов, а так у самого в проде все проекты на компоузе уже давно )
Алексей, день добрый! А можете озвучить , что сейчас с вакансиями на андоойд? Какие мерспективы и зарплаты
Да все как обычно )) зарплаты высокие, вакансий много (это все не касается джунов)
@@MobileDeveloper Получается, что сейчас идти на андройд - разработку учиться малоперспективно?
А можете посоветоапть квосы? Я на Яндекс Практикум записался- годовой курс, Java/ Kotlin, но там нет актуальных технологий, котопые вы озвучили...
Смотря что вы называете перспективой. Если ждёте золотых гор через 5 дней от старта, то вообще без шансов)
@@MobileDeveloper Нет, что вы! Минимум год нужно, чтобы вникнуть...
Алексей, а насколько тяжело было разбираться в Android и IOS сразу?
Ну ) это было интересно как минимум ) не сказал бы что тяжело ) я не думал такими категориями. Мне просто было это все очень интересно
@@MobileDeveloper Алексей, а можете подсказать книгу по Андроиду? Я вот знаю Java Core и немного о андроиде. Сейчас изучаю старые гайды от гугла (потому что новые на котлине). Я понимаю что придётся изучать Котлин, просто пока хочется с самим андроидом повзаимодействовать. Может у вас есть книга на примете, которая даст ощутимый буст в понимании?Заранее спасибо за ответ
По поводу SwiftUI. Согласно статистике Apple от 31 мая этого года, 82% всех устройств (айфоны) уже используют iOS 15, ещё 14% - iOS 14. Оставшиеся 4% - это неплатёжеспособная аудитория. SwiftUI 2.0 (iOS14+) вполне годный инструмент для прода
Это надо рассказать менеджменту, что можно поддерживать только последнюю версию ios. И сразу же услышишь в какую сторону идти надо
@@paulsoja2732 ну только последнюю маловато наверное будет. А вот две последних версии для 99% приложений будет достаточно. В iOS гораздо лучше обновляемость устройств на новую ось, чем в андроид, не понимаю этих кукареканий менеджеров
@@andreass7012 Это ж для разраба интересен новый стек, а бизнесу оно нафиг не надо. Ты много видел компаний, которые отслеживают аналитику сколько времени тратится на поддержку старых версий андроида/иоса? Я такого вообще не встречал. Отказывались только тогда, когда всей командой настаивали, что это гемор и надо отказаться.
Можно видео на тему, где вы рассказываете сколько зарабатываете сейчас и сколько зашибали раньше?
Я про это не буду рассказывать
Хахаах, хорош чел 😅😅
Алексей, сколько вы закалачиваете денег в месяц?
Мож вам ещё ключи дать от квартиры где деньги лежат?
@@MobileDeveloper Странные сопоставления с квартирой и расположением денег. Многие топ-разработчики спокойно говорят о заработках, не совсем понимаю причины почему нет. Просто если заработок легальный, то можно про это спокойно говорить
@@banditcolibri308 Прочти "12 стульев", поймешь)
К счастью, 4 года ещё не прошло 😅
Проблема compose в том что после изменения UI-кода нужно пересобирать модуль чтобы увидеть новую разметку, а это в разы(!!) дольше чем XML
Факт!
С компоузом заметил что компилирую код намного реже
верстаю в слепую а потом правлю пачкой, проблему особо не ощутил, ну и вроде же есть @Preview если в слепую верстать тяжело, как-то юзал, вполне работает, правда иногда добавлять дефолтные параметры повсюду достает
@@user-hq7yk6gj1p особенно когда через параметры функции закидываешь viewModel...
@@paulsoja2732 а зачем вью модель, можно прокинуть лямбду или колбек или экземпляр класса, вариантов много)
Насчёт Compose , работаю больше года, делали все проекты на нём,все просто супер. Все делается легко и быстро и в кайф. Изучайте compose за ним будущее. Уверен что полностью заменит xml через пару лет.
Ну я в последнем видео уже рекомендую новичкам сразу же начинать с компоуза
@@MobileDeveloper Привет 🖖 Можно ссылку на это видео или название ?
Имхо. Учите computer science. Будите легко переключатся между технологиями, языками ,платформами.
Это само собой )
Имхо. Учите квантовую физику. Будет легко переключаться между вселенными, где вы знаете разные технологии, языки ,платформы. :)
Лично мне импонирует Compose. Но начинать с него 100%...200%...300% не стоит. Проектов, где все на чистом compose лично я видел ровно ни одного. А я гребу на галере. У нас движняка хватает. Если вы не освоите XML, то в 99.99999% проектов вам придется очень круто наверстывать просто потому, что вы не будете ничего понимать как все это работает.
Ну и по поводу простоты. Не далее как на прошлой неделе мы вдвоем еще с одним разработчиком проковырялись почти час что-бы сделать как хочется, а не как получается. В случае XML уже есть куча доков, примеров и все давно однозначно и этот UI вообще бы не вызвал вопросов.
Ну и еще одно замечание по поводу того, что Compose со временем позволит очень быстро разрабатывать UI. Как выглядит все в моей голове. Я открываю figma, бью экраны на элементы типа заголовок побольше, поменьше, основной блок текста, картинка, икона и т.д. А потом со скоростью ветра компоную это все в экраны. Как это будет на самом деле. Я открываю figma и вижу 7 видов заголовка, 24 отступа, 12 штифтов, 207 цветов и т.д. И мне уже хочется не делать UI, а найти дизайнера и ... ну вы сами понимаете.
Есть проекты на 100% компоуз ) я такие знаю )
@@MobileDeveloper Я своими глазами пока только видел проект где используются фрагменты, но вместо XML Compose. Конечно есть те, кто уже перешел. Я слышал, что Instagram это сделали. А если говорить вообще все его ковыряют, говорят, что скорее нравится, но в продакшене все еще XML.
Хорошо, ты можешь сказать какой курс взять по xml для обучения?
Flutter
Где горящие пуканы?
А почему они должны быть?)
Почему прозвучала фраза "времени у вас немного"? Есть, кто сможет пояснить дураку?)
Скиньте таймкод
@@MobileDeveloper 3:54
После таких выводов, на KMM можно ещё лет 5 не смотреть.
Компоуз гавно которое скоро будем все кушать