DevDroid #006

13.03.2020

Witaj w szóstym wydaniu newslettera DevDroid. Jeśli chcesz podzielić się ciekawym materiałem, to możesz to zrobić przy pomocy formularza dodaj link.

Artykuły

  • Jetpack Compose Playground Jetpack Compose nadal jest intensywnie rozwijany i raczej nie powinniśmy używać go w środowisku produkcyjnym. Jednak nic nie stoi na przeszkodzie, aby zapoznać się z obszerną listą przykładów dostępną w linku powyżej.

  • Make your Android application rock SOLID — Interfaces Kolejna artykuł z cyklu omawiającego zasady programowania obiektowego SOLID. Jak się okazuje SOLID to nie tylko akronim używanym w czasie rozmów rekrutacyjnych, ale to także zasady, które z powodzeniem mogą być stosowane na co dzień, aby tworzyć lepszy kod. We wpisie omówiona zostaje zasada segregacji interfejsów, warto również sprawdzić poprzednie wpisy.

  • Handling Nullability in Android 11 and Beyond Po aktualizacji projektu do Android 11, może się okazać, że projekt generuje teraz dodatkowe błędy kompilacji z powodu braku obsługi wartości null. Artykuł wyjaśnia, dlaczego tak się dzieje oraz do czego wykorzystywane są anotacje @RecentlyNullable i @RecentlyNonNull.

  • Preventing coroutine cancellation for important actions Omówienie wzorca, który pozwala na nieprzerywanie wykonywania koruytyny w przypadku kiedy startująca ją aktywność zostaje zniszczona. Bardzo dobrze zaprezentowany przykład, prezentujący użycie NonCancellable.

  • Modern User Storage on Android Opis nowych zmian związanych z dostępem do dysku z poziomu aplikacji. Już w Androidzie 10 pojawiło się sporo zmian mających uporządkowanie dostępu do danych, a wraz z pojawieniem się Androida 11, dostępne są kolejne ulepszenia.

  • Exceptions in Coroutines Przy tworzeniu aplikacji niezwykle istotne jest obsłużenie sytuacji, w których coś pójdzie nie tak. Wpis wyjaśnia między innymi, w jaki sposób SupervisorJob może nam pomóc z wyjątkami przy użyciu Kotlin Coroutines.

  • Google’s Maven Repository Bardzo dobre źródło pozwalające sprawdzić najnowsze wersje poszczególnych bibliotek androidx. Bardzo prosty interfejs i wyszukiwarka.

  • Distributed Work Playbooks Być może obecna sytuacja na świecie zmusiła Cię do pracy zdalnej lub może już pracujesz tak od dłuższego czasu. W obu przypadkach warto zapoznać się z krótkim poradnikiem na temat pracy zdalnej od Google.

Wideo & Audio

  • Podcast | Episode 133: Power Play

    Rozmowa z programistami pracującymi nad frameworkiem Androida na temat zarządzania energią/pamięcią. Zagadnienia dosyć niskopoziomowe, omawiane z perspektywy systemu operacyjnego, ale z pewnością pozwalają lepiej zrozumieć co może się przytrafić naszej aplikacji.

  • Podcast | 191: Logging 🌲 Odcinek omawiający zagadnienie logowania informacji w aplikacji. Poruszone zostają kwestie różnych poziomów logów, co warto logować i przy pomocy jakich narzędzi.

  • Wideo | D8, R8 and enums - Kotlin Vocabulary Omówienie narzędzi do kompilacji (D8) i optymalizacji kodu (R8). Przykład optymalizacji użycia enumów z instrukcją when.

Open Source

  • gnirehtet - Narzędzie pozwalające na udostępnienie Internetu z komputera do urządzenia podłączonego przez adb.
  • DuckDuckGo - Kod źródłowy przeglądarki DuckDuckGo, rozwijany na bieżąco.
  • kotlin-dsl-samples - Zestaw przykładów prezentujących konfiguracje Gradle przy pomocy Kotlin DSL.

Bądź na biężąco

  • Zapisz się na newsletter, aby otrzymać kolejne wydanie prosto do swojej skrzynki email.