見出し画像

Kotlinを勧めたい

以前にこういう記事を書きました

それのKotlin版です
最近結構Kotlinで遊んでいておすすめしたいので書いていきます
元々Androidエンジニアもしておりましたが進化がすごい!
Rubyも書き直したいな

Kotlinとは?

Kotlinは、2011年にJetBrains社が開発した静的型付けのオブジェクト指向プログラミング言語です
JVM(Java仮想マシン)上で動作し、Javaとの相互運用性を持ちながら、より簡潔で安全なコードを書けるのが特徴です

2017年にGoogleがAndroidアプリ開発の公式言語として採用したことで注目を集め、現在ではAndroidアプリ開発における主流言語の一つとなっています

Kotlinで出来ること

ではKotlinで何が出来るかを見ていきましょう

Androidアプリ開発

Androidアプリ開発における主流言語の一つであり、Javaよりも簡潔で安全なコードでアプリ開発することができます
現在Googleが公式に推奨している言語です
Kotlinの用途はほぼこれです

Web開発

Ktorなどのフレームワークを用いることで、Webアプリケーションやバックエンドサービスの開発にも利用できます
またJavaのSpringBootというフレームワークを用いて開発することも出来ます

マルチプラットフォーム開発

実は最近ですがマルチプラットフォーム開発が出来るようになりました
どういうことかというとIOSアプリやデスクトップアプリもKotlinで作れるということです
今までIOSアプリはSwiftという言語を使ってました
そしてAndroid、IOS双方開発したい場合は
・Flutter
・JavaScript
・ReactNative
・Python
などを使えば可能でしたがある程度制約付きでした

しかしKotlinはネイティブなマルチプラットフォーム開発ができるということになりました
これは素晴らしいですね
まぁ単純にKotlin>その他という関係になったわけでは無いです

その他

Javaと互換性があるのでJavaでできることはKotlinも基本的に出来ます
システム開発とかも可能です
Androidアプリ開発がメインですが実はいろいろ出来ます
ただ注意してほしいのは
Kotlin>Javaというわけではないということです

Javaとのコード比較

ちょっとJavaとKotlinのコードを比較してみましょう
ChatGPTにコードを用意してもらいました

まずはHello,worldと出力するコードの比較

Java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world");
    }
}

Kotlin

fun main() {
    println("Hello, world")
}

続いてFizzBuzzのコードを比べてみましょう

Java

public class FizzBuzz {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            if (i % 15 == 0) {
                System.out.println("FizzBuzz");
            } else if (i % 3 == 0) {
                System.out.println("Fizz");
            } else if (i % 5 == 0) {
                System.out.println("Buzz");
            } else {
                System.out.println(i);
            }
        }
    }
}

Kotlin

fun main() {
    for (i in 1..100) {
        when {
            i % 15 == 0 -> println("FizzBuzz")
            i % 3 == 0 -> println("Fizz")
            i % 5 == 0 -> println("Buzz")
            else -> println(i)
        }
    }
}

最後におみくじを比べてみましょう

Java

import java.util.Random;

public class Omikuji {
    public static void main(String[] args) {
        String[] fortunes = {"大吉", "中吉", "小吉", "吉", "末吉", "凶", "大凶"};
        Random random = new Random();
        int randomIndex = random.nextInt(fortunes.length);
        String result = fortunes[randomIndex];
        System.out.println("今日の運勢は: " + result);
    }
}

Kotlin

import kotlin.random.Random

fun main() {
    val fortunes = listOf("大吉", "中吉", "小吉", "吉", "末吉", "凶", "大凶")
    val randomIndex = Random.nextInt(fortunes.size)
    val result = fortunes[randomIndex]
    println("今日の運勢は: $result")
}

このようにKotlinの方が短く書くことが出来ますね

Kotlinはなにを学べばいいの?

最後にこれを提示しておきます
Kotlinで何をしたいかにもよりますが全体的に学ぶと過程するとこのようになるのかな?と思います

  • Kotlinの基礎

  • Android開発

  • マルチプラットフォーム開発

  • バックエンド開発(今だとSpringBootがいいかも)

宣伝になりますがKotlinの基礎資料は結構いいボリュームで安価で用意しております

よかったら活用してください
Android開発基礎は現在リニューアル中ですのでしばらくお待ち下さい

いいなと思ったら応援しよう!