Kotlin 7

■ このスレッドは過去ログ倉庫に格納されています
2020/05/06(水) 16:00:38.76ID:LXTBA+hx
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 6
https://mevius.5ch.net/test/read.cgi/tech/1561186797/
2021/08/24(火) 10:08:37.49ID:3yRIPy2m
いきことだったけどJava先にやった方が結局早い気がしてきた
2021/08/28(土) 17:04:58.34ID:HPaMnV06
「いきこと」という、俺の知らない日本語がまだあったのかと思い、ネットで検索して出てきたのがこれ。

https://ikikoto.com/
2021/08/28(土) 17:10:49.65ID:HPaMnV06
まあしかしこないだ本当に「しくはない」という言葉があることがわかって驚いたんだけどね。
最初見た時「惜しくはない」の「惜」が編集ミスで消えただけだと思ったが、文脈からして変だと思って検索して発覚。
2021/08/28(土) 18:39:25.65ID:QOe16O/J
百聞は一見に如かずという諺もあるし、そこまで聞かない言葉でもないような気がするけど。
2021/08/28(土) 21:09:01.00ID:jimgwps1
如くは無しは高校の漢文で習ってるはず
ゆとり世代はその限りではない
2021/08/29(日) 04:37:00.40ID:Lt7wAmk4
で、>>745の「いきこと」って何?間違えたとしても何をどう間違えたのか推測できない。文脈からも分からない。
2021/08/29(日) 06:57:30.15ID:v5m/a1Rg
>>750
Javaをやらずに「いき」なり「こと」りんから入った、の略。
Java先にやった方が、という続きの文章と、KotlinをやるにはJavaの知識は必須かという
議論の存在を知らないと推測できない。
自分もわかるまで数分かかった。>>750でなく>>745が悪いと思う。
2021/08/29(日) 07:59:05.47ID:gpvNvkXc
「イキってKotlinから」の略だと思ってた
2021/08/29(日) 08:35:50.15ID:PIpVjLF4
「いき」なりそんな「こと」言われたら困るじゃん
もう「いき」なりあんな「こと」しないでよね
2021/08/29(日) 09:01:26.36ID:CJrX7/qX
羽ばたいーたらー 戻らなーいーと言ってー♪

いきことがかりも一度Flutterを始めたらJavaに戻るなと歌で訴えているよ
2021/08/29(日) 10:02:53.95ID:v5m/a1Rg
>>754
Flutterの言語がdartでなくKotlinだったらなあ
2021/08/29(日) 11:28:55.35ID:vkrlViTu
KotlinはFlutterが求める要件は満たせてないんじゃね
ネイティブコードとJavaScriptへのトランスパイルが重要なのにKotlinは全然良くならないし
DartVMによるホットリロードはJVMでも出来るのかな
プログラマが直接書く部分はKotlinが優れてるけど、それ以外はDartの方が良い/今後良くなりやすい
DartはほぼFlutter専用なのでFlutterに合わせて言語側に変更を加えられる
2021/08/30(月) 13:36:11.58ID:IjMzUUV8
Kotlinマスターになるぞ!
これから絶対にKotlinの覇権がくる!
使えるのはアンドロイドだけじゃないんだ!
2021/08/30(月) 13:38:46.74ID:adoWwHgT
chromebookがmacbookくらいのシェアになったらなあ
2021/08/30(月) 14:05:07.75ID:rHJ1n6d1
何年か前に米のラップトップの販売シェアはすでにトップって聞いたけど
2021/08/30(月) 18:17:13.34ID:SLXKrFaK
デスクトップOS 2021年
順位 プロダクト 4月のシェア
1 Windows 65.88%
2 Unknown 16.64%
3 OS X 15.63%
4 Linux 1.34

ノートパソコンOS,2019,2020にChromeがマック追い抜く
Windows 85.4% 80.5%
Chrome OS 6.4% 10.8%
macOS 6.7% 7.5

