KotlinとJava:KotlinはJavaに取って代わりますか?

公開: 2021-10-05

Androidモバイル開発用の2つの言語(それぞれKotlinとJava)のすべての主な美しさを説明するための記事がメインになりました。

この記事は2017年3月10日までさかのぼりますが、その時点ではKotlinはまだGoogleの公式言語にはなりません。

カスタムAndroidアプリケーションで作業する開発者を選択する場合、開発者が使用する特定のテクノロジーが不可欠です。 現在Googleで最も一般的に使用されている2つの言語は、JavaとKotlinです(ただし、Googleからの公式サポートはまだありません)。そのため、最初は、チームのコーディングが重要ではないように思われるかもしれません。 ただし、さらに検討すると、プログラミング言語によって時間と費用の一部が削減される可能性があることがわかります。

また読む:グーグルプレイ拒否の理由

興味深い事実:コトリンは島(サンクトペテルブルク市の近くにあるコトリン島)にちなんで名付けられました。 Kotlinのこの比較的新しいプログラミング言語は、将来のAndroidアプリが開発の基盤となる大きな可能性を秘めた巨大な力に徐々に変わりつつあります。

技術的には6に会いますが、実際には1歳のKotlinです。

もともと、2011年に発表されたバージョンとして、KotlinはJetBrainsと呼ばれるサンクトペテルブルクのプログラマーのチームからJava仮想マシンの新しい言語として最初に登場しました。 彼らがAndroid開発用の新しい「スピニングホイール」を思いついた理由は非常に理解しやすいです。 どうやら、いくつかあります:

  • Javaはすでに22年前から存在しています(プログラミング言語のかなりの用語です)。そのため、Javaの巨大さと時代遅れのために、実装できない機能がたくさんあります。

  • Javaでは、長いコードの組み合わせを記述する必要があります

  • Javaで書かれたコードはコンパイルにかなり時間がかかります

ただし、Kotlin開発チームはそれを穏やかに表現し、Scalaを除いて、世界中のエンジニアが望んでいた機能が混在していない言語がたくさんあることに同意しました。 ただし、Jet BrainsCorporationのテクニカルリーダーであるDmitryJeremovが指摘したように、Scalaのコンパイル時間は遅く、現代のITサービスの速度には不十分です。
最後に、昨年の2月はJB企業全体にとって特別な月でした。最初のKotlin 1.0バージョンは、安定したリリースで世界を公式に見たからです。
それ以来、Jet Brainsの公式ブログで、しばらくお待ちいただくようアドバイスし、バグ修正とJavaスクリプトのサポートに焦点を当てた新しい1.1Kotlinアップデートを間もなくリリースすることを約束しました。 この記事が公開されたとき(2017年3月10日)、1.1 Kotlinバージョンはわずか1週間前にリリースされましたが、世界はすでにそれについて話し合っています。 では、KotlinとJavaを比較した場合、大きな違いはありますか?

ホイールの再発明ではありません。

KotlinとJavaの違いを見ると、Androidアプリを開発しようとしている人にとって望ましい効果をもたらす可能性のあるJavaに対するKotlinの利点が確かにいくつかあります。

Kotlin forAndroidを使用する理由

それでは、最初のどこかから始めましょう。

Kotlinを使用する理由:

1)Kotlinは書くのに必要なコードが少なくて済みます。

少なくとも20%少ない。 前述のように、22年前のJavaはすでに少し古くなっています+ Oracleは下位互換性のある言語としてJavaを作成しました。つまり、新しく起動されたすべてのバージョンは、前のバージョンに含まれる機能をサポートする必要があります。 、更新のたびに、いくつかの新機能を含めることが難しくなります。 その結果、書き込むコードの量も増加します。
それどころか、Kotlinのアーキテクチャはゼロから作成されたため、レイヤー間のアーキテクチャがありませんでした。

2)Kotlinで発生するクラッシュが少なくなります。

Kotlin JVMは、しばしば「10億ドルの間違い」と呼ばれるため、問題がはるかに少なくなります。NullPointerExeptionの問題はそこで防止できます。 NullPointerはまだすべてのプログラミング言語に存在しますが、NullPointerの操作方法は異なる場合があります。 記録として、Javaでは、リンクがnullかどうかを手動で確認する必要があります。 nullを逃した場合-ブーム、クラッシュ、出来上がり! Kotlinのおかげで、この言語ではすべてのオブジェクトが自動的にNullに設定され、NullPointerの自動チェックが行われ、コードが正しく機能しないようになっています。

