Kotlin 3

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/03/19(月) 04:26:26.03ID:GqsfT9Tb
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

前スレ
Kotlin 2
https://mevius.5ch.net/test/read.cgi/tech/1509462463/
2018/05/11(金) 11:26:42.85ID:zzkXGCsj
KotlinでAndroidアプリ作って見たいけど、Pixelないから実機検証何でやったらいいのか分からんのよね
2018/05/11(金) 12:59:36.36ID:0Fahon4i
appleを儲けさせるために、アメリカの属国の日本には優秀なAndroid端末が入らないようにしてるんだよ
2018/05/11(金) 13:01:44.20ID:0Fahon4i
Kotlinだからってのが意味不明
2018/05/11(金) 13:02:27.25ID:0Fahon4i
Nexus5x/6p使え
2018/05/11(金) 13:43:28.76ID:iuaWbcKA
>>228
座布団一枚!
2018/05/12(土) 02:53:14.30ID:iEhWAzK7
Google はもう Kotlin へ完全移行する気満々だな

Android API 公式リファレンスのKotlin版
https://developer.android.com/reference/kotlin/packages

より Kotlin ぽい感じに書ける拡張 Android API
https://developer.android.com/kotlin/ktx
2018/05/12(土) 03:56:54.16ID:8ugQB78R
残念ながらflutter/dartが本命だから
2018/05/12(土) 06:47:31.56ID:EKuA1z2z
そんなんGoogle I/O見てたら明らかだっただろ
2018/05/12(土) 07:48:50.66ID:P8aHvIbY
ioでflutterなんか話題になってたっけ?
2018/05/12(土) 10:30:14.15ID:pIzryTCi
Googleの場合、GmailとInBoxの関係のように好きな方を使えってことだろ
2018/05/12(土) 10:44:06.88ID:+7qwtmL0
dartそこはかとなく古臭いんだけど。
flutterがkotlinに対応したほうが早い。
2018/05/12(土) 11:29:09.48ID:rHS9mZr4
kotlinよりjavaの方が優れてる点って無いもんな
javaの資産維持しつつkotlinに移行する流れは必然
2018/05/12(土) 11:43:34.80ID:NQvTiPFY
>>250
むしろなんとかDartを押し上げようと苦心してるような状況じゃね
Google社内の空気的にも厳しいと思うが
https://www.publickey1.jp/blog/17/typescriptdartgoogle.html
2018/05/12(土) 12:54:23.79ID:jdtxj2Tf
ちょっとKotlinが話題になったらすぐにJavaサポートは廃止に違いないと
日本人らしい短絡的早漏思考
258デフォルトの名無しさん
垢版 |
2018/05/12(土) 13:49:25.85ID:H+i9mVZ5
Dartは古臭いというか洗練されてないというか
昔懐かしいオールドJavaScriptにそっくりだからなあ
2018/05/12(土) 13:51:40.75ID:H+i9mVZ5
>>256
今年の発表を受けてもdartで盛り上がってるコミュニティなんて見たことないもんな
正直dartが人気になる可能性ほぼないから、それに引っ張られる形でflutterも上手くいかないと思う
2018/05/12(土) 13:52:53.24ID:NuxM0Gnx
そもそもdartはbetterJSとしてJava開発者に馴染む様に作られたからね
2018/05/12(土) 14:00:13.86ID:UoMtV9Kh
廃止するとは思えないなあ。
2018/05/12(土) 15:02:38.88ID:8ugQB78R
確かにdartはくそだと思うけどトータルとして見ると
flutter+dart>Arch Comp+kotlin
だからな。
263デフォルトの名無しさん
垢版 |
2018/05/12(土) 15:18:37.38ID:TjVuoOYn
そうか?まあしかし俺はKotlinに傾注するよ。というのはこういうのは言語そのものの良し悪しよりも広まったもん勝ちになるのが普通だからだ。
広まって稼げるとなると入門書や関連書籍も沢山出てライブラリとかも沢山作られて余計に楽になる。
2018/05/12(土) 15:31:16.99ID:8ugQB78R
いくらkotlinが素晴らしくても他の部分が足引っ張りすぎだわ。データバインディングやらarch compで楽になったとはいえ元がクソ過ぎて継ぎはぎだらけで、データバインディングはメニューにはバインドできなくて結局自前でやる中途半端さ。
kotlin+databind+arch compsでMVVMで1本作って見たけど、そこら辺の中途半端さにいらいら。

