Pull to refresh
34.4

Kotlin *

Kotlin is a statically typed programming language

Show first
Rating limit
Level of difficulty

Create a native Kotlin application with Spring Boot Native, Gradle, and GraalVM without Docker for MacOS and Windows

Level of difficulty Medium
Reading time 11 min
Views 1.4K

In this tutorial, I want to talk about the practical experience of native compilation of a production application written in Kotlin with Spring Boot and Gradle using GraalVM. I’ll start right away with the pros and cons of the native compilation feature itself and where it can be useful, and then I’ll move directly to the build process for MacOS and Windows.

At the end of the article, in the afterword block, I will talk in more detail about the project and why such a need arose, given quite a few limitations and pitfalls of supporting native compilation both from Spring Boot and from GraalVM.

Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Referential Transparency as a mechanism for building Reliable Programs

Level of difficulty Easy
Reading time 4 min
Views 507

Referential transparency, a key concept in functional programming, is often associated with more reliable, easier to test, and safer software. This term refers to a principle in which a function, given the same input, will always produce the same output without producing any side effects.

In the real world of software development, side effects are inevitable. Programs are rarely useful unless they interact with the outside world. This interaction could be reading from or writing to the console, making network requests, querying a database, or modifying a variable.

Yet, despite the necessity of side effects, they introduce risks and complexities. Programs with side effects are harder to test, harder to reason about, and more prone to bugs. They can also make the system as a whole more difficult to understand and maintain, due to hidden dependencies between components.

Enter referential transparency - a concept that means a function, given the same input, will always provide the same output, without creating any side effects. A function that adheres to this principle doesn't read any global state or change any state outside of its scope. The result is code that is more predictable and easier to reason about.

In terms of software safety and reliability, the absence of side effects is not enough. Programs should also be free from external influence - their results should only depend on their arguments. That is, programs should not read data from the console, a file, network, database, or even system variables.

Yes
Total votes 1: ↑1 and ↓0 +1
Comments 3

10 Easy Steps to Build an Android Chat App using Kotlin in 2022

Reading time 6 min
Views 5.4K

This tutorial will guide you step by step in building an Android chat app in Kotlin with the help of third-party messaging SDKs. The reason I chose Kotlin for this tutorial is that - it is a lightweight programming language suggested by Google for building apps that work on Android devices. 

In the steps ahead, I’ll show you how to develop an app in Android Studio, with messaging features that can integrate using SDKs. I use MirrorFly’s chat SDKs throughout this tutorial.

Read more
Total votes 4: ↑3 and ↓1 +2
Comments 2

Telegram bot provides time-based currency

Reading time 2 min
Views 7.7K

Many of us spend time in specialized telegram groups. The power over communication here belongs to random people with their own shortcomings. Conflict and abuse occurs regularly. Is there another way to keep order so that scam spam doesn't flourish and no one has total control over group members?

In my case, these thoughts led to the development and testing of a system that can be connected to your Telegram today.

How it works?
Total votes 6: ↑5 and ↓1 +4
Comments 5

Build (CI/CD) of non-JVM projects using gradle/kotlin

Reading time 11 min
Views 1.3K

In some projects, the build script is playing the role of Cinderella. The team focuses its main effort on code development. And the build process itself could be handled by people who are far from development (for example, those responsible for operation or deployment). If the build script works somehow, then everyone prefers not to touch it, and noone ever is thinking about optimization. However, in large heterogeneous projects, the build process could be quite complex, and it is possible to approach it as an independent project. If however you treat the build script as a secondary unimportant project, then the result will be an indigestible imperative script, the support of which will be rather difficult.


In the previous post we looked at what criteria we used to choose the toolkit, and why we chose gradle/kotlin, and in this post we will take a look at how we use gradle/kotlin to automate the build of non-JVM projects. (There is also a Russian version.)


CI/CD (opensource.com)


Introduction


Gradle for JVM projects is a universally recognized tool and does not need additional recommendations. For projects outside of the JVM platform, it is also used. For instance, the official documentation describes usage scenarios for C++ and Swift projects. We use gradle to automate the build, test, and deployment of a heterogeneous project that includes modules in node.js, golang, terraform.

Read more →
Total votes 1: ↑1 and ↓0 +1
Comments 0

Solving coding problems with Kotlin: Collection functions

Reading time 7 min
Views 2.6K

(originally published on Medium)

I have talked to many Android developers, and most of them are excited about Kotlin. So am I. When I just started learning Koltin, I was solving Kotlin Koans, and along with other great features, I was impressed with the power of functions for performing operations on collections. Since then, I spent three years writing Koltin code but rarely utilised all the potential of the language.

