@mycb750はじめにjavaからkotlinに移行して学習する際にお世話になったサイトをメモしておきます。個人アプリはjavaからkotlinに変換してるためAndroidに関するサイトも貼っておきます。qiitaユーザの意識が高すぎて負けそうです。公式リファレンス(日本語)http://dogwood008.github.io/kotlin-web-site-ja/docs/reference/リファレンスPDFhttps://kotlinlang.org/docs/kotlin-docs.pdfリファレンス日本語訳http://qiita.com/dogwood008/items/6e8d3225ea9bb0fe3099http://qiita.com/dogwood008/items/f4ceabd0b0d801fb3a9fガイドラインまずは公式ページでコーディング規約、ガイドラインを把握しましょうhttps://kotlinlang.org/docs/reference/ベストプラクティスhttps://blog.philipphauer.de/idiomatic-kotlin-best-practices/日本語訳http://qiita.com/takahirom/items/87d46150088aadccb481文法関連http://qiita.com/ssuzaki/items/0ab14379e2d30e807e9ahttp://qiita.com/k5n/items/35e76d79ee9de4effb89http://qiita.com/magie-pooh/items/b1179af28f5e0d50b62aコンストラクタhttp://woshidan.hatenablog.com/entry/2015/10/30/083000スコープ(apply/let/run/with)関連http://tech.pjin.jp/blog/2017/04/10/kotlin_scoping_function/http://qiita.com/ngsw_taro/items/d29e3080d9fc8a38691ekotlinとjavaの混在関連http://qiita.com/boohbah/items/167233c7eafe17f3150bhttp://qiita.com/k5n/items/ceb1f921b27d62fc9fcbコーディング規約関連https://github.com/SmartTechVentures/kotlin-style-guide/javaからkotlin変換でつまずきやすいところhttp://qiita.com/kazhida/items/09b9c7c95f7c43fc903ahttp://qiita.com/HIkaruSato/items/4a5a7906761b19217370kotlin勉強サービスサンプル文や問題などあります。I/OでKotlinがファーストクラスランゲージにすると発表されたのでKotlinについてメモしておきます。アプリを作る上でも構文的に見てSwiftより劣っていたJavaです。それらの問題をkotlinは改善してくれます。java9)な所感です。公式ページhttps://kotlinlang.org/AndroidでKotlinを正式サポート以前からプラグインでkotlin開発ができていましたが、AndroidStudio3.0より正式サポートになりました。3.0はKotlinを最初から同梱します。Androidデベロッパは互換性について心配する必要がなくなります。今後JetBrainsもGoogleもKotlinでのAndroidアプリケーション開発をサポートしていきますのでご安心ください。Kotlinの他のプラットフォーム(サーバ、デスクトップにおけるKotlin/JVM、Kotlin/JS、Kotlin/Native)におけるサポートについてもJetBrainsにとって引き続きフォーカスしていきますのでご安心ください。JetBrainsのKotlinにおけるビジョンは、この言語を様々なアプリケーションをマルチプラットフォームで、エンドトゥーエンドに繋げる統一ツールにすることです。これはフルスタックWebアプリケーションも、Androidも、iOSクライアとも、組み込み/IoTも含みます。プログラミング言語は人間の言語と同じです。話す人が多ければ多いほど良くなります。Androidでの公式サポートで、より多くのデベロッパがKotlinを使うことになるでしょう。JetBrainsはKotlinコミュニティが急速に広がっていくと期待しています。Kotlinによる、またはKotlin向けのライブラリやツール開発が加速し、経験が共有され、Kotlinを使う職が増え、学習教材がたくさん公開されていくことでしょう。Kotlinのエコシステムがより盛り上がっていくことを楽しみにしています!JetBrainsはGoogleとのパートナーシップで、非営利のKotlinの財団の設立を予定しています。言語開発は引き続きJetBrainsが支援していき、40人いるJetBrainsで二番目に大きいKotlinチームはこれまで通り活動して参ります。Breslavが引き続きリード言語デザイナーを務め、Kotlinはこれまでと同じ原則をもとに開発が続けられます。JetBrainsはKotlinのデザインプロセスを今後もオープンなものにし続けます。皆様のフィードバックこそKotlinを正しい方向に導くのに必要不可欠だからです。引用:https://blog.jetbrains.com/jp/2017/05/18/767Kotlin言語とはJetbrain社のオープンソースな言語です。言語構文の参考https://speakerdeck.com/jakewharton/life-is-great-and-everything-will-be-ok-kotlin-is-here-google-io-2017今すぐにjavaからkotlinへ移行するべき理由とは既存サービスの場合、規模によっては移行するコストもありますが、費用対効果はその分にあります。個人的には一番は開発速度が大幅に改善されバグが減ることが大きいと思ってます。Safetyや関数プログラム(ラムダなど)がjavaよりも優っています。java8からoptionalがついてますが、本来のoptionalとずれていてswiftのように使うことはできません。kotlinはswiftに近いためoptionalチェイニングも可能なため、nullでも動きます。javaもjava9がリリースなどで上がって来ているがAndroidが対応バージョンが6移行など考えるとkotlinにするのがいいと思います。java9も今年夏にリリース予定とのこと。swift言語の基本構文や用意されている機能(ラムダ、オプショナルなど)がswiftに近いです。swiftを触ったことがある人であればkotlinもすぐに理解できます。あとはAndroidのフレームワークの理解は必要です。開発速度とモチベーション新しい言語はモチベーション上がります。あとは構文も今風の軽量言語仕様に沿っているので覚えがいがあると思います。Androidでよく見かけるnpe問題から解放され、コード量がjavaよりも断然少ないコードで実装可能なため、バグなども減ってくると思います。削減した時間はMVP,MVVM,DDD開発などの設計面に回すことができまね。互換性100%javaとkotlinの互換性が100%のため、変えることによりできなくなることはありません。kotlinで書き方などわからない場合はとりあえずそこはjavaのままというスタンスでもいいと思います。2言語の共存ができます。JavaからKotlinの学習コストについてjava6,7のスキルでは10日、java8の関数型プログラミングを知っているひとであれば2日程構文を流し見してコードを打てばそれなりに習得できるレベルです。既存サービスのkotlin化について既存サービスでjavaからkotlinに変更する場合の進め方を考えました。時間に余裕があるのであればまとめてコンバートすることが一番スムーズですが、既存サービスの場合、ほかタスクもあるため、一気には難しいのかもしれません。手始めにテストコードからどこからコンバートするか迷うところですが、まずは完全にコードと切り離された位置にいるテストコードからやるのがお手軽です。パッケージ単位でMVPモデルの場合はM→P→V(Vは最悪やらなくていい)の順番で優先度をつけて対応するといいと思います。あとはutilityやライブラリの切り離されたところから行うと影響範囲が少なくていいと思います。javaからkotlinにコンバートしてエラー対応しても、それはほとんどjavaです。最終的にkotlinの仕様に沿ったコードに変更しましょう。無理にすべてをコンバートするのではなく、あまり機能追加など行わない部分はjavaのままでいくのもありだと思います。コンバートする場合はすべてテストを再度行わなくていけないのと既存コードで問題が起きていないのであればjavaのままで害になることもないからです。androidでjava開発のサポートは公式でのアナウンスはしてませんが、今後もgoogleはjavaのサポートは辞めないのではないでしょうか。言語の選択肢が増えたと考えたほうがいいと思います。kotlinもjavaもファーストクラスランゲージでjavaも伸びしろがあります。oracleと著作権で揉めたりしてたはずですが、どうなのでしょうか。https://developers.srad.jp/story/16/05/27/0415243/kotlinの将来性Android以外にもweb開発などjavaを使って開発していたものがkotlinですべて開発可能です。言語仕様としてkotlinが上回っているため今後はkotlin開発が増えていくのではないでしょうか。altJSとしてのkotlinは?kotlinはjvmのほかjavascriptへコンパイルできます。そのため、altJS(typescript,coffeescript,dartなど)としてもなり得る可能性があります。kotlinにはなるとおもいます。kotlinでもあります。基本的なことは全てできるので、altJSとしても十分に発揮できるのではないでしょうか。typescriptやらのdslを覚える学習コストを考えると、javaエンジニアはkotlinのほうが慣れやすいのではないかなと思います。useless.1日5杯はコーヒー、カフェオレ飲みます。yumスポンサードリンクエントリ。