Kotlin, a programming language
Mobile and desktop applications
Example of tasks
Development of mobile application logic
Connecting to different servers for the VPN app
Application behavior when a connection is paused
Pros and cons of Kotlin development
Kotlin is a language developed by a Russian company called JetBrains. The language gathers together the best practices of other languages, and is often chosen over Java.
Kotlin offers the following benefits:
- Saves on development costs. Kotlin covers all the features of Java, but the code is more compact and easier to read. Development with Kotlin is often cheaper than with Java, as well as being easier to maintain during a project’s development.
- Ease of use for developers. There are many additional features that are not available in Java. For example, data class, getters, and setters to reduce boilerplate (and therefore the amount of code), protection from null, and a simpler class structure.
- Security. The language and its programming environment are products of one company. The error base is constantly updated and helps edit code until the program is executed.
Disadvantages of Kotlin:
- Slower speed compared to Java. Kotlin works on the JVM engine, which was developed for Java, so the compilation speed is slower.
- Smaller community. Kotlin is not as popular as Java, so there isn’t as large of an accumulated base of use cases and error solutions.
We create mobile applications
Kotlin OS is often used to develop mobile apps on Android: 80% of the top downloaded apps on Google Play are developed using Kotlin. At OrbitSoft we also use this language to write mobile apps — for example, for an entertainment platform in Canada we developed a VPN-connected app for easy access across multiple countries.
Examples of tasks in Kotlin
The application allows you to connect to the entertainment platform via VPN, even if access to content is blocked for various reasons. Thanks to Kotlin, the functioning of the application is invisible to the user’s eye. But it works, and doesn’t require a large number of resources to maintain.
Cascade Connection makes the connection process invisible. The VPN allows the user’s device to connect to a specific server and access the desired content. Sometimes, when connecting, errors occur, and a connection can’t be established.
Cascade Connection solves this problem seamlessly: if it fails to connect to one server, the application automatically connects to another. The user is blissfully unaware.
Base for application logic changes. During the application’s time in the field, the company’s sign-up approach changed several times. First there were free accounts for 7 days. Then a switch was made to a completely paid scheme, where a person couldn’t use the service without a subscription. Finally, a combined option appeared.
By changing the application logic to Kotlin, it made everything easier to read and understand. The project is now supported by a different development team. They rarely need to ask for clarifications due to the now easy-to-read code.