LINUX.ORG.RU
ФорумMobile

Activity vs AppCompatActivity

 ,


0

3

Начал разбираться с андроидом и сразу встал вопрос сабжа. AppCompatActivity не нравится такое имя, сразу какая-то устарелость ассоциируется, в приложение тянется мегабайтная библиотека. Судя по гуглу если я буду использовать Activity, то в 4-м андроиде у меня не будет Material L&F, в принципе я и не против, он мне нафиг не нужен. Ещё одни пишут про какие-то мифические багфиксы в этом compat, другие пишут про то, что эти багфиксы конфликтуют с китайскими андроидами (а мне надо, чтобы работало везде нормально), в общем фиг пойми. Какие ещё могут быть доводы в пользу AppCompatActivity?

Примерно такой же вопрос про ConstaintLayout. Тоже тянет библиотеку на 200 килобайтов, что мне не понравилось. Лэйаут у меня будет несложный, имеет смысл его выкинуть?

★★★★★

Никаких доводов. Аппкомпаты и суппорты — жирное ненужно.

Использовать Material тему можно. Достаточно вызвать setTheme.

a1batross ★★★★★
()
Последнее исправление: a1batross (всего исправлений: 1)

а мне надо, чтобы работало везде нормально

Это тебе точно не в Android, без шуток и сарказма. В проде без support жить не очень получается, если его выкинуть - тебе придётся очень сильно прогнуться под суровые реалии и отказываться от того же RecyclerView, а вот без ConstraintLayout жить можно вполне, стандартных Relative/Frame/Linear в несложном UI хватает с головой.

Jefail ★★★★
()
Ответ на: комментарий от ii8_

Уныло, сразу переходить на личности.

Впрочем, программирование под Android оно такое. Тут преобладает какое-то необъяснимое желание писать говнокод и не любить своих пользователей. Я лучше в стороне нативщины постою.

a1batross ★★★★★
()

Фрагменты теперь deprecated из стандартной библиотеки. Юзать нужно теперь только из support библиотеки.

Да и вообще у них теперь не будет support библиотек, переходите на androidx версии.

pozitiffcat ★★★
()

Писать без appcompat (androidx, что тоже самое, но более kotlin-ориентировано) – это очень изысканный вид извращения.

Если же у тебя совсем простое приложение и/или не нужна поддержка старого говна, то конечно можно попробовать. Но пахнет извращением.

mono ★★★★★
()

ConstaintLayout не нужен. Без AppCompat жить вполне можно, но, как показывает практика сапортные библиотеки вероятней всего втянуть придется, хотя можно и велосипедить.

F457 ★★★★
()
Ответ на: комментарий от Legioner

Сейчас Android SDK (в широком смысле) плавно переходит к следующей модели развития. Android SDK делится на два больших блока библиотек:

  • Непосредственно Android SDK. Этот набор инструментов и библиотек обновляется с выходом новой версии Android, и привязан к конкретной версии. Это то что ты указываешь в targetSdk.
  • Комплект библиотек appcompat/androidx. Сейчас продвигается бренд Android Jetpack. Библиотеки развиваются отдельно, параллельно Android SDK и созданы для того чтобы предоставлять единый интерфейс и единую функциональность, независимо от конкретной версии Android SDK.

    Другими словами, Android SDK – это платформенный низкоуровневый базис, а appcompat и сотоварищи – это непосредственно «кроссплатформенные» инструменты.

    Если ты будешь использовать только Android SDK, то ты будешь лишен большей части сторонних библиотек и всех новых компонентов Android Jetpack, которые важны для построения вменяемой архитектуры. И конечно же, тебе руками придётся обеспечивать обратную совместимость.

    Советую посмотреть, что сейчас вынесено в библиотеки – https://developer.android.com/jetpack/.

    Впрочем, если приложение действительное простое, то возможно, достаточно будет и Android SDK.
mono ★★★★★
()
Последнее исправление: mono (всего исправлений: 2)
Ответ на: комментарий от mono

Звучит как будто гугл отчаялся обновить ОС на девайсах и решил засунуть часть ОС внутрь каждого приложения :) Примерно понял, хотя всё же хотелось бы конкретных примернов. Библиотеки проглядел, в принципе ничего из перечисленного мне вроде бы не нужно. Приложение простое, два экрана, один HTTP-запрос и пара табличек в локальной БД.

Legioner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.