で次のアプリをflutter+dartで作ってるけど、dartのクソな部分が多少目につくけどflutterの方は一貫性があって今のところいい感じ
265デフォルトの名無しさん
垢版 |
2018/05/12(土) 16:16:07.31ID:TjVuoOYn
>>264
それはビジネスチャンスだぞ。その糞な部分を埋めるものを君が作れば世界中に唸るほど売れて何億ドルも稼ぎまくってビリオネアになれるということだ。
ま、頑張れ。
2018/05/12(土) 16:30:53.52ID:znupWRNI
menuはtoolbar部分を普通に自前でレイアウトしてImageViewなりTextViewなりを
配置すればdatabindingできるけどな
2018/05/12(土) 20:32:41.53ID:YK3tsP6q
>>263
完全に同意。
flutterはよく設計されてると思うけど、Dartであることがボトルネックになって広く使われることはまずないだろうな
2018/05/12(土) 21:07:41.76ID:ti3xQtAP
言語なんて手段だ。でも世の中には言語でやるやらないを決める人が大勢いる。そして多数は正義。
2018/05/12(土) 23:59:57.49ID:NQvTiPFY
Kotlin to Dartの実装を試みてる人は公式コンパイラをフォークした形では見当たらないな
React Nativeと同様にFlutterにも寄生出来るようにしておけば有利になる気はするんだけど

dart2jsをフォークしてDartコードからexternal修飾のKotlin定義を生成する実装
kotlin/jsをフォークしてKotlinコードからDartコードを生成する実装
270デフォルトの名無しさん
垢版 |
2018/05/13(日) 00:07:40.13ID:1xKRxIhM
プログラミング初心者です。
アンドロイドアプリ作りたいけど、過疎すぎてつらい
2018/05/13(日) 02:09:51.07ID:49MOGIR5
スタックオーバーフローに逝けや
2018/05/13(日) 10:38:43.37ID:XcX7x9Bh
>>270
そこそこ人居るっぽいけど

Androidプログラミング質問スレ revision54
https://mevius.5ch.net/test/read.cgi/tech/1510691057/

Android Studio 2
https://mevius.5ch.net/test/read.cgi/tech/1464941420/

とりあえずJDKと Android StudioまたはIntelliJ Community をインストールして後はググればいい
2018/05/13(日) 16:51:03.60ID:WXkBZ4Ti
Anko使ってる?使った方がいい?
2018/05/13(日) 17:06:31.75ID:fp6h0gMA
GoogleはきっとAndroidのJavaフレームワーク全てをKotlinコンパチで書き直したいだろうけど物理的に無理だろうな。それじゃあいっそのこと新しいOSを作ろうって話になる。それも無理だからJavaがAndroidフレームワークから消え去ることは決してないだろう
2018/05/13(日) 19:06:00.65ID:gflDgF71
使わなくていい
276デフォルトの名無しさん
垢版 |
2018/05/13(日) 21:58:45.82ID:YKXy/MBP
>>274
KotlinはJavaVMで動くんだから何も作る必要ないと思うが?
ドキュメントはあった方がわかりやすくて良いだろうけどなくてもKotlinからJavaのクラスを使う時の規則が分かってれば使えるよ。
2018/05/13(日) 22:16:44.87ID:vp93/UO0
>>274
KotlinはJavaと100%互換だからその意味では達成されてる。あとは機能差の互換性、具体的にはnull safeなどだけど、これらも既存、新規のフレームワークへのnudityアノテーションの付与、ktx、android studioによるKotlin変換などすでに取り組まれている
2018/05/13(日) 23:10:46.32ID:fp6h0gMA
Kotlinは素晴らしいけど、Android用言語としては途中からの参戦になるからちょっと残念だったなぁという話
279デフォルトの名無しさん
垢版 |
2018/05/13(日) 23:38:07.37ID:YKXy/MBP
ま、しかし、Javaよりも作りやすいと思しGoogleがサポート表明して爆発的に使う人増えただろうから多分勢いは止まらずにKotlinだらけになるんじゃないかな。
2018/05/14(月) 00:38:31.31ID:3kZQbjCA
まだKotlinやってねえのか。早く覚えないとAndroidの仕事できなくなるぞ
2018/05/14(月) 01:14:07.48ID:2bhVPcxg
案件で言語指定された事はない。言語の縛りがあるのは引き継ぎ案件ぐらい。
2018/05/14(月) 09:56:21.67ID:EeULlx2A
実装16Gだけどフリーズ地獄
Studioではなく、独立したKotolinのReplはありませんか?
2018/05/14(月) 10:48:46.90ID:TTvs4v88
>>282
単純な疑問なんだけど、どういう目的で使うの?
284デフォルトの名無しさん
垢版 |
2018/05/14(月) 11:06:35.33ID:zt3b4slI
>>282
独立した?って、コマンドラインから使えるやつなら普通に配布されてるよ。
ただしWindowsのコマンドプロンプトでは漢字が化けた。
これを避けたい場合はWSL経由で使うかまたは本当にLinuxで使うか、かな。
285デフォルトの名無しさん
垢版 |
2018/05/14(月) 11:19:05.19ID:zt3b4slI
あ、ごめん。化けるのはReplでキーボードから文字を直接入力した時だけね(端末設定の都合でうまく行かないみたい)。
ファイルにスクリプト書いて実行する場合やコンパイルするなら問題ない。
シフトJIS(というかWindows-31j)のままで化けずに動く。
2018/05/14(月) 12:18:54.86ID:EeULlx2A
みなさん、ありがとー!
参考になりました!
2018/05/14(月) 12:39:57.61ID:X2oBa0UB
どういたしましてー!
またねー!
2018/05/14(月) 19:21:22.70ID:2W4gs4ZW
Xamarinもよろしくねー!
2018/05/14(月) 20:40:04.21ID:BXZtNaWp
いやXamarinは無いわ。(真顔)
2018/05/14(月) 22:52:24.18ID:QrPj8U47
Xamarinほどの
2018/05/14(月) 22:56:32.57ID:3kZQbjCA
消しゴムひとつ
2018/05/14(月) 23:01:02.80ID:2W4gs4ZW
やっぱりおっさんスレだなここは
2018/05/14(月) 23:05:47.29ID:tQHKR4rj
ちょまど神への信仰が足りませんね
 教育が必要でしょうか
