はじめに
ここまでの流れを見ていると、将来的にアプリからWebまで、KotlinとSwift(あとJS)で全て完結みたいな将来が起こり得るかもしれないなと勝手に推察している。
一体どういうことか以下に書いていく。
ここまでの流れ
1. Single Page Applicationの台頭
最近のトレンドとして、バックエンドでは全て共通のAPIを使用して、
Web, iOS App, Android Appをそれぞれを全てフロント側で表現するアーキテクチャが模索されてきている。
2. Kotlinが、Android公式言語に
2017年5月KotlinがAndroidの公式言語になる。
https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
そして、以下の理由からも今後Kotlinを使う機運が上がると推察される。
・クラッシュの最大要因であるNullpoのクラッシュ抑えれる。
・既存のJavaコードも併用して使える。
3. KotlinとSwiftの言語仕様はかなり同じ
KotlinとSwiftでは、言語仕様がかなり似てるのでコードのロジックや書き方をかなり使いまわせる(当然それぞれアーキテクチャは違うのでそこは要検討)
そのため、iOSではSwiftが主流になった今、Android/iOS両方のエンジニアとして取り組むシチュエーションを考えるとKotlinを導入するメリットは大いにある。
4. Spring FrameworkもKotlinに対応
2017年1月より、Spring FrameworkもKotlinに対応している。
https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0
そして、2.と同様、以下の理由からも今後Kotlinを使う機運が上がると推察される。
・クラッシュの最大要因であるNullpoのクラッシュ抑えれる。
・処理が早い(他のWeb開発用言語と比較して)
また、2.および3.より、アプリのエンジニアがバックエンドに移行する際に、
言語仕様の新規キャッチアップが少なくバックエンドにノウハウを導入できるので非常にメリットが大きい。
5. JavaのEOL問題
Javaが以後リリースのバージョンをリリースから半年しかサポートしない判断を下しており、Javaの使用が今後より敬遠されることが推察される。
http://d.hatena.ne.jp/nowokay/20171007
ここからの推察
そもそも、AndroidのKotlin採用の意図がどこかを考えた時、Java依存を排除するためのものであると考える。
OracleからJava関係でAndroidが訴訟を起こされていることもその根拠にはなる。
https://japan.zdnet.com/article/35089816/
そのことや5.のEOSLの問題もあり、よりGoogleはKotlinを推すようになるのでは?と推察される。
また、そうなった際にKotlinのためのVMも究極Googleが独自のものを出し、Javaでの制限が仮に生じてもKotlinを全面的にバックアップするのでは?という見立ても思い浮かぶ。
つまり、上記の流れからKotlinがAndroidのスタンダードとなり、**AndroidとiOSで今後類似した言語仕様での開発がスタンダードになるのでは?**という推察である。
そして、そうなったときに組織内のエンジニア移行・学習観点からアプリとバックエンドで同一言語で統一する流れも増えるのでは?と思われる。
アプリ開発が主体で開発が進む時代になりつつあること、そして4.で書いてあるようにWebでもKotlinを導入するメリットがおおいにあることもその根拠になる。
これが AppからWebまでKotlinが天下を取る流れ である。
当然バックエンドに関してはGoも流行り出しているし、上記も完全なる推論だが、Kotlin Confも開催され盛り上がりを見せているKotlin。
以上のような世界線もおおいに考えられるのでは?と思っている。
記事をお読みいただき、ありがとうございました!
もし参考になったと感じましたら、どうか「いいね」よろしくお願いいたしますm(_ _)m