Kotlin for Androidアプリ開発–理由と方法およびボーナスのヒント
公開: 2017-10-25Google I / O 2017は、世界が実際に目撃する準備が整っているという一連の発表と進展で終わりました。 そのような発表の1つは、Androidアプリを開発するための公用語としてKotlinを使用することでした。 業界の巨人は、Androidアプリを開発するためのプログラミング言語としてJavaとC ++とともにKotlinを使用する計画を発表しました。
静的に型付けされたプログラミング言語は、JAVAと同じように、JVM(Java仮想マシン)で実行されます。 ロシアを拠点とするプログラマーのJetBrainチームによって開発されたKotlinは、LLVMコンパイラインフラストラクチャを使用するか、JavaScriptソースコードにアセンブルできます。
この記事では、Kotlinが世界中の主要なAndroidアプリケーション開発企業の中で望ましい言語になっている理由を説明します。 また、JavaからKotlinへの移行をスムーズに行うためのいくつかの方法についても見ていきます。
Kotlinが誕生しなければならなかった理由に入る前に、これまでAndroidアプリ開発者が使用してきた人気のプログラミング言語をKotlinがどのように凌駕するかを見てみましょう。
はじめましょう
Kotlinが満たすモバイルアプリプログラミング言語の欠点–
Scala
演算子のオーバーロード
Kotlinは、いくつかのタイプの演算子を定義できるようにすることで、非常に安全なパスをたどります。 それにもかかわらず、これらの演算子は非常に遍在しているため、ソフトウェア開発の初心者でも、それらとその意味を理解できます。
メモリ制約プラットフォーム
Kotlinは、そのコアアーキテクチャの目的の一部として非常に軽量で薄いように設計されているため、メモリが制限されたプラットフォームや小さなプログラムに最適です。
JAVA
簡潔
Javaは、最も鮮明な言語の1つとして有名ではありませんが、これは完全に問題ではありませんが、非常にバグに優しい言語です。 最もよく使用されるイディオムをいくつか使用してAndroid用にエンコードしている場合、詳細なコードを使用すると、バグが発生する可能性が高くなります。
非常に簡潔な言語の後ろに少ないコードを書くと、エラーの可能性が自動的に低くなり、開発者の負担が軽減されます。
汎用性
開発者は、現在のJavaコードで完全に機能するKotlinを使用してモジュールを簡単に作成できます。 JVMおよびすべてのJavaフレームワークとライブラリと完全に互換性があるため、MavenまたはGradleビルドシステムと簡単に統合できます。 一部の言語はオブジェクト指向または断定的に機能しますが、Kotlinは意見が分かれており、互いの哲学を強制することを控えています。
AndroidStudioからのサポート
Kotlinは、AndroidStudioのベースとなるIDEであるIntelliJの背後にある会社であるJetBrainsによって開発されました。 したがって、AndroidStudioがKotlinを優れた方法でサポートしているのは当然のことです。 Kotlinプラグインをインストールすると、Android Studioを使用すると、いくつかのメニューを開くだけで、プロジェクトにKotlinを簡単に構成できます。
迅速
データクラス
Kotlinを使用すると、情報のコンテナを記述できます。これにより、コピーや平等などの要素が自動的に実装されます。
委任されたプロパティとクラス
委任されたクラスまたはプロパティを使用すると、observable、lazyなどのプロパティの動作を簡単に定義したり、メソッドの要求を他のクラスに自発的に転送したりできます。 Kotlinを使用すると、プロパティの代理人を作成することもできます。 Swiftでは、observableのようなプロパティは実装する必要のある修飾子です。つまり、Swiftで提供されているものの使用に制限されています。
注釈
KotlinはJVMのバックグラウンドから来ており、@ testや@injectなどのアノテーションを完全にサポートしています。これはSwiftでは許可されていません。
メモリ管理
開発者にメモリの所有権と実行時間を考えるように強制する参照カウントアプローチで動作するSwiftとは異なり、Kotlinはメモリの管理をはるかに簡単にするガベージコレクターの存在を前提としています。
一連の欠点があっても、Androidの世界はこれらのプログラミング言語の背後でうまく機能しており、Playストア(2017年9月現在)には330万のアプリがあり、 14億人のアクティブユーザー。
「では、なぜ330万のAndroidアプリの開発に役立った言語では、もはや十分ではなかったのでしょうか?」
世界中の経験豊富なAndroidアプリ開発者がKotlinを大衆に受け入れた理由は、ヌルの安全性、関数型プログラミングスタイル、XMLの代わりにAnkoを使用すること、ButterKnifeの依存関係を削除すること、ビルダーと拡張機能、ハックに起因する可能性があります。スムーズな移行のために。
KotlinがGoogleの公用語になることに興奮しているのはアプリ開発者だけではありません。Kotlinは、次のようなテクノロジーの他の側面にも触れます。
- フロントエンドWeb開発
- バックエンドWeb開発
- iOSとMacOSのサポート
Kotlinを楽しみにしている、またはすでに使用しているのはアプリ開発者だけではありません。Kotlinを主要言語として使用している有名なブランドは数多くあります。
Kotlinの利用をすでに開始している企業もあれば、Kotlinの開発プロセス全体を切り替えたさまざまな企業もあります。 Kotlinを介して運営されており、私たちの目に留まっている企業のいくつかは、 Amazon Web Services、Pinterest、Netflix、Coursera、Uber、Square、Vert.x、Trelloなどです。
Kotlinの革命が世界中のAndroid開発者にとってどのように証明されたかを見てきたので、Kotlinが登場したときのために、今日、可能な限りスムーズな方法で自分自身を準備する方法を見てみましょう。 Android開発用の他のすべてのプログラミング言語を置き換えます。
学習期間
新しいプログラミング言語を理解するためのリソースの収集に忙しい世界中のAndroid開発者の群衆に参加する時が来ました。 KotlinでJavaコードベースを簡単に変換できますが、今日のコードとフォーマットの違いを分析するために時間を割いてください。
ボーナスのヒント:オンボーディングプロセスを遅くします。 プラットフォームを理解するために、JAVA開発者に少なくとも1〜2週間を与えてください。
ビルド時間
通常、ビルド時間がインクリメンタルの場合は約30秒から、ビルドのクリーニングの場合は75秒の範囲であったブランドは、Kotlinを組み込んで以来、ビルド時間が長くなっています。 この言語により、クリーン時間は25%増加し、増分ビルド時間は約40%増加しました。
ボーナスのヒント: Kotlinが最初に追加された後は、変換されたファイルの数に関係なく、通常、変更なしのビルド時間と増分ビルド時間は一定のままでした。 1つのファイルを変更した後、ビルド時間がどのようになるかを正確に把握できるようになります。
アップグレード
Kotlin自体は大多数にとって非常に新しいものであり、Kotlinが使用する要素によって目撃されるアップグレードのブレンドに神経質になると、完全な混乱につながる可能性があります。 この突然の情報の洪水は、作業の遅延、プログラムの間違い、そしてKotlinの全体的な奇妙な振る舞いにつながります。
ボーナスのヒント:一度に1つずつアップグレードしてください。 競争の頂点に立つために積極的なアプローチを取る代わりに、ここでは機能しない戦略です。 まず、Gradle、Kotlin、Android Studio、その他すべてが完全に連携するミックスを見つけます。 それが終わったら、アップグレードに進みます。
Kotlinをプロジェクトに組み込む前に、Kotlinでの生活を楽にするためのこれらの方法や同様の他の方法に従うと、プログラミング言語からGoogleの公式言語への移行が容易になります。 重要なのは、チームがプラットフォームに精通し、移行する時間を与えることです。
チームにKotlinを紹介し始める段階に至るまですべてをカバーしたので、KotlinがAndroidアプリ開発を容易にするいくつかのあまり知られていない方法を見てみましょう。
- コンパニオンオブジェクトのデフォルト名を任意の名前に編集できます。
- コードをクリーンにするだけでなく高速にする関数合成をサポートします。
- 生成されたクラスの名前を編集して読みやすくするオプション。
変革を起こす準備はできていますか?