Kot. Academy Blog
501 FOLLOWERS
Marcin Moskala is the creator of Kot. Academy and author of the book "Android Development with Kotlin". He is also an experienced Android developer passionate about Kotlin since its early beta release. A Blog with a mission to simplify Kotlin's learning.
Kot. Academy Blog
1w ago
Jetpack Compose Series Episode IV— Nested Lazy Column
When displaying groups of elements, we generally use columns and rows. But when it comes to displaying long lists, compose provides efficient alternatives like LazyColumn and LazyRow, which only render visible items in the screen.
This lazy loading approach improves performance and reduces memory consumption.
Before implementing Nested LazyColumn, let’s briefly go through some basics about available components to render large list.
I. LazyColumn & LazyRow
When rendering large datasets, we often use LazyColumn for ver ..read more
Kot. Academy Blog
1M ago
Lesson You Skipped in Jetpack Compose ☄
Core concepts of Composables and its helping hands — Episode III
We have used Composable in the last episodes of the Jetpack Compose Series. Now, Let’s see what happens under the hood.
When we annotate @Composable we tell the Compose compiler that this function is meant to convert data into UI elements. This rendering process happens in three key phases:
Composition: Determines what UI elements to display. Compose execute composable functions to create a blueprint of UI.
Layout: Determines where to position UI elements. This ph ..read more
Kot. Academy Blog
2M ago
Photo by Marc Reichelt on Unsplash
Kotlin is a modern programming language with its first stable release in February 2016. It began development in 2010 as developers found a need to build a language that was concise, elegant, and expressive, but also interoperable with Java.
This led to many design decisions that have shaped what we call idiomatic Kotlin today, as it has inherited both the learnings and the baggage of Java error handling. In this article, we’ll break down how Kotlin came to be, its approach to error handling and how we can implement it the way it was designed.
Side-n ..read more
Kot. Academy Blog
2M ago
Photo by Jessica Pamp on Unsplash
There are two ways of declaring variables in Kotlin.
With a type:
[val/var][variable_name]: [type] = [value]
2. Without a type:
[val/var][variable_name] = [value]
It is a good practice to specify types when declaring variables in order to assign correct values. However, most Kotlin developers rarely do it and prefer the second option. By now, you might be asking yourself these questions:
How, then, does Kotlin know the type of a variable without declaring its type?
Is it possible to infer types programmatically?
Before we answe ..read more
Kot. Academy Blog
2M ago
Long time no see!
The first two months of 2024 have passed! We hope they went well for you, and even better things are about to come.
In this newsletter, we’ll dive deep into Kotlin and Jetpack Compose, and we’ll exercise our Kotlin skills.
Have fun! ?
Articles
Effective Kotlin Item 20: Do not repeat common algorithms.Learn the importance of extracting utility functions for your programs to avoid reinventing the wheel and optimising your code. Goodbye to repetitive algorithms!
? Go to the article
Effective Kotlin Item 25: Each function should be written in terms of a single leve ..read more
Kot. Academy Blog
2M ago
TL;DR
This article guides you through writing a script in Kotlin, which makes API calls to the GitHub API to fetch and delete certain GitHub Package versions and how to launch this script on CI. Find the full code on this GitHub repository.
At Temper, we built a Kotlin Multiplatform library to share code across various front-end platforms. We use KMMBridge’ standard GitHub Action to publish a new version of our library to GitHub Packages after merging any pull request. To optimize hosting costs and avoid cluttering the repository with not-used outdated packages, we decided to automate the clea ..read more
Kot. Academy Blog
2M ago
Navigation in Jetpack Compose
Deep Dive into Compose Navigation with Nested, Multiple Backstack & Dialog Navigation
Jetpack Beginner Series Episode II — Compose Navigation
In Episode I of the Jetpack Compose Series, we covered creating a login page and experimenting with UI elements. Today, let’s dive into an exciting topic. We’re going to explore how to make navigation in Jetpack Compose.
Getting started!
Before we begin, let’s include a dependency on navigation-compose, which is the Compose-supporting artifact for the Navigation component.
dependencies { def nav_version ..read more
Kot. Academy Blog
2M ago
Let’s look under the hood and understand how sequences work and how we get performance benefits.
I conduct a significant number of technical interviews for Android (over 100 per year). Based on my interview experience, I have observed that the vast majority of developers are hesitant to use sequences in their work because they do not understand how they work. Most importantly, they lack an understanding of when sequences provide benefits and when they do not.
There is no clear information about this anywhere on the web (at least I haven’t found it). Everywhere only general phrases are giv ..read more
Kot. Academy Blog
3M ago
Jetpack Compose ? Beginner’s Series
The only Android Jetpack Compose guide you need. A straightforward insight leads you from foundational basics to advanced.
Jetpack Compose Android Tutorial Series
? Namaste!
Welcome to this comprehensive series where I’ll guide you through building a Jetpack Compose app from the ground up. This will be a quick no-nonsense guide for you, covering various sections:
The basic components of Jetpack Compose
Material3 Themes & Guidelines
Navigation with Jetpack Compose
The New Splash Screen API
Bottom Navigation in Jetpack Compose
Nes ..read more
Kot. Academy Blog
3M ago
Hello!
We’re thrilled to share the exciting news that last week marked our 6th anniversary! ? It’s been an incredible journey dedicated to spreading knowledge about Kotlin, fueled by research, hands-on experience, and continuous practice. While we’ve achieved significant milestones, our journey is far from over — we’re committed to reaching even greater heights.
In gratitude for your support, we’re extending a special birthday offer just for our subscribers:
⭐ a fantastic 60 euros off the regular price for our upcoming open online workshops!*
⭐ Any Kotlin ebook for only 16 euros ..read more