スマートフォンOS 2021年3月,4月
1 Android 72.19% 71.83% ↑
2 iOS 27.00% 27.41% ↓
3 Samsung 0.39% 0.38
2021/08/31(火) 01:09:33.02ID:xbAoiFkL
今は全然日本語の情報ないからな
今のうちに英語の情報仕入れまくって数年後にくるであろうKotlinフィーバーに備えるぜ
2021/08/31(火) 01:20:44.47ID:nkEfBFAj
え? Kotlin の日本語情報? Webに沢山あると思うが? 本も沢山出てるよ。
2021/08/31(火) 01:36:39.03ID:upBvXNj6
ああいうのは大体周回遅れだからな
764デフォルトの名無しさん
垢版 |
2021/08/31(火) 03:57:27.53ID:nkEfBFAj
まあでもこの頃は自動翻訳でも結構読めるようになったよね。修正してくれてる人が居るのかも知れないが。
2021/09/01(水) 16:58:26.51ID:9b0EOTJN
ネット上の情報は増えたけど書籍はまだまだだわ。
諸初学者向けの入門書はあるけど、書籍でそれ以上深掘りたいなら英語ばっかだな。
2021/09/02(木) 10:47:34.91ID:kvuhlPFL
Javaの本に書いてることをKotlinで再現していけばいい
2021/09/02(木) 12:08:47.39ID:ofBHsFF8
昔は結構深い本があった気がするんだけど、
ここ10年くらいで入門書ばかりでネットの情報見た方が良くなった
2021/09/02(木) 14:52:45.48ID:2IGZCqIP
>>766
最初の頃はそれでいいけどKotlinしかない記法は身につきにくいからなぁ
2021/09/06(月) 16:00:58.98ID:6XTaCMD4
フィールドはsetter, getter使ってアクセスしろって言ってたくせに
kotlinになったらcallbackとか var callbackにして直接アクセスokになったのなんなん
2021/09/06(月) 16:13:37.76ID:FistWoaj
kotlinのプロパティなら後からでも影響最小限度でsetter, getterに書き換えできるからでしょ
2021/09/06(月) 16:51:07.08ID:phvZhzBO
Kotlinのクラスに書けるのはフィールドではなくプロパティだから問題ないでしょ
内部では同じことで、同じメリットも享受できる
2021/09/06(月) 16:51:36.83ID:phvZhzBO
すまんリロードしてなかった
773デフォルトの名無しさん
垢版 |
2021/09/07(火) 12:36:39.75ID:TqdmO5+e
Kotlinはgetter, setterが自動で作られてるよね?表に見えるように書く必要がないだけで。
2021/09/08(水) 00:17:45.55ID:mdkOvg+E
Androidアプリマンいたら聞きたいんだがネイティブで作るのって実際の現場だとどれくらい選択されてる?
ググってるとネイティブ学んでおけばOK的な記事が見つかる一方で実際の現場では保守工数を考えてマルチプラットフォームでiOSも合わせて同資源で作るのが多いのか気になった
2021/09/08(水) 03:00:33.07ID:eOkNAxV3
現場つっても業界によってだいぶ事情が違うんじゃないの
顧客の一律の端末に特定のアプリを開発してインストールする(例えば飲食のタブレット注文アプリ)
ならネイティブで開発が普通だろうが
例えばゲームのようにアプリそれ自体を一般に販売するような場合、特定の事情でもない限り
アンドロイドのみ、iOSのみということはありえないので当然マルチプラットフォーム前提になる
2021/09/08(水) 04:06:24.16ID:wRK4TQzB
最近はもうあいぽん無視するとこも出てきてるでしょ
シェア2割しかないし
2021/09/08(水) 08:17:54.25ID:iAX5sgCV
unityやマルチ使ってわざわざiPhone外すことはない
Androidだけなのはswiftできなかったとか特殊な事情だろ知らんけど
2021/09/08(水) 10:10:22.99ID:J9nzk2Oz
まともなアプリはネイティブ
webからサービス展開していったような会社はreactNativeとかwebViewだけのガワアプリだったりするけど大抵クオリティが微妙
君が普段使っているアプリを見てみたら良い大体まともなアプリはネイティブだろう
2021/09/08(水) 11:34:34.94ID:gOjAyVi1
ソシャゲとかはマルチプラットフォーム使って1資源で両OSビルドしてるイメージ
その他のアプリは要件に応じて同じようにマルチにするかネイティブで別々で作るか決めてるイメージ
2021/09/08(水) 21:37:14.98ID:2235Uth/
基本的にはネイティブが第一選択肢かな
マルチプラットフォームで出来ちゃいそうなものだったり、開発リソース次第ではそちらを選ぶ
マルチプラットフォームで開発するにしても、結局ちょっと込み入ったことになると両プラットフォーム用に実装分けなくちゃいけなくなるのよね
2021/09/08(水) 21:43:23.17ID:2235Uth/
そういう意味ではFlutterはとても良くできてるからマルチプラットフォームでできる範囲がすごく広がったな、
ネイティブを完全に置き換えるまではまだ行ってないけど、かなりの部分を吸収してくれる
開発言語がDartであることを除けばとても良い
2021/09/08(水) 22:52:07.37ID:jWzgnL0E
センサ類あれこれ触るならネイティブだわなって気がする
2021/09/09(木) 00:32:12.06ID:du2BnvwR
スマホVRの為にジャイロ取得したいんだけど取説ページありませんか?
2021/09/09(木) 00:37:15.29ID:ZoElMF5Y
公式にあるじゃろ(英語)
2021/09/09(木) 03:43:04.90ID:xhx3WSqk
流行り物は結構日本語化されてるもんだよ
https://developer.android.com/guide/topics/sensors/sensors_motion?hl=ja
2021/09/09(木) 18:52:07.82ID:A1tbVRU7
>>785
ありがとうございます
787デフォルトの名無しさん
垢版 |
2021/11/10(水) 02:08:18.09ID:nSaNfQNZ
constてなんのためにあんの?
2021/11/10(水) 03:42:12.72ID:prXPvJNI
constつけられるならつけた方が処理が早くなる可能性がある
でも、つけられるのはプリミティブ型か文字列だけだし、実行時に値が変わるような場所にはつけられないし、つけられる定義の場所にも制限がある
789デフォルトの名無しさん
垢版 |
2021/11/10(水) 17:01:46.07ID:AEbYhI02
便乗して教えて欲しいんだけどさ
constってつけても、その内容ってテキスト領域からスタックにコピーされるの?
それともテキスト領域への参照になるの?
2021/11/10(水) 18:14:21.91ID:LomFy4UO
うっせ警告出るから付けてるだけじゃjetbrainsに文句言えや
2021/11/10(水) 20:53:08.95ID:1fusRTws
constって#defineみたいなものやろ
2021/11/10(水) 23:18:14.39ID:tD/GNPr0
太麺で生麺タイプのカップうどんってなんて名前だったっけ
constじゃなくて
2021/11/10(水) 23:43:21.92ID:Ch3FBZdP
>>792
ごんぶと?
794デフォルトの名無しさん
垢版 |
2021/11/10(水) 23:50:42.49ID:2Gj2Pag4
検索したらこんなページを発見。