2018/05/14(月) 23:25:49.43ID:aFk4WdYy
ちょまどとかおっぱいだけやんけ
2018/05/15(火) 17:15:28.40ID:sBKh9jzE
Kotlinに関する初心者の質問はこちらで受けていただけますか?
もし受けていただけないのならスルー、もしくは誘導をお願いします><

1 var name:String?="xxx"
2 name?.let{
3 println(it.toUpperCase())
4 it.length
5 }

3行目、4行目がラムダ式と解説されているのですが
3,4行目を、原則的なラムダ式に書き換えるとしたら
どんな記述になるのでしょうか?
3,4行がどうしてラムダ式になるのかよくわからなくて。
アバウトでも結構ですのでよろしくお願いします。
2018/05/15(火) 18:21:55.11ID:qvELM4e0
ラムダ式かラムダ式じゃないかとかどうだっていいじゃない
297デフォルトの名無しさん
垢版 |
2018/05/15(火) 18:36:31.31ID:8qdOwcRZ
原則的な?
2018/05/15(火) 18:48:01.62ID:sBKh9jzE
3 println(toUpperCaseのスーパークラス({ s -> it.toUpperCase}))

って感じになるのでしょうか?という意味でした
2018/05/15(火) 19:32:36.61ID:yuK+8hg3
教えてあげたいけど何が分からないのかよく分からない。

letは任意の型に対しての拡張関数で、ラムダ式を引数として受け取るスコープ関数という構文なんだけど、そこはわかる?
2018/05/15(火) 19:35:25.36ID:yuK+8hg3
ちなみにletの中でitはletが呼び出されたレシーバ(上の例ではString型のxxx)を指す。
なのでこの例だとitはString型だから、String型のメソッドである.toUpperCaseを呼び出せてる。

見当違いな答えだったらすまん、追加で聞いてくれ
2018/05/15(火) 19:46:30.06ID:MZNwauej
2こぶラムダ
2018/05/15(火) 20:45:25.49ID:V3YrDyOh
>>295
何がわからないのか分からないけど、もしかして3,4行目だけがラムダ式だと思ってる?
ラムダ式の部分は
{
println(it.toUpperCase())
it.length
}
この{から}まで

原則的なラムダ式って意味がよく分からんけど、今回のコードを長ったらしく書けば
name?.let( { name -> println(name.toUpperCase());name.length } )
になる
2018/05/15(火) 21:51:33.14ID:h5WD1BQ3
原則的なラムダ式って継続渡しスタイルのことか?
Haskellのdo記法のようなことしてると思ったのだろうか
2018/05/15(火) 23:05:08.43ID:VSZcxFSe
原則的なラムダ式とは何か

初夏の夜長に随分と哲学的な命題だな
2018/05/15(火) 23:17:11.36ID:hnAZRzMk
>>304
初夏の夜は長いのだろうか?
2018/05/15(火) 23:21:15.28ID:VSZcxFSe
>>305
よく考えたらこの季節って1番夜が短いな
2018/05/15(火) 23:46:42.65ID:lz4O1oW9
1番夜が短い季節の夜長とは、謎かけ問答でありますか
2018/05/16(水) 00:59:27.75ID:tDn46mBr
片手で拍手しろ
2018/05/16(水) 07:03:57.11ID:jWCA69Ki
みなさん、どうもすみませんでした、ラムダです。
ご解説頂けてとてもありがたかったです。
letの意味も理解できました。
>>302さん、300さん、丁寧にありがとうございました。
2018/05/16(水) 09:45:27.05ID:+dwmdQ/7
結局 原則的なラムダ式 ってのが何かは謎のまま終わった
2018/05/16(水) 13:45:16.46ID:edTC4XQ6
kotlinを使うならGroovyとGradleを
一緒に覚えた方がいいよ。Groovyは本を一読する
だけでも頭に定着しやすが、kotlinはその真逆で文法にある程度クセがある。

そのクセが第三者が
見た時の可読性に繋がるってワケだ。Androidプログラミングを
する人は環境を整えることに着手しなくてはいけないのでビルトは

避けては通れない関門になる
2018/05/16(水) 13:49:34.72ID:j3pS2LuC
groovyガリガリ書かないといけないような状況なんてそうそうない
2018/05/16(水) 14:09:38.12ID:DDE+8URU
Groovyはクールガイだ
2018/05/16(水) 15:28:50.49ID:/B2Oq0nc
ビルド時にGroovyであーだこーだしなくちゃいけないなら根本的に何かを間違ってるから、そもそもプロジェクトの設計を見直した方が良い
2018/05/16(水) 15:52:20.69ID:Mq6hHUMf
jsonでやり取りしようと
思ったらGradle必要なくね?
2018/05/16(水) 21:09:05.28ID:8/BALwWE
>>315
gradleとgrailsを勘違い?
2018/05/16(水) 23:19:35.34ID:j9hjeEQR
ちょっとしたタスク入れたいとき迷わず済むから
知っておいて損は無いけど、割と避けて通れる気もする

Kotlinスレとしてはむしろ逆に build.gradle.kts を推すところだろう
Community版にもIDE支援機能実装しろください
2018/05/17(木) 00:03:53.54ID:W2rSi7XL
>>310
>>302がほとんど答えてしまっているけど、
>>295は「3行目、4行目がラムダ式」というのを見て、「3行目、4行目を中身とするラムダ式」
でなくて「3行目、4行目がそれぞれ一つのラムダ式」だと読んだんだろう。
もちろん3行目、4行目それぞれ単独ではラムダ式にならないから、
何かの省略形か、特別な記法だと思った(勘違いであるが)。
だから>>295「原則的なラムダ式」というのはそういう省略をせずに原則に忠実な記法で
書いたラムダ式を指すわけだ。本人じゃないけど...

ネタで言っているんじゃなければ、察してあげて欲しいところ。
2018/05/17(木) 01:10:25.24ID:2XnSxR1N
gradleの仕組みが判んないと話にならねwww
俺が馬鹿なのか、なんなのか紹介サイトのソースを
コピーって実行しようといつもする。kotlin verやAndroid ver
などの初期情報を調べて
予定調和で動かそうとするけど、なんか実態が
掴めない。YouTubeに乗ってる手順でやってみるが
実感がまるで掴めない。gradleでビルドすると、PCの容量が
ドンドン無くなってる行く気がするし、
海外のサイトを行ったり来たりすると、スパイウェアかなんかで
引っ掛かりそうで怖くなったりする
2018/05/17(木) 06:19:23.59ID:Lh8cKez0
>>319
お前が馬鹿だなそれは。
公式のドキュメントを見れば大抵は解決する。
2018/05/19(土) 22:56:35.27ID:TWAcQ4vl
結構みんなKotlin島に移り住んでるのね
322デフォルトの名無しさん
垢版 |
2018/05/19(土) 23:32:24.51ID:b7x1I7X/
言語の場合は移り住むという表現は適切ではないのでは?
新しく何かを覚えたからといって今まで覚えた言語を使うことが禁止されるわけでもなく忘れてしまうわけでもなく相変わらず同じように使えるから。
2018/05/19(土) 23:57:35.08ID:DJ1zuBBb
つまりジャワ島とコトリン島に同時に存在する
324デフォルトの名無しさん
垢版 |
2018/05/20(日) 00:06:21.86ID:CKA825nr
そして N88-BASIC(86) 島には亡霊が存在する。
2018/05/20(日) 00:16:39.54ID:FK8H6avj
Ruby のbundler と、Gradle は同じだろ

Ruby, Groovy も、ほぼ同じ
2018/05/20(日) 01:13:58.26ID:13u1kLfR
ほぼ同じっ!
2018/05/20(日) 01:16:13.11ID:kuyY1fku
またこいつかよ
python逆転してからおととい来やがれ
328デフォルトの名無しさん
垢版 |
2018/05/21(月) 12:23:30.33ID:ddZZgSG8
今後一年以内に覇権言語となるコトリンスレがなんで過疎ってんのよ
もう勉強始めちゃったよ
329デフォルトの名無しさん
垢版 |
2018/05/21(月) 12:46:10.71ID:BZDB6VKY
>>328
君が書きまくれば過疎解消
2018/05/21(月) 15:31:43.59ID:dV15gw4G
覇権を狙うためのFlutterみたいなパワードスーツの開発はJBには厳しいだろうな

DartがiOSへのネイティブコンパイルを既に実戦投入しているせいで
Kotlin/Nativeの遅れ感が強まったし
2018/05/21(月) 15:40:35.10ID:k0x2G21/
まあどうせFlutterもKotlin nativeも一部の物好きだけにしか使われずに終わるからどうでもいいよ
2018/05/21(月) 17:01:06.87ID:bw1JTbxE
今後もjava安定
2018/05/21(月) 19:28:35.88ID:bKmIwNT9
NULL安定とかいってもJava引き継ぐ限りNULL不安定
2018/05/21(月) 20:26:10.93ID:KGnoWBRO
てわけでJBVM作るか完全にLLVMになるか
さっさとしろ
335デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:07:39.38ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

I4F2B
2018/05/24(木) 10:35:20.20ID:cPlRxlDn
I4F2B
2018/05/24(木) 16:36:17.84ID:NcQ1LxNG
なんか話題ないの
2018/05/24(木) 19:03:03.58ID:07QG3N0w
ktx
coroutine
2018/05/24(木) 20:07:34.33ID:TD/omnJF
セオリティカルなラムダ式について
2018/05/24(木) 21:16:03.48ID:/hP4MdXz
神学的なラムダ式とは
2018/05/24(木) 21:36:50.99ID:TXim0G39
ラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ダラムダム             ダラムダ    ム ダ ム   ダラム
ラムダラムダ             ラムダラムダ ラムダ ム ダ ラムダラムダラ
ダラムダム             ダラムダム ダム    ダ   ラムダラムダラ
ラムダラムダ             ラムダラムダ ラムダ ム ダ ラムダラムダラムダラ
ダラムダム             ダラムダム ダム ダ ム   ダラムダラムダラ
ラムダラムダ             ラムダラムダラムダラムダラムダラムダラムダラムダラムダラ
ダラムダム \         / ダラムダラムダラムダラムダラムダラムダラムダラムダラムダラ
ラムダラムダ | \      / | ラムダラムダ ラムダム ダ   ム   ダ ラムダ  
ダラムダム (  \   /   ) ダラムダム ダ ム ダ ム ダ ム  ダ ラムダ 
ラムダラムダ | \  \/  / | ラムダラムダム ダ ラムダ ム ダ   ラムダ ラムダ ラ
ダラムダム \C ̄| | | ̄C/ ダラムダラムダ ム ダム ダ ム ダ ラムダ ラムダ
ラムダム ((\  ̄ ̄||| | ||| ̄ ̄/))))ラムダラムダ ム ダム  ダム ダ ラムダ  
ダラムダム| | ̄ ̄\|/ ̄ ̄| / ̄ ̄ ̄ ̄\ラムダラムダラムダラムダラムダラムダラムダラム
 ̄ ̄ ̄ ̄| |          |/ ̄ ̄ ̄ ̄//⌒⌒ーヽラムダラムダラムダラムダラムダラム
 ̄ ̄ ̄ ̄| |  <⌒⌒>  / ̄ ̄ ̄ ̄/        \ラムダラムダラムダラムダラム
 ̄ ̄ ̄/ |    ⌒⌒  / ̄ ̄ ̄ ̄/           ラムダラムダラムダラムダラ
 ̄ ̄/   | \( ̄V ̄)/ ̄ ̄ ̄ ̄/            ラムダラムダラムダラム
 ̄/ ⌒ |   \_// ̄ ̄ ̄ ̄/  ノ           ラムダラムダラムダ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
2018/05/25(金) 07:34:19.21ID:aVuHEJ5M
>>211
Google I/Oでは、KTXだけで他何もなかったっぽい?
2018/05/25(金) 09:18:46.55ID:x1Syr3Ux
全然変更無かったよな。もう今の仕様で完成なのかな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況