3)Kotlinは型安全言語です。

繰り返しますが、Kotlinではすべてのクラスが関数であり、その逆も同様です。 これに加えて、iOS用のSwiftと同様に、Android用のKotlinにはオプションのタイプがあり、すべての安全検査に役立ちます。

また読む:Objective-CよりもSiwftを使用する利点

4)Kotlinは、貴重な時間を節約します。

すでに述べたように、コードが少ないほどバグが少なくなり、コーディングプロセス全体で追跡される時間が少なくなります。 また、ソフトウェア開発チームは、開発者がコーディングに費やした時間に応じて、プロジェクトの総コストを計算することがよくあります。

Javaに対するKotlinの利点のいくつかを次に示します。 KotlinはまだGoogleによって正式にサポートされておらず、最初のコードコンパイル中に数秒かかりますが、これらすべての点をカバーしているので、Kotlinのプログラミング言語には多くの美しさがあり、その速度を考慮すると明らかになります。勢いを増し、Kotlin-Switchにとって賢明なアイデアであることは間違いありません。

AndroidとiOSの開発の違いについて読む

「切り替えたらどうなりますか?」

私たちが住んでいる世界は、多くの場合、かなり予測不可能になります。モバイルアプリケーションの開発に関しては、作業しているチームを変更する必要がある場合があります。 以前はアウトソーシングチームと協力していたとしましょうが、現在、プロジェクトの社内開発のリクエストがあります。 ある言語から別の言語への「翻訳」を行うのはどれほど難しいでしょうか。
繰り返しになりますが、答えは以前のエンジニアが使用した技術によって異なります。 例としてJavaからKotlinへの切り替えを取り上げると、間違いなく解決策があります。 Jet Brainsは、この問題の解決に役立つJava-Kotlinコンバーターを作成しました。 ただし、変換プロセス中にまだエラーが発生しているため、監視する必要があり、一部の操作は手動で設定する必要があります。

欠点としては、JavaからKotlinへの変換は、すべての関数、メソッド、および変数を変換できるわけではないため、さらに停滞し、苦痛を伴うことになります。 おそらく、あなたが協力する新しいチームの最も迅速な解決策は、可能であればJavaで書き続けることでしょう。

また、別の言語に変換できるかどうかは、プロジェクトのサイズによって異なります。 一般的に言って、プロジェクトには、大の3種類があります。

  • 小規模なプロジェクトには約160〜200時間かかります。複雑なアーキテクチャがない場合は、Kotlinに転送できる可能性があります。

  • 中規模プロジェクトは最大5か月の開発で構成されており、変換するのはかなり不便です。

  • 大規模なプロジェクトの開発は5か月の期間から始まり、このカテゴリのプロジェクトを別の言語に変換することはまったく不可能です。

全体として、「切り替え」の顧客にとって最良のオプションは、以前のプロジェクト所有者が使用したのと同じ技術、言語、およびフレームワークを使用するエンジニアと常に協力し始めることです。 とにかく、変更が避けられない場合は、「新しいレキシコン」を選択することを強くお勧めします。 たとえば、JavaではなくKotlinを選択します。

よりスマートな方法でAndroid用にコーディングする簡潔な方法。

将来のAndroid言語としてのKotlin

または、少なくともKotlinのスローガンはそうです。 間違いなく、Kotlinには長所と短所があるかもしれませんが、Kotlinが登場すると、多くの機能が実用化されました。また、新しくリリースされたバージョンのKotlin 1.1により、Javaスクリプトが正式にサポートされるようになり、以前は夢のような機能が多数実装される可能性があります。と。

Mind Studiosでは、最初の安定バージョンが登場して以来、Android開発用のKotlinにも手を出しました。 Mi Band Control(Mi Band Wristbandのアクティビティトラッカー)は、Kotlinで完全に開発されたアプリケーションです。 この経験により、Kotlinは、開発者によるAndroid向けのよりスマートで簡潔なコーディング方法であることが証明されました。 したがって、アプリの言語を賢く選択しますが、ループにとどまることを忘れないでください!

VsevolodKaganovichとElinaBessarabovaによって書かれました。