kotlinで定数を定義する時【const】vs【val】
https://qiita.com/takusemba/items/f278e9e9e9217f0d6632
2021/11/16(火) 00:31:43.45ID:/qwY16g/
1.6.0
796デフォルトの名無しさん
垢版 |
2021/11/16(火) 18:24:33.36ID:V/9tudbH
1.6は何が追加されたの?
797デフォルトの名無しさん
垢版 |
2021/11/16(火) 18:31:18.12ID:7nqPe+y1
教えてください。
関数の中のmodifierとcontentの構文の意味がわかりません
@Composable
fun StaggeredGrid(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {...
2021/11/16(火) 18:38:03.25ID:R96ipvtr
jetpack compose とかイキリやがって
799デフォルトの名無しさん
垢版 |
2021/11/16(火) 18:41:45.15ID:7nqPe+y1
どうしてもイキリたいんで助けてください
2021/11/16(火) 19:58:02.21ID:mlgO19O/
modifierの=はただdefault値設定してるだけじゃ
でcontentの方の() ->Unit
はただの関数型でしょ
引数なしで戻り値がUnitの関数型
@Composableはアノテーション
801デフォルトの名無しさん
垢版 |
2021/11/16(火) 21:28:24.99ID:zxrsprDW
>>800
ありがとう
なるほど!解るような、解ってないような。
もらったワードでさらに調べてみます
2021/12/24(金) 20:52:00.29ID:aX8NOECa
スマホあり。ネットなしでkotlin使うのは厳しいかのう。
2021/12/24(金) 21:44:29.74ID:uB5PXekg
スマホあり=ネットありだろ
804デフォルトの名無しさん
垢版 |
2021/12/25(土) 04:35:49.54ID:62MjaTIU
今ここには何を使って書いてるんだ?ここにネット接続しないで書ける立場の人なのか?
2021/12/25(土) 05:34:38.17ID:xHHo8a8h
スマホあるから調べ物はできるけどスタンドアロンPCで開発したいってことかな
テザリングすればいいんじゃないかな
806デフォルトの名無しさん
垢版 |
2021/12/25(土) 12:45:54.83ID:sZ4+jXNJ
ネットの反対はスマホ。
オーケー?
2021/12/25(土) 13:22:04.94ID:xHHo8a8h
A≠B や A⊄B だからといって反対とはならんやろ
2021/12/25(土) 17:19:21.55ID:62MjaTIU
AWS Cloud9 とか、ああいうのはタブレットやスマホで使えないのかな?
ブラウザ上で動く IDE のようだが。

まあそこまでしなくても Android の場合は中が Linux だからシェル動かすアプリ入れれば動かない事はないだろうが、Kotlin コンパイラについてはインストールできるか分からんな。
理屈の上ではできそうだが。
2021/12/25(土) 17:21:33.04ID:y/+CQW2M
うざ
810デフォルトの名無しさん
垢版 |
2021/12/28(火) 01:42:45.08ID:e4meyx5L
千葉興業銀行、4月から副業解禁 県内地銀初

南都銀行、4月から行員の副業制度導入 ウェブ制作など

荘内銀、行員の副業・兼業解禁

フィデアHD、副業・兼業制度を導入

横浜銀行、10月から従業員の副業・兼業解禁

鹿児島銀、副業解禁を検討 九州FGと肥後銀は10月導入

肥後銀行が副業制度導入へ 多様な働き方認める 10月から
811デフォルトの名無しさん
垢版 |
2022/01/02(日) 13:11:37.13ID:o9R7ffl7
あけましておめでとうございます。
ことりんもよろしくお願いいたします。
2022/01/05(水) 07:14:46.81ID:BFTmNql5
>>811
座布団一枚と言おうとしたが、>>515で既出だった...
まあ、恒例行事にしてもいいかもしれない...?
813デフォルトの名無しさん
垢版 |
2022/01/06(木) 01:48:29.50ID:TQRXE+kb
それ書いたのも俺w
2022/01/07(金) 05:39:16.47ID:tynFZTss
しつこく2度も書いて
さらに自演
2022/01/07(金) 11:32:13.33ID:5vtplIbR
1年に300レスすら書かれないのかぁ
話すことないんだね
2022/01/07(金) 13:07:55.92ID:3ZLUKhuk
じゃあ本題に戻ってxamarinの話をしようか
2022/01/07(金) 13:13:40.14ID:QNXnpUso
Xamarin程の糞はない
818デフォルトの名無しさん
垢版 |
2022/01/07(金) 17:29:26.31ID:+rjvm48j
>>814
いや、3度目だ。一昨年の正月にも書いた。(本当)
2022/01/07(金) 17:31:52.79ID:bep9YfUz
3年間何も進歩がないなんて…
来年に期待(振り
2022/01/07(金) 20:05:13.94ID:tynFZTss
3度目なら2年間
2022/01/14(金) 12:29:08.87ID:fsPf2koq
win, linux, macどれでも動くソフト作りたいから悩んでたけど、色々心配なcompose for desktopか、JavaFXか、まだpreviewの.NET MAUIか、どれ選べばいいのか......
2022/01/14(金) 13:13:46.34ID:ky7+ITf7
FlutterとかElectronも選択肢に入れたげて
2022/01/14(金) 13:18:28.18ID:fsPf2koq
>>822
Electronは忘れてた、ありがとう。
Flutterってfor desktopもあるのか。
Kotlinが好きだから、composeかJavaFX、最悪C#と思ってた。
2022/01/22(土) 16:59:24.03ID:qigFyzKc
おすすめ・人気の入門書はありますか?
2022/01/23(日) 21:09:55.08ID:l3lVaHlr
本なんかいらんよ、はっきりいってWebの情報ググればいい
昨今はどの分野、言語もトレンドや情報更新が速すぎて出版されてる本の内容は出た時点で古くなってることが多い
逆にWebの情報ググって習得できないようなら本を買っても何も習得できないと断言できるので本が無駄になるだけ
匿名ネットにいて本をすすめてくるやつはその出版にかかわってるやつ、つまりステマ勢だけ
826デフォルトの名無しさん
垢版 |
2022/02/12(土) 16:45:49.28ID:MORw/gx6
class の中で companion object Default: クラス名 { ... } みたいにするとクラス名と同じ名前のインスタンス名でアクセスできることに、今わかった。
kotlin.random.Random 調べていてわかったんだけどね。どうしていきなり Random.nextInt() みたいなことが出来るのか、どこかで Random という名前でプロパティ作ってあるのか、とか探し求めて2時間後に判明。

こういうのって入門書に書いてないような気がするが、書いてあるんだろうか? (昔のCのK&Rみたいに重要な事がさらっと簡単に書いてあったり?)
2022/02/12(土) 17:54:51.73ID:8ted8XK+
Kotlin の第一人者は太郎!
ちょっと古いけど、良くまとまっている

Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
2022/02/13(日) 04:06:27.89ID:efpgCfVW
>>826
https://dogwood008.github.io/kotlin-web-site-ja/docs/reference/object-declarations.html
このリファレンスの和訳のコンパニオンオブジェクト(Companion Objects)で説明されていることだよね?
たぶんオリジナルのリファレンスにも同じ記述があるはず
入門書でもこの辺は書いてあるんじゃないのかな?

companion objectには名前をつけることができて、RandomクラスではDefaultという名前をつけてる
この名前は省略できてその場合にはCompanionという名前になる
普通にcompanion object内の物を使うときにはこのDefaultとかCompanionは省略できるので、Random.nextInt()みたいに使える
829デフォルトの名無しさん
垢版 |
2022/02/19(土) 16:25:32.63ID:/niZdYj5
>>828
やはり重要な事がサラッと簡単に書いてあるパターンだな・・・
2022/02/19(土) 23:36:54.54ID:DKtISDgp
companion objectは文法がちょっと独特だけど、Androidならクラス内の定数を定義する場所の定番だし、createInstance()みたいなのを書く場所にもなるので、これを知らないとかは普通無いと思う
単にクラス名.メソッド名()で呼び出せるようにするのならcompanion objectの中にメソッドを書くだけでいい
Randomの使い方(抽象クラス内のcompanion objectがその抽象クラスを継承具象化してクラスメソッドとしてアクセス可能にする)はちょっと特殊だけど、companion objectの仕様が理解できてれば何やってるかわかるはず
2022/02/21(月) 15:52:17.64ID:HEvxyLO5
>>830
何やってるかわかるはず?
そんなのみんなわかってるよw
832デフォルトの名無しさん
垢版 |
2022/03/07(月) 04:05:27.74ID:t70FSnsj
私はわからない。
2022/03/10(木) 11:27:58.08ID:71DVBJ7i
Jetbrainsって実質ロシア企業だよね
Kotlinの将来性が急に不安になってきた
2022/03/10(木) 12:43:57.95ID:KEVw92pc
https://www.itmedia.co.jp/news/spv/2202/25/news091.html
ロシア系ベンダーJetBrainsがウクライナ侵攻を非難 「IntelliJ」「PyCharm」など人気IDE開発

かなり素早く対応したから大事にはならなさそう
2022/03/10(木) 13:29:43.22ID:4PtzLHCX
>>834
めちゃナイーブな見方やな

the attackがロシア軍によるウクライナ侵略行為を指してるかどうか分からない
ロシアが主張するようにウクライナ軍による東部のロシア系住民の虐殺を指してるのかもしれない

表面的に立場を明確にしたように見えて意図的にどちらの立場にも取れるように計算し作られたツイート
実際アメリカではサブスク解除する人が続出してる
2022/03/10(木) 13:46:08.16ID:arIhM3ij
カスペ、JetBrains以外だとよく使われてるのはWinRARだな
WinRARは先週新バージョンが・・・
2022/03/10(木) 14:00:50.52ID:NM+rUlgU
>>835
こんなところにも逆張りバカか工作員来るの?
2022/03/10(木) 15:32:53.66ID:u7mOVYGR
一番有名どころはNginxでしょ
2022/03/10(木) 21:38:52.94ID:VVJ7gAGc
nginxはもうロシア系じゃない
開発拠点も移ってる
2022/03/13(日) 17:36:27.20ID:snewu3ZU
プログラミング学び始めてみたんだけどKotlinだとガッしてもらえないんですか
2022/03/13(日) 18:07:19.84ID:Lil7mSdF
うまいことすれば、してもらえるよ。
842デフォルトの名無しさん
垢版 |
2022/03/19(土) 15:09:55.18ID:CZI3HevE
難しいな。Kotlin だと null.toString() が文字列の "null" 返してくるしな。
2022/03/19(土) 19:36:15.65ID:KdEbdcMu
デバッグやログの出力には便利だなw
844デフォルトの名無しさん
垢版 |
2022/04/03(日) 15:27:29.59ID:8njkmZuA
Kotlin の class の中の companion object {} の中の変数って Java の static と同じかと思ったら微妙に違うな。
クラス名を通してアクセスできるけどクラスのインスタンスを通したらできない。

class X { companion object { val a = 123 } }

val xxx = X()

のように書いた場合 X.a は大丈夫だが xxx.a は Unresolved reference になって駄目。
2022/04/03(日) 15:47:26.58ID:luTAmabK
インスタンス変数を経由してクラスメソッドにアクセスできるというのがJavaの文法的な欠陥だからね
Kotlinはそれを改善してる
Javaでもそう書いたらIDEや静的解析ツールは警告してくれるよ
メソッドをシームレスに扱えることはメリットだけど、異なる型に代入したとき、親をオーバーライドするのか隠すのかで異なる振る舞いをするから間違いを誘発する
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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