Dostosuj preferencje dotyczące zgody

Używamy plików cookie, aby pomóc użytkownikom w sprawnej nawigacji i wykonywaniu określonych funkcji. Szczegółowe informacje na temat wszystkich plików cookie odpowiadających poszczególnym kategoriom zgody znajdują się poniżej.

Pliki cookie sklasyfikowane jako „niezbędne” są przechowywane w przeglądarce użytkownika, ponieważ są niezbędne do włączenia podstawowych funkcji witryny.... 

Zawsze aktywne

Niezbędne pliki cookie mają kluczowe znaczenie dla podstawowych funkcji witryny i witryna nie będzie działać w zamierzony sposób bez nich.Te pliki cookie nie przechowują żadnych danych umożliwiających identyfikację osoby.

Funkcjonalne pliki cookie pomagają wykonywać pewne funkcje, takie jak udostępnianie zawartości witryny na platformach mediów społecznościowych, zbieranie informacji zwrotnych i inne funkcje stron trzecich.

Brak plików cookie do wyświetlenia.

Analityczne pliki cookie służą do zrozumienia, w jaki sposób użytkownicy wchodzą w interakcję z witryną. Te pliki cookie pomagają dostarczać informacje o metrykach liczby odwiedzających, współczynniku odrzuceń, źródle ruchu itp.

Wydajnościowe pliki cookie służą do zrozumienia i analizy kluczowych wskaźników wydajności witryny, co pomaga zapewnić lepsze wrażenia użytkownika dla odwiedzających.

Brak plików cookie do wyświetlenia.

Reklamowe pliki cookie służą do dostarczania użytkownikom spersonalizowanych reklam w oparciu o strony, które odwiedzili wcześniej, oraz do analizowania skuteczności kampanii reklamowej.

Brak plików cookie do wyświetlenia.

Jetpack Compose 2025 – mniej kodu, więcej magii

Zawartość

Jetpack Compose 2025 – mniej kodu, więcej magii

Jetpack Compose 2025 – mniej kodu, więcej magii

Androidowy świat zmienia się szybko, ale nie zawsze spektakularnie. Czasem te najważniejsze zmiany to tylko kilka linijek, które sprawiają, że wszystko zaczyna działać tak, jak powinno od początku. I właśnie takie zmiany przynosi Jetpack Compose 2025. W AKRA lubimy technologie, które dojrzewają razem z nami i pozwalają skupić się na tym, co naprawdę ważne, czyli doświadczeniu użytkownika. Compose jest dziś dokładnie w tym punkcie.

Tekst, który sam wie, jak duży ma być

Każdy Android developer doskonale zna ten moment, gdy tekst, który „miał się zmieścić”, nagle się nie mieści. Tytuł wchodzi w dwie linijki, a przycisk wygląda jak przypadkowy mem. Do tej pory trzeba było kombinować – sp, minFontSize, maxLines, a potem testy na 10 urządzeniach, żeby mieć pewność, że nie rozsypie się nam layout. W Compose 1.8 pojawiło się coś, co wydaje się banalne, ale rozwiązuje ten problem w całości: automatyczne dopasowanie rozmiaru tekstu (autoSize) w BasicText.

BasicText( 
text = "Tytuł, który się dopasowuje", 
maxLines = 1, 
autoSize = TextAutoSize.StepBased( 
minFontSize = 12.sp, 
maxFontSize = 28.sp, 
stepSize = 1.sp 
) 
) 

Bez żadnych kombinacji, bez „czemu to działało w emulatorze, a nie na Samsungu A52”. Po prostu działa. To mały krok dla API, ale wielki krok dla spójności UI.

Widoczność, która naprawdę widzi

Kolejna nowość, która cieszy jak dobrze dopasowany dp: onFirstVisibleonVisibilityChanged, czyli modyfikatory, które dają Compose świadomość, co faktycznie jest na ekranie. Brzmi prosto, ale dla nas to prawdziwy game changer. Do tej pory śledzenie widoczności elementów wymagało sztuczek – LazyListState, offsety, obliczenia scrolla, a na koniec jeszcze nadzieja, że wszystko zadziała tak samo na Pixelu i Xiaomi. Teraz możemy po prostu napisać:

Box( 
modifier = Modifier 
.onFirstVisible { logEvent("Sekcja Hero widoczna") } 
.onVisibilityChanged { isVisible -> 
if (isVisible) startAnimation() else stopAnimation() 
} 
) { 
// ... 
}

To otwiera drzwi do wielu rzeczy:

● automatyczne ładowanie zdjęć dopiero wtedy, gdy element faktycznie pojawi się na ekranie, ● zatrzymywanie animacji, gdy komponent znika z widoku, ● dokładniejsze dane analityczne, bez kombinacji i błędów w pomiarach.

I najważniejsze wszystko to dzieje się deklaratywnie, bez dodatkowych warstw logiki.

Cienie, które robią klimat

Compose od zawsze był mocny w prostocie. Ale brakowało mu… głębi. Dosłownie. Teraz dostajemy dropShadow()innerShadow() – API, które pozwala tworzyć efekty, jakie wcześniej wymagały rysowania własnych Canvasów. Dzięki temu można łatwo uzyskać wrażenie wcięcia czy podniesienia elementu:

Box( 
modifier = Modifier 

.background(Color(0xFFF0F0F0), RoundedCornerShape(16.dp)) 
.innerShadow( 
shape = RoundedCornerShape(16.dp), 
shadow = Shadow( 
radius = 8.dp, 
spread = 2.dp, 
offset = DpOffset(2.dp, 2.dp) 
) 
) 
.padding(20.dp) 
) { 
Text("Subtelny cień, duży efekt") 
}

Wreszcie można stworzyć UI, który wygląda elegancko bez wyciągania Photoshopa.

Compose dojrzewa jak dobry projekt

Te nowości sprawiają, że projektowanie UI w Compose jest czystą przyjemnością. Mniej hacków, mniej ifów, mniej “a czemu to się nie odświeża?”, a więcej spokojnego kodu, który po prostu działa. W AKRA coraz częściej używamy Compose i te nowości to sygnał, że framework osiągnął stabilność, jakiej oczekiwaliśmy. Można bez obaw budować w nim duże, skalowalne aplikacje i mieć pewność, że UI zachowa się dokładnie tak, jak zaplanowaliśmy w Figmie.

W którą stronę to idzie?

Compose 2025 to nie rewolucja. To ewolucja w najlepszym sensie – mniej klejenia, więcej designu, więcej czasu na rzeczy, które mają znaczenie. Z naszej perspektywy to kolejny krok w stronę świata, w którym Android development jest bardziej kreatywny niż konfiguracyjny. A to właśnie lubimy najbardziej.