「Androidアプリを作るならJavaではなくKotlinを使った方がいい」という声をよく聞くようになってきました。Kotlinは2011年に発表された言語。2017年にGoogleがKotlinをAndroidアプリの開発言語に選定したことがきっかけで、近年導入する企業が増加しています。 ドットインストール まずはじめに、開発環境を用意していきましょう。 Javaの入門書ではEclipseやコマンドプロンプトを使うのが一般的ですが、このシリーズではAndroid Studioを使っていきます。. Android と Java は仲の良いように見えますが、その裏で Google と Oracle 熾烈な戦いが行われています。 端を発したのは、 2010年8月。 Oracle社が、 Google 社を訴える。内容は、 Android は Java の特許を 7つ侵害している 、と。 ここまでの記事はこちら.
3. 開発は、C++、Java Script、LUA言語にも対応しています。両方を使用して実装していきます。 【作成された代表的ゲーム】 モンスターストライク、ディズニーツムツム トップへ戻る. Androidのアプリを作ってみようと思ったことはありますか?実はAndroidのアプリはコツさえ覚えれば、割と簡単にできてしまいます。 日本ではiPhoneユーザーが多いですが、世界のスマホユーザーの80%くらいはAndroidを使用中。そのため、Androidでのアプリ制作法を覚えておくと、そのうち世界の … ゲーム開発によく使われるプログラミング言語 3.1 C# Kotlin に比べて Java の方が開発範囲が広いと思って本項目をピックアップしたのですが、 Java と100%互換性を持つ Kotlinは、実は Java とほぼ同じ範囲で開発が可能。Kotlin に比べて Java の方が歴史ある分、投稿数が多いのかもしれません。現在 Google 社は、 Android と Chrome OS という二つの OS を運営しています。その 2つの OS を統合した Fuchsia という新しい OS の開発も進められているという噂。 Fuchsiaについては、未確定要素も多く必要以上に不安を煽ってもいけないのですが、これからスマートフォンの OS = Android とは限らない、ということですね。プログラミング言語の使い方やアプリケーションの開発を学習するにあたって、 YouTube の教材を利用される方も多いと思います。明らかに Java を運営している Oracle 社の方が大きく、安定していそうなことが確認できます。上記の Kotlin 製 Hello World のコードをコピーし、 SampleKotlin.kt に貼り付け。なお Kotlin のプログラム実行には、パソコンに Kotlin をインストールしておく必要があります。Kotlin の実行環境があるかどうかは、下記のコードをコマンドプロンプトもしくはターミナルで実行してみてください。次に実際にプログラムを実行する過程を確認してみました。まずは Kotlin から。以上、学習環境面で Kotlinと Java を比較した結果、 Java の方がネット上の情報量が多く、エラー対策も迅速に行えそうなことから、 Java の方が優位と考えます。ちなみに Java の null 対策はいくつか方法がありますが、 if文 を使った簡単な例は以下のようになります。Kotlin でプログラムを実行するコマンドは以下のようになります。プログラミングスクールの学習をサポートする「ドットインストール」や「Progate」。この辺りの Kotlin 対応状況を確認してみました。nullは、何も値がないということを意味し、アプリケーションを開発するにあたって、 null は避けては通れない構文の一つ。 nullの例を挙げると、ユーザー登録の入力欄で「任意」という値がありますよね。その任意の入力欄に何も入力していない場合は、 null としてデータベースにポスト。コードを例に挙げてみると分かりやすいと思いますので、Java と kotlin で null の違いを比較してみました。今度は先ほど実行した Java のプログラムを、 Kotlin に書き換えて実行してみました(上図)。すると Kotlin の場合は、コンパイル時でエラーが発生。プログラムを実行することができません。現在 Android アプリ開発を学ぶための参考書は、 Kotlin も Java も同じぐらいリリースされています。以上が Java と kotlin の null に対するプログラムの違いで、一般的には Kotlin の方が null エラーを未然に防げるため安全で優れているという風に言われています。しかし、 Swift の場合もそうですが、個人的には何でもかんでも null 安全というのはちょっと慣れにくい部分でもありました。このあたりは実際にプログラムを作成していく中で感じることができると思いますよ。まずはプリント文の比較を Kotlin と Java で行ってみました。またエラー内容を確認すると、 null の設定が正しくないと表示されています。このように kotlin は、 Java ではコンパイル時に発見できなかった null エラーをコンパイル時に発見することができ、アプリケーションエラーを未然に防ぐことが可能。それで Kotlin と Java どちらの方が YouTube 上のコンテンツが充実しているか確認してみました。ボリュームとしては Kotlin も Java も同じぐらいな印象を受けますが、 Kotlin の方が新しく製作された感が強く、見てみようという意欲が正直湧きます。そういった意味では、 Kotlin の方が勝ちかな、と思いますね。ただし Java に比べるとリリースされているフレームワークやプラットフォームの種類は少ないので、情報量や開発手段の可能性としては Java の方が勝ると思いますね。しかしそんな安全と言われる Java にも欠点が。その代表的な例が 『null』。明らかに Kotlin の方が記述量が少なく、シンプルなコードであることが確認できます。Javaは、 Python や Ruby のようなプログラミング言語と違って、プログラム実行前にコンパイルが必要。コンパイルすることによって、プログラム・エラーを未然に発見することができ、エラーの少ない比較的安全な言語として利用可能。ただ、だからといって何もしないのは一番生産性が低いかもしれません。Web アプリケーションについては Kotlin 製フレームワークのTornadoFXが開発を手伝ってくれ、ゲームについてはクロスプラットフォームの libGDX、 人工知能についても TensorFlow for C によって Kotlin で様々なアプリケーションを作ることが可能。このようなアプリケーション・エラーを発生させないために、 Java の場合は null に対してデリケートになりますが、一方 Kotlin の方は Java ではコンパイル・スルーするような null エラーも、コンパイル時にエラー・キャッチ!!次は Java で Hello world を出力する過程を確認していきます。これから勉強しようとするプログラミング言語が、今後も継続的に発展し続けるかどうか、という問題は学習意欲にも関係してくるでしょう。 勉強するプログラミング言語が広く社会に普及すれば、最初は趣味として学んでいた言語も仕事や就職などに生かすことが可能。こうした Google と Oracleの不安定な関係から、 Java ではなく Kotlin を採用する動きが強まっていると考えられます。 しかしまた一方で、 Google と Oracle の戦いは終わっていなく 2019年1月に最高裁に上訴。この 2社の関係、いつ終止符が打たれるのか分かりませんね。PHP や Ruby などのメジャーなプログラミング言語はどのプログラミングスクールも採用しているのに比べて、 Kotlin と Java については採用状況が分かれる結果。理由は色々あると思いますが、これから学習を進めていこうと考える者にとって、とりあえずどちらの言語も勉強できる環境はある、ということが確認できます。最後に kotlin で null を受け入れるプログラムを実行してみました。 データ型の後に ?マーク をつけるだけで null を許容するプログラムとなります。一見すると簡単そうですが、 常に null の問題がつきまとうので、慣れるのには少々手こずるケースも。エラー内容は、例外発生ということですね。このように Java プログラムの場合は、 null の取り扱いを正しく行わなかった場合、エラーを未然に発見することができない場合もあります。2017年10月に Google は Android の開発言語に kotlin を追加。その後一気に Android アプリの開発言語として kotlin が注目を浴び、普及していき、多くの方が Android = Kotlin という方程式に。Java に比べて簡潔と言われる Kotlin。実際にどれほどコードに違いがあるのか、 2つほど例を取って確認したいと思います。何か新しいことを始めようと考えた時、とりあえずネットや本で調べると思います。また独学で学習するにしても誰かに教えてもらうにしても、その学習基盤がどれだけ整ってるかというのは調べてみないと分かりません。学習言語を決める前に、まずは学べる環境がどれだけあるかというのをチェックしておくことも重要でしょう。それと先ほどまではなかった SampleCode.class というファイルが新しく作成されました。 あとはこの SampleCode.class を実行すればいいですね。コンパイルを実行すると先ほどまではなかった SampleKotlin.jar が新しく作成されていることが確認できます。後は SampleKotlin.jar を Kotlin で実行。こんなふうに Kotlin では作成した Kotlin ファイルを一旦 jar にコンパイルして、そして実行という流れになります。どの求人サイトを確認しても、 Kotlin に比べて Java の方が求人数が多いことが確認できました。ただ Indeed のアメリカ国内の求人状況を 「Kotlin Android」 「Java Android」 で検索してみると Kotlin : Java = 995 : 5260 と日本に比べて Kotlin の割合が高いことが確認できます。まずは上記でご紹介した Java 製の Hello World プログラムを新規ファイル SampleCode.java に貼り付けます。今後 Android アプリを開発する中で知っておいた方がいい Kotlin と Google、 Java(Oracle社) の歴史を少しご紹介します。今回様々な視点で Kotlin と Java を比較させていただいたわけですが、 5年後 Kotlin にしとけばよかった、 Java にしとけばよかったと、いうのは誰にも分からない結論と思います。プログラミングに関する Q&A が充実している Stack Overflow でどちらの言語の取り扱いが多いか比較していました。今は Android のアプリ開発と Java がくっついていますが、これからは別々のものになる可能性があります。純粋に Android のアプリ開発をしたいと言うのであれば現段階では Kotlin、いやいや Android アプリ開発も含め様々な IT をプログラムしたいと言うのであれば Java、 になるのではないでしょうか。最後に究極的なまとめですが、 Android アプリ開発だけなら Kotlin、 Android アプリ開発も含め就職・転職も視野に入れるのなら Java と思いますね、私は。PCとインターネットがあれば、日本全国どこからでも受講できますアプリ開発を勉強するモチベーションは人それぞれと思いますが、今回はまず各言語の求人状況を確認してみました。 求人状況を確認することで、どちらの方が社会的ニーズが高いか比較でき、学習コストの回収もイメージしやすいと思います。そんな null ですが、 Java の場合はコンパイル時にエラーを発見できない場合もあります。コンパイル時にエラーが発見できなかった場合、アプリケーション実行時にエラーが発生し、ユーザーに迷惑をかけてしまうということに。まず最初に Java プログラムを実行してみました(上図)。するとコンパイルは実行できるものの、プログラム実行時にエラーが発生。なぜ Google は kotlin を新しくサポート言語として加えたのでしょう? 単に Java に比べてモダン(書きやすい)で安全、そして100% Java と互換性を持つということで Kotlin を採用したのでしょうか?Java は、1995年にリリースされた「一度書けばどこでも動く」をキーワードに実社会に広く浸透しているプログラミング言語。ユースケースとしては、 Android アプリを始め、 Web アプリ、 デスクトップアプリ、金融システム、人工知能など幅広いジャンルで活躍中。現在 Java 自体の管理は Oracle社が行い 、最新版は2018年9月にリリースされた Java 11。 就職転職にも強い言語として IT 業界を目指す人にとって、人気の高いプログラミング言語となっています。そして Java ファイルをコンパイルするために下記のコマンドを実行。この辺りについては、 iOS の Swift の方が安定していますね。また正直のところ、 Kotlin の方がモダンで安全で書きやすいと言われるものの、プログラミングを知らない方にとっては Java も Kotlin もそんなに簡単ではないということ。一部では「 Kotlin を使ったら Java に戻れない」 と言われますが、それは Java を知ってるからこそ言えるコメント。Kotlin プログラムを実行するためには、 Java 同様一度コンパイルする必要があります。ただ Java のようなコンパイル作業ではなく、 Javaの圧縮ファイル .jar を生成する必要が。 Kotlin でプログラムファイルをコンパイルするコマンドは以下のようになります。まず Java と Kotlin それぞれで null を含むプログラムを作成してみました。プログラム内容は、文字列の字数を表示する内容となっています。どのプログラムが実行できるかわかりますでしょうか?Android と Java は仲の良いように見えますが、その裏で Google と Oracle 熾烈な戦いが行われています。端を発したのは、 2010年8月。 Oracle社が、 Google 社を訴える。内容は、 Android は Java の特許を 7つ侵害している 、と。その後、判決と控訴を繰り返し、裁判は長期化。そして昨年2018年3月に一つの答えが。 Oracle社勝訴、 Google社に 約1兆円の損害賠償の支払いを命じる、というもの。その後一部では、 1兆円もの損害賠償の負担は大きいため、 Android アプリでビジネスを行っているデベロッパーの方にも負担を求めるという噂が。以上より就職や転職といった仕事の面を考慮すると、 Kotlin より Java の方が目的に合った言語と考えられます。Javaの場合は Kotlin と違って、 jar ファイルを生成しなくてもプログラムを実行することが可能。このあたりはプログラミング学習初期の段階において、 手間が少なく、コンパイル時間の短い Java の方が優位かもしれません。プログラミング言語の継続と発展には様々な要因が関係してくると思いますが、その中でも運営母体が占める割合は大きいでしょう。以下に Kotlin と Java の運営企業、JetBrains 社と Oracle社を簡単に比較してみました。Android のサポート言語として Kotlin が選ばれたのは 2017年10月。 Android Studio をインストールした時点で Kotlin を使い、 Android アプリを開発することが可能。なお Kotlin は、Swift や Ruby のように GitHub に公開されているオープンソース型プログラミング言語になります。Progateは、 Android アプリ開発を前提とした Java の学習ではない。基本的な Java文法の学習。"CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです