Weekend good reads for Android developers, issue #40 (45/2022)

The weekend is coming so we have some reads for you:

SIMPLE IS NOT EASY

Unfortunately, most of the examples showing Clean Architecture and Hexagonal Architecture show that this is the model way. Abstraction on top of abstraction and next abstraction. But still, writing simple and easy to read code is not easy. It requires multiple iterations and effort. Read more in this article.

Mastering Android Dialogs: Don’t follow official Google Guides

This article explains why Google Guides for Dialogs are bad and what risks you and your apps may face if you follow them.

Performance Considerations for Memory Leaks: An Android Cookbook

Memory leaks can be found everywhere, in application code, dependencies, the Android operating system, and even in the JVM. It is difficult to come up with a complete list of the reasons why these problems occur, but showing a broad range can help us better characterize what they may be like. This great article gives you a better understanding of what memory leaks are.

Declarative UI — What, How, and Why?

This short but succinct post perfectly explains Declarative programming paradigm.

Library of the week:

https://github.com/touchlab/xcode-kotlin

The xcode-kotlin plugin allows debugging of Kotlin code running in an iOS application, directly from Xcode.

Have a nice Weekend!

Weekend good reads for Android developers, issue #39 (38/2022)

The weekend is in progress but we are sharing some interesting articles with you:

How to automate your UI testing using Maestro

UI testing is usually ignored. The main reason why it is like that is the complexity of most of test frameworks. The Maestro library changes the way you think about UI testing and in my opinion can be considered as great tool.

Type modelling in Kotlin
Jan Mostert shares several examples of how using Kotlin features can help better model data and errors in your code.

Writing your own CoroutineContext Element

How to pause a coroutine

How to break a coroutine cancellation

As you can see Vasiliy Nikitin created series of blogposts about coroutines which I strongly recommend to review.

Web3 Series: Intro for developers

The first blog of the Web3.0 series from me so if you are interested in NFT, DeFi, Web3 it can be for you.

Thats all for this weekend, have a nice one!

Weekend good reads for Android developers, issue #38 (35/2022)

The weekend is almost end but I will try to share my recommended reads for you:

Using Version Catalog on Android projects

There are already many ways to define dependencies for a project, and we have new one -Version Catalogs. The solution itself looks very interesting and can be very useful especially for managing libraries between many modules.

Appyx vs Jetpack Compose Navigation

Everyone who used Jetpack Compose in large project will probably admit that using native navigation can be problematic, especially when it comes to transferring data between screens. The Appyx library introduces a new approach to solving this problem.

DESIGN PATTERNS (catalog)

As wee all know design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code. This catalog will help you to refresh knowledge about them.

Here are also some videos to watch this evening:

Weekend good reads for Android developers, issue #37 (33/2022)

Hello Android fans, here are some articles for you:

Guide to Android app modularization

Tips and tricks on how to approach the problem of modularization of the project have appeared in the Android documentation. It contains very useful recommended patterns for multi-module applications.

How I keep my Git source control history clean

The article covers some helpful tips for young developers on how to work with git.

On Pair Programming

You have heard about pair programming, this article describes it very well and it is recommended for people who even use this approach on daily basis.

Building Plugable Features on Android

Modularization becomes an important tool to help developers continue to be productive without stepping on each other’s toes. The author examines a way to do this, and how to simplify it with Dagger or Hilt.

That's all for this weekend, have the nice one!

Weekend good reads for Android developers, issue #36 (32/2022)

Hello Android funs, here are some articles for you:

Optimizing Android Performance

I have read hundreds articles about performance and this one can be very useful if you need to play with optimization.

Gotchas in Jetpack Compose Recomposition

Recomposition in Jetpack Compose is the mechanism in which state changes are reflected within an app’s UI. To accomplish this, Compose will rerun a composable function whenever its inputs change. Unfortunately it may break performance optimisations built into Compose and trigger unnecessary work, which have the potential to slow down an app’s UI and waste precious device resources.

AutoSize TextField in Android Jetpack Compose

I think that one of the latest struggles we had with Jetpack Compose was the implementation of the input field that resizes its font when the text is wider than the input field.

Different Kinds of Channels in Kotlin

Quite old article but interesting. The Author described different types of channels in Kotlin.

Weekend good reads for Android developers, issue #35 (28/2022)

After some break, we back with weekend good reads for Android and news

Here are some interesting articles for you for the coming weekend:

Kotlin Multiplatform Parameterized Tests and Grouping Using The Standard Kotlin Testing Framework

Aleksander shared his knowledge about writing parametric tests in Kotlin Multiplatform. This article explains how to achieve this using the standard kotlin.test testing library.

ViewModel: One-off event antipatterns

This article has sparked a heated discussion in the Android developer community recently. The author proposes that any one-off events should be represented as the state of a specific view. I strongly recommend reading it.

Implementing Android App Architecture

Manuel Vivo summed up his Droidcon presentation.

BONUS: Performance Improvements in .NET MAUI

Microsoft has released its long-awaited successor to Xamarin, dubbed .Net MAUI. In this article, you can find a lot of information about their performance improvements.

That's all for now. Have a nice weekend!

Weekend good reads for Android developers, issue #34 (20/2022)

It’s Friday and we have a new pack of articles to go over the weekend.

Jetpack Compose Destinations

In this tutorial, you can learn how to implement an effective navigation pattern with Jetpack Compose, in a way that will work with different screen sizes, from phones to tablets.

Stubbing with doAnswer vs doReturn – what's the difference?

Jarosław Michalik explains the subtle difference between Mockito/MockK's answer vs return.

The Guide To Your First Annotation Processor with KSP (And Becoming A Kotlin Artist)

The author creates a KSP-based annotation processor that generates new code and files based on annotation usages.

[REPO] Now in Android App

Now in Android is a fully functional Android app built entirely with Kotlin and Jetpack Compose. It follows Android design and development best practices and is intended to be a useful reference for developers. This project shows a lot of good practices recommended by Google.

That’s all from us, have a nice weekend.

Weekend good reads for Android developers, issue #33 (19/2022)

It’s Friday and we have a new pack of articles to go over the weekend.

13 Things to know for Android developers at Google I/O!

A lot of news related to Android was presented during the Google I / O conference. The most important of them are:

  • Jetpack Compose 1.2 Beta with more advanced features such as LazyLayouts, built-in Window Insets, or nested scrolling
  • Live Edit, i.e. the ability to immediately preview views created with Jetpack Compose in Android Studio
  • Baseline Profiles accelerating application development by up to 30%
  • More tablet support - Along with this news, Google announced a new Pixel tablet, expected to be available next year
  • Jetpack Compose for Wear OS beta. Additionally, Google announced the release of the Pixel Watch in the fall of this year
  • Health Connect to access and share your health information with other applications
  • Google Play Index, i.e. verification by Google Play that the application uses the correct SDK based on various metrics
  • Android 13 Beta 2

I strongly recommend watching a dedicated playlist for
Android and Play at Google I/O 2022.

Using MotionLayout in Compose

In this blog post, the Author goes over an example of using MotionLayout in Jetpack Compose by animating several widgets in relation to each other.

Design a pixel perfect Android app

The success of your app depends heavily on its UI/UX and from this article, you will learn how to create the best UI for different screens and resolutions.

Fact or kapt? Build your next annotation processor with KSP with David Rawson

Today we have a day of awesome videos :)

https://youtu.be/zI1BWZOoTfw

That’s all from us