Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kotlinこんなん出ましたけど

2,880 views

Published on

関西のKotlin1.0リリース記念勉強会の資料です。

Published in: Software
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Kotlinこんなん出ましたけど

  1. 1. Kotlinこんなん出ましたけど 4/2(土) Kotlin 1.0リリース記念勉強会 in 京都 @yy_yank #kotlin_kansai
  2. 2. Kotlinメジャー リリース!!!
  3. 3. そうだ、 京都へ行こう
  4. 4. ということで 今日は居ます
  5. 5.           こいつです           ・viキーバインド好き           サクラエディタアイコン           ・小物SIer           ・JavaとKotlinが好き ヤンク(@yy_yank) 自己紹介
  6. 6. ・JetBrainsの作っているJVM言語 ・他のJVM言語をパクr良いところ吸収 ・Javaとの互換性を100%目指す ・Javaと同等のビルド速度 Pragmatic、現実的とJetBrainsは言っている ざっくりKotlinとは
  7. 7. ・null safty ・トップレベル関数 ・拡張関数、拡張プロパティ ・高階関数 ・関数リテラル ざっくりKotlinとは
  8. 8. ざっくりKotlinとは 逆引きKotlinっていうサイトに書いてあるぞ! http://kotlin-rev-solution.herokuapp.com なんだこのサイトは、すごいなぁ 誰が運営しているんだろうなあ
  9. 9. ざっくりKotlinとは 何かKotlinのライブラリないかなという場合? 僕のGitHubのstarつけたやつ https://github.com/stars/yyYank
  10. 10. Kotlinといえば?
  11. 11. Android?
  12. 12. alt Java?
  13. 13. Spring Boot with Kotlin?
  14. 14. いいえ、 まだあります
  15. 15. Kotlinこんなん出ましたけど 4/2(土) Kotlin 1.0リリース記念勉強会 in 京都 @yy_yank #kotlin_kansai
  16. 16. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ
  17. 17. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ JavaScriptとしても動くんで す! (ただし、まだ実験段階)
  18. 18. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ ビルドツールがあるんです! (ただしまだver 0.683)
  19. 19. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ ドキュメント生成エンジンがあ るんです! (ただしまだver 0.97)
  20. 20. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ
  21. 21. ・KotlinはJVMとJavaScriptの2つのRuntimeに 対応している ・JVMはKotlinのメジャーver.リリースで仕様を固 めた ・JavaScriptのランタイムはJetBrains曰く、 「まだまだ試したいことがあるのじゃよ」 Kotlin as JavaScript
  22. 22. fun main (args : Array<String>) { println(“hello kanjava!!!”) } Kotlin as JavaScript in Kotlin
  23. 23. (function (Kotlin) { 'use strict'; var _ = Kotlin.defineRootPackage(null, /** @lends _ */ { main_kand9s$: function (args) { Kotlin.println('hello kanjava'); } }); Kotlin.defineModule('yested-sample', _); _.main_kand9s$([]); }(Kotlin)); Kotlin as JavaScript
  24. 24. (function (Kotlin) { 'use strict'; var _ = Kotlin.defineRootPackage(null, /** @lends _ */ { main_kand9s$: function (args) { Kotlin.println('hello kanjava'); } }); Kotlin.defineModule('yested-sample', _); _.main_kand9s$([]); }(Kotlin)); Kotlin as JavaScript JavaScriptに なります
  25. 25. ・KotlinのJavaScriptフレームワークとして Yested Frameworkというのがちょっと良さそう ・本当にフロントエンドだけ ・UIが綺麗になる、html書かなくて良い http://www.yested.net/ のサンプルみて欲しい Yested Framework
  26. 26. 現実は厳しい
  27. 27. ・Kotlin上ではエラーがなくても、実行時にエラーになってしまう (例えば、getElementByIdでundefinedなど) ・スクリプトエラーとしてしか検知できないのでは ->静的言語の旨味がちょっと少ない。そういう目的なら TypeScriptの方が良いんじゃないかという気もする ・出力された.jsファイルに対してのテストをどうするか 考えないといけない Kotlin as JavaScript
  28. 28. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ
  29. 29. Kobalt
  30. 30. ・Gradleのパクr…独自のDSLでタスクを書いたり dependency書いたり出来る ・メリットとしてはkobaltw kotlinとか出来ること ・KotlinやIntelliJ IDEAのプラグイン機構 などと距離が近いのは良いところ Kobalt
  31. 31. インストール brew install kobalt 新規プロジェクト ./kobaltw --init kotlin ./kobaltw --init java Kobalt
  32. 32. val jcommander = project { name = "jcommander" group = "com.beust" artifactId = name version = "1.54" dependenciesTest { compile("org.testng:testng:6.9.9") } assemble { mavenJars { } } jcenter { publish = true } } Kobalt
  33. 33. val jcommander = project { name = "jcommander" group = "com.beust" artifactId = name version = "1.54" dependenciesTest { compile("org.testng:testng:6.9.9") } assemble { mavenJars { } } jcenter { publish = true } } Kobalt build.gradleならぬ Build.ktをかく
  34. 34. ビルド ./kobaltw assemble Kobalt
  35. 35. ・kobaltプロジェクト自体のkobaltの設定を見ると 参考になる https://github. com/cbeust/kobalt/blob/master/kobalt/src/ Build.kt Kobalt
  36. 36. ・Kotlin as JavaScript ・Kobalt ・dokka アジェンダ
  37. 37. dokka
  38. 38. ・html、markdown、jekyll(markdown adapted for jekyll site)、javadocなどが生成される java -jar dokka-fat.jar <source-dir> <args> ・ただ、生成するとちょっとフォーマット崩れたりとか まだ不安定(らしい) dokka
  39. 39. ・JetBrainsはやたら自社プロダクトでエコシステ ムを固めようとしているように思う ・いわるゆドッグフーディングというやつ? ・Kotlin as JavaScriptに関しては長い目でみよ う、というかコントリビュートしよう ・サーバーサイドに関しては長い目で(略 まとめ
  40. 40. ・やたらAndroidにターゲットを絞っているが いろんな用途で利用されることを望む ・また、それを助長するエコシステムやライブラリ、 言語機能などをJetBrainsとして提供して欲しい し、個人としても何かしら貢献したい まとめ
  41. 41. ご清聴 ありがとうございました そうだ、京都へ行こう

×