
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開発基礎は現在リニューアル中ですのでしばらくお待ち下さい