During this year, I did more than a hundred coding problems on Leetcode in Java. I didn’t switch to Kotlin because I know the syntax of Java 6 so well, that I could effortlessly write code without autocompletion and syntax highlighting. But I didn’t keep track of new Java features, as Android support of Java SDK lacked many versions behind. I didn’t switch to Kotlin for solving problems right away. Although I was writing Kotlin code for several years, I felt that I need to make an extra cognitive effort to get the syntax and the language constructions right. Solving algorithmic problems, especially under the time pressure, is very different from Android app development. Still, the more I learned about Kotlin, the more I realised how many powerful features I’m missing, and how much boilerplate code I need to write.

One day, I have decided that I need to move on, so I started a new session in Leetcode and switched the compiler to Kotlin. I solved just a few easy problems, but I already feel that I have something to share.

Читать далее
Rating 0
Comments 0

Top 10 Kotlin App Development Companies 2020-21

Reading time 10 min
Views 3.1K
image

Kotlin is a JVM compatible & Java interoperable language that is the most-encouraged language by Google for developing Android apps & production-grade systems. According to Snyk, over the last few years, Kotlin has gained a huge user and developer base for robust, and secure app development.

The user-base has been shifted from 2.4% to 5.4%, that is a growth of 130% in the user population. This population growth and increment in its usage has made it the second most popular JVM language, that is quite surprising.

The reason for Kotlin application development is its 100% interoperability with Java. Around 7.78% of the world developers use Kotlin as their primary coding language. According to insights.dice- Kotlin is used 96% for new projects and 36% for migrating applications from Java to Kotlin. You can use it directly with Java code to make it more efficient, and it works concurrently or without any issue.

image

Many benchmark android applications of startups to moonshots have been built using Kotlin. Various startups and brands like EverNote, Twitter, Netflix, Slack, American Express, Airbnb, Adobe, and many others from different industry verticals opted for Kotlin app development.
Read more →
Total votes 4: ↑2 and ↓2 0
Comments 7

Understanding the Concept of Modern Web App Development In 2020

Reading time 8 min
Views 2.5K


Millions of businesses exchange information on the internet and to interact with their target audience. This helps them make fast and secure transactions over the web. However, business goals can be achieved when the businesses are able to store all this data for the means of presenting quality output to the end users.

Simply put, in the development industry a web application (or “web app”) is more like a program that uses a web browser to handle the storage and retrieval of the information to present information to the users. This allows a user to interact with the company using the online forms, e-shopping carts, CMS, etc. Some more examples of web applications are online banking, online polls, online forums, online reservations, shopping cart, and interactive games.

Learning about web development is kind of like having too many things on a plate. This blog serves as a way to get your acquainted with the world of web app development.
Read more →
Total votes 4: ↑2 and ↓2 0
Comments 0

RxJava to Coroutines: end-to-end feature migration

Reading time 7 min
Views 4.5K
image

(originally published on Medium)

Kotlin coroutines are much more than just lightweight threads — they are a new paradigm that helps developers to deal with concurrency in a structured and idiomatic way.

When developing an Android app one should consider many different things: taking long-running operations off the UI thread, handling lifecycle events, cancelling subscriptions, switching back to the UI thread to update the user interface. In the last couple of years RxJava became one of the most commonly used frameworks to solve this set of problems. In this article I’m going to guide you through the end-to-end feature migration from RxJava to coroutines.
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 2

Top programming languages for Android App development in 2020

Reading time 5 min
Views 11K
Do you have any idea how many Android apps are there in the world? As of 2019’s first quarter, there were approximately 2.6 million android apps around the globe. That’s a huge number which leads to stiff competition in the market.

There is no other option other than offering a robust and efficient Android app to survive in this flourishing industry. The selection of the right tech-stack is highly important if you want to get a flawless development of your Android app.
Read more →
Total votes 6: ↑3 and ↓3 0
Comments 0

Kotlin: How It Is A Great Choice For Android App Development?

Reading time 4 min
Views 2.1K


In 2017, Google declared Kotlin as its second official language for Android application development. The language itself proving to be a modern, intuitive and pragmatic programming language. That’s why Kotlin's app development community is growing at a fast pace. For android app developers, using Kotlin with Java can reduce excessive boilerplate code which is a huge win for them.

In order to heighten productivity, Kotlin language comes with amazing functional features that support Java interoperability. It has effectively improved the coding experience of developers by introducing concise expressions, abstractions, and improved syntax.
Read more →
Total votes 4: ↑2 and ↓2 0
Comments 0

Navigation in Multi-Module Projects

Reading time 10 min
Views 9.6K


Navigation in developing Android apps is quite important and you should think twice what library suits (or your own solution) most and how it will be convenient to use when the app becomes bigger. Also, it might be good to think about how easy it will be to change your implementation to another one.
Read more →
Total votes 13: ↑13 and ↓0 +13
Comments 1

Authors' contribution