Kotlin 2

■ このスレッドは過去ログ倉庫に格納されています
2017/11/01(水) 00:07:43.82ID:jxmKQQAl
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

前スレ
Kotlin
http://mevius.5ch.net/test/read.cgi/tech/1456505161/
2018/02/02(金) 21:43:50.82ID:zvuXw/YQ
Android studioはMac版もあるし当然Kotlinも使える
ただ、iPhoneアプリは作れねぇ
2018/02/02(金) 22:32:37.72ID:iI1eaKOA
>>406
MacとiOSはMacが無いとコンパイルすら出来ないって糞みたいな仕様が一番のネックだからな
2018/02/02(金) 22:38:07.24ID:zvuXw/YQ
Windowsもネイティブアプリはそうだろ? 違うっけ?
2018/02/02(金) 23:17:28.47ID:2JRgrNpV
クロスプラットフォームは糞
2018/02/02(金) 23:39:49.14ID:4J1UtiB3
Xamarin C#が正解
2018/02/03(土) 00:17:14.67ID:Pk3rL+mD
ちょまど教の狂信者か
2018/02/03(土) 02:29:40.70ID:rIodJ30B
Xamarin程の糞はない
C#も10年前の時代遅れの言語だし圧倒的にswift,Java,Kotlinの方が人気が高いし求人も多い
VS for Macはgitでブランチを切り替えたりするだけでビルドできなくなって、
クリーン、リビルド、IDE再起動、PC再起動を頻繁に繰り返さないといけなくなる欠陥品なのが糞
大体MicrosoftはWindowsPhoneのシェアを二桁取ってからモノを言えと言いたい
MicrosoftがやっていることはGoogleやAppleの作ったパイを横取りしようとしているだけ
MVVM前提の開発環境とか言うくせに外部ライブラリを入れないと良い感じでMVVMできないのが糞
UIは共通化できると言うわりにListViewは重くてスワイプがもたついたり画像の表示が遅かったりするのが糞
Xamarin.Formsはちょっと複雑なことしようとするとお得意のdependency serviceとcustom rendererの連発
クロスプラットフォームと言うならXamarin.Formsだけでできないことを恥じろよ
WebViewなどXamarin.Formsの提供するUI部品が糞すぎて
一旦Xamarin.Formsの提供する機能で実装して糞な思いをさせられた後で
Xamarin.AndroidとXamarin.iOSで計3回も同じ実装をさせられるのが糞
Xamarinなんてマイナーな環境使っている人が少ないせいでググって調べものするのに時間がかかるのが糞
qiitaやstackoverflowの情報もXamarinに関するものはAndroidの10分の1以下の投稿しかなくて
下手すると解決策が見つからなくてデザインや機能の面で妥協する結果となる
任天堂のXamarin製アプリもカブドットコムのXamarin製アプリも星平均3.0の糞アプリ認定されてる
MicrosoftのAndroid向けedgeブラウザもXamarin製でなく、
Microsoft自身も糞認定して使わない糞開発環境がXamarin
エンジニアもデザイナーもお客さんも全員がっかりするのがXamarin
結論としてXamarinを使うと開発工数は伸びアプリのクオリティは落ちるということ
XamarinをやっているやつというのはC#の機能を使うことやXamarinを使うことそれ自体が目的化していて
お客さんに良いものを届けたいという意思が存在していない
ソフトウェアを作るということは価値のあるものを世の中に提供して世の中をもっといい場所にするために
行われることであるべきで、完全に自分本位でゴミを量産し続けるXamarinエンジニアは全員死んだ方が良い
2018/02/03(土) 08:57:07.88ID:cx3bBBlj
>>413
KotlinもUIはJVM, JS, Nativeとそれぞれ開発しないといけないという方向性なんだよね。
マルチプラットフォームでUIもKoltinで1回書くだけで済む日は来ないんだろうか。
>>406
Gluonという会社がAndroidとiOS向けのJVM(JavaFX付き)を作るとか言っていたんだけどどうなったのかな。
ページを見に行くとあるにはあるっぽい。
使った人とかいます?
2018/02/03(土) 09:01:37.02ID:w4Z6vlfg
>>406
Macだけなら余裕。
TornadoFXであっさり作れる。
2018/02/03(土) 09:18:56.79ID:JaWlScCi
>>406 >>407
KotlinでiPhoneアプリは作れる
2018/02/03(土) 09:33:24.43ID:JaWlScCi
参考

Android・iOS対応のクロスプラットフォームライブラリ、Intel Multi-OS Engine(MOE)
https://qiita.com/yyYank/items/2d96640d713a527691be

Kotlin/Nativeを使ってiOSアプリを作ってみる
https://qiita.com/noripi/items/4ee969c48b3da5ca6fbd
2018/02/03(土) 09:37:01.92ID:cwvA0gbQ
面倒くさそう
2018/02/03(土) 09:45:23.72ID:JaWlScCi
>>418
面倒なら
 ・SwiftやObjective-Cで直に作る
 ・Cordovaなどで作る
 ・iPhoneアプリは諦める
詳細は該当のスレでどうぞ
2018/02/03(土) 09:50:47.55ID:w4Z6vlfg
>>417
こんなんあるのか、知らなかった。試してみるよありがとう。
ただクロスプラットフォームのライブラリって大体最終的にうまくいかないから、つい警戒してしまうw
2018/02/03(土) 10:04:18.17ID:g4V8Xpml
Xamarin C#が正解だよ
簡単で高品質
2018/02/03(土) 11:58:07.39ID:rIodJ30B
時間掛かって低品質のアプリが出来上がるだけクロスプラットフォーム
2018/02/03(土) 12:05:11.68ID:Pk3rL+mD
正式セミナーで技術より人脈なんて宣伝する糞プラットフォームは使わない
2018/02/03(土) 12:51:45.20ID:3SRelbb9
Xamarinは簡単だけど高品質かと言われると、、
2018/02/03(土) 12:54:52.62ID:3SRelbb9
実際クロスプラットフォームが最適なアプリってそんな多くないよな。
何かの画像処理をするとかそういう端末内で複雑なビジネスロジックを組まなくちゃいけないものならそこを共通化できるメリットはあるだろうけど、
サーバーサイドと通信して何かをするのがメインなクライアント系アプリなら普通にネイティブで2つ作った方が楽
2018/02/03(土) 13:19:34.45ID:cwvA0gbQ
Unityでええやん
2018/02/03(土) 13:29:02.91ID:g4V8Xpml
APIクライアントやちょっとした処理も完全に共通化できるから便利だよXamarin
Java,Kotlin / Swift,obj-cだと日付型と日付操作apiみたいな些細な部分でも違いがある
C#にすると文法や基本ライブラリの粒度で共通化できる
2018/02/03(土) 13:58:55.43ID:cwvA0gbQ
C++使いなら、QTとかSDLとか
2018/02/03(土) 14:47:37.76ID:rIodJ30B
Xamarinみたいな糞はプロトタイプ開発でしか使い道ない
まともなアプリはみんなネイティブ
任天堂のXamarin製アプリもカブドットコムのXamarin製アプリも星平均3.0の糞アプリ認定されてる
Microsoft自身も糞認定して使わない糞開発環境がXamarin
2018/02/03(土) 15:38:21.40ID:I3vkx3c9
Unityは日本語入力の問題さえ解決すれば多分かなりの部分の解決になると思う。
なんせ画面を描くところから自力でやってるからな。
業務アプリでもポチポチ画面押すだけの物とか結構いけると思うし、実際あるんじゃないかな。
2018/02/03(土) 15:57:45.75ID:h3rMVgMV
共通部分はともかくUiはそのプラットフォームのネイティブでやったほうが結局は簡単なんだよな
2018/02/03(土) 16:06:38.75ID:g4V8Xpml
どのプラットフォームでもネイティヴで書いてもVとVMは普通に分離するだろ
なんでマルチプラットフォーム対応で追加のコストはかからない
2018/02/03(土) 16:32:01.67ID:c+hycmxt
>>430
おう業務アプリと入力フォーム部品の蜜月性なめんあ
Unityはゲームと家庭向けアプリ特化の方向性のままでいいと思うぞ
2018/02/03(土) 18:14:08.46ID:05c/5eCT
クロプラは凝ったことしようとすると詰むね
2018/02/03(土) 18:35:13.80ID:biHS6/dY
Xamarin程の糞はない
2018/02/03(土) 18:46:40.72ID:I3vkx3c9
>>433
確かにそうか。
社内カレンダー通りの休日がマークされる日付選択とか、営業日入力とか色々あるもんな。
2018/02/03(土) 23:11:11.34ID:w4Z6vlfg
>>432
すまんけどそろそろXamarinスレに帰ってもらっていいかな
2018/02/03(土) 23:47:52.38ID:Dj9L0wRm
ザマァw
2018/02/03(土) 23:53:32.22ID:g4V8Xpml
Xamarinで全てが解決する
2018/02/04(日) 00:09:06.97ID:uJTrEg0Y
ざまりんは座間市のマスコットキャラクターです
441デフォルトの名無しさん
垢版 |
2018/02/04(日) 01:24:03.44ID:fXO59JwO
>>417
MOE ART って、もう狙ったネーミングとしか思えない。
2018/02/04(日) 01:28:27.34ID:fXO59JwO
ざまりんとことりん・・・りん繋がりか
2018/02/04(日) 09:35:33.76ID:FBsDULoD
>>442
どう考えてもことりんの方がかわいい
2018/02/04(日) 09:54:33.07ID:fkv+V9jD
クマリンだと税金までとってくれる
2018/02/04(日) 09:57:33.79ID:FBsDULoD
今更だけど、ことりんとこっとりんどっちが正しいんだろ
2018/02/04(日) 10:25:02.12ID:djmEPYyF
XamarinをやっているやつというのはC#の機能を使うことやXamarinを使うことそれ自体が目的化していて
お客さんに良いものを届けたいという意思が存在していない
ソフトウェアを作るということは価値のあるものを世の中に提供して世の中をもっといい場所にするために
行われることであるべきで、完全に自分本位でゴミを量産し続けるXamarinエンジニアは全員死んだ方が良い
2018/02/04(日) 11:57:10.52ID:nOFNDTKE
ことりんの記述の簡潔さが良いと言われているスレに来てC#書けなんて言われたらそりゃ嫌がらせだよ
2018/02/04(日) 12:57:23.44ID:jtpbEfK1
C#の方がエレガントなコードを書けるでしょ
エレガントで保守性の高いプログラムはお客にとってもありがたい
お客にいいものを届けたいならXamarinだよ
Kotlinの奇形じみたセンスのない文法はお客も辟易してる
kotlinを使いたいというプログラマのわがままでお客に迷惑をかけちゃダメだ
2018/02/04(日) 13:02:47.05ID:FBsDULoD
なんか変なのが居着いちゃったな。。。
2018/02/04(日) 13:28:53.05ID:FSE7+++a
C#は、.Net か Monoを入れないといけないのがウザいし
JavaやKotlinは、JDK入れないといけないし、
やっぱそういう意味では、Swiftが最強やな
2018/02/04(日) 13:45:15.33ID:zMXPgQ7i
ねーよ
2018/02/04(日) 13:47:54.74ID:th3aOzJF
ことりんスレということを思い出していただきたい
453デフォルトの名無しさん
垢版 |
2018/02/04(日) 14:38:34.08ID:iVs4GAGZ
何ここ、ザマリンスレなの?
2018/02/04(日) 14:39:13.20ID:zMXPgQ7i
ザマリンアンチが居ついた
2018/02/04(日) 15:18:28.39ID:Iw8xCsU2
Xamarinスレでは相手にされないものでね
ここなら最初からできる
2018/02/04(日) 17:01:56.94ID:fXO59JwO
うーん。しかし、Xamarin って本屋行くとiOSアプリ関係の本の所にちょっとしか置いてないし、
ほとんど名前しか知らないから俺には批判することすらできないなあ。眼中にない感じ。
仕事でも必要になることは今のところ全くないし。(ま、仕事で使わないと言えば Kotlin も
Java も俺は使わないんだけどね)。
2018/02/04(日) 17:20:25.12ID:FSE7+++a
Xamarinに興味ないのならこのスレ来んなよカス
2018/02/04(日) 17:24:52.19ID:zMXPgQ7i
>>457
ここKotlinスレやでwww
2018/02/04(日) 17:29:38.53ID:fXO59JwO
>>457
全くないねえw
2018/02/04(日) 19:41:54.65ID:djmEPYyF
Xamarin程の糞はない
2018/02/04(日) 20:04:16.29ID:8c6AhnDA
お前らそんなに暇ならKotlinで人の役に立つブラグラムでも書いてこいよ
2018/02/04(日) 20:14:32.95ID:th3aOzJF
やだよ
俺は俺のためにプログラムするだけだ
2018/02/04(日) 20:40:33.04ID:NcR26d4z
ことりんはBカップ、ザマリンはHカップだそうだ。
どっちが優れているかは明らかだろう。
2018/02/04(日) 21:04:53.75ID:v0/VVSUj
ザマリンはケツぷりんぷりんやで
2018/02/05(月) 06:25:07.64ID:XnXa3nca
>>463
その二択ならことりんだわ
2018/02/05(月) 07:01:14.71ID:PujqrgUf
ことりん使いはロリコンってことなのか?
2018/02/05(月) 09:24:55.28ID:Bet9M/a/
まぁ、そういうことになるわな
2018/02/05(月) 11:01:26.93ID:U6/FYtwu
女性の敵ですよ(歌詞)
2018/02/05(月) 17:22:37.32ID:tfCzDdoz
ある非同期関数を呼び出し側のコンテキストで実行したいのですが、例えばC#の場合
void async testAsync() {
 await funAsync1(); // configureAwait(false)しない
 hoge1();
 await funAsync2(); // configureAwait(false)しない
 hoeg2();
}
で、testAsyncをメインスレッドから呼び出しせば、hoge1とhoge2は呼び出し側のコンテキストつまり
メインスレッド上で実行されるのですが、
同じ事をkotlinでやるにはどうすればいいでしょうか??
fun testAsync() : Job {
 return launch {
  funAsync1().await() 
  hoge1();
  funAsync2().await()
  hoge2();
 }
}
2018/02/05(月) 17:23:55.91ID:tfCzDdoz
launch(UI)とか昔のコードみるとあるのですが、UIは廃止されたのでしょうか?
2018/02/05(月) 17:57:24.43ID:RkA+fItw
ここXamarinスレだから、そんなこと聞かれても困る
2018/02/05(月) 18:58:41.41ID:wW/kiq+x
>>463
情報の出処について詳細求む
2018/02/05(月) 20:07:43.39ID:Gnk0ssBz
なんかスレチな話題ばっかりなんだが、コトリンインアクション買う価値ある?
本家HPのリファレンスで十分?
474デフォルトの名無しさん
垢版 |
2018/02/05(月) 20:54:56.13ID:AaZ8U1Zi
>>473
わからない。それは今のお前の状態によって変わる。立ち読みして自分で決めろ。

まあしかし俺のエスパー能力を使った直観によれば、多分買った方が良い。
475デフォルトの名無しさん
垢版 |
2018/02/05(月) 21:08:10.13ID:tfCzDdoz
launch(UI)のUIはcoroutine-androidの別モジュールだった。すみません。
2018/02/05(月) 21:14:06.27ID:U6/FYtwu
コルーチンは実験的らしいけど
Androidなら「android kotlin 非同期」とかでググってみたらいいんじゃないかな

実験的じゃない方なら「android 非同期」でJavaのやり方をそのままKotlinに
2018/02/05(月) 23:17:35.87ID:nOjIwE3H
>>473-474
Kotlinイン・アクション、2017
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016

太郎はたぶん、イン・アクションを参考にしながら、スタートブックを書いたのかな?
そういう意味では、太郎本の方が有利
2018/02/06(火) 05:27:10.63ID:8sdmif4x
>>473
本家HPの英文リファレンスを読みこなせるなら、イン・アクションはいらない。
Kotlinをこれから始める人で1冊しか買えないのなら>>477の言う通り太郎本がいい。
2018/02/06(火) 06:25:53.98ID:rJfYat5w
コルーチンっていつまで実験的扱いなんだ
普通に十分実用に耐えるんだが
2018/02/06(火) 08:50:02.13ID:BCxTzJO3
>>478
サンクス
じゃー、様子見するよ

立ち読みしろって言われても近くにでかい本屋ねーし、4000円越えで無駄に高いしな
2018/02/06(火) 09:12:44.31ID:mPJqoZjS
標準でページ翻訳を備えるブラウザが便利
stackoverflow(英語本家)のやり取りなんかは本じゃ得られないし
2018/02/06(火) 09:21:42.12ID:BI0U6pHR
ノン・アクション
483デフォルトの名無しさん
垢版 |
2018/02/06(火) 09:30:50.75ID:KYIMWbNh
Amazonでkindle版のサンプルがただで読めるよ。サンプルだからどの程度まで読めるかはわからないが。
2018/02/06(火) 11:58:30.44ID:Ql6hMbqV
Stackoverflowを翻訳なしで読めないならKotlinより先に英語を勉強した方が良いと思う
煽りじゃなくてマジで
2018/02/06(火) 12:37:44.65ID:mPJqoZjS
全く読めないならその通りだね
その場合検索もまともに出来ないだろうし
でも情報を探しているときに日本語と同じ速度で流し読み出来る人以外には翻訳おすすめ
2018/02/06(火) 12:53:34.58ID:BI0U6pHR
Google先生の翻訳精度も最近上がってる気がする
2018/02/06(火) 13:14:41.74ID:Cp0wU7qW
たまにできる・できないとか真逆の意味で訳される
2018/02/06(火) 14:05:56.32ID:oL/xYjbv
読めなくても文法の基礎知識があれば翻訳を修正しながら読める
2018/02/06(火) 20:33:53.89ID:BCxTzJO3
最近のGoogle先生はほんと優秀で、一回全部Google翻訳にかけて、意味がわからんところだけ英文見て修正するだけでも単語調べる時間減るから、だいぶ時間の節約になる
2018/02/06(火) 21:28:26.63ID:HNEg71Ng
精度が良いからって頼りきりなのは問題だよ
データシートも翻訳するの?
2018/02/06(火) 22:10:15.81ID:rTnXOt5h
時間節約や翻訳支援に有用性があるという程度の話に
突っかかって行く意味あるのか?
2018/02/06(火) 23:01:06.65ID:ovlDN9kS
言語オタクと初心者以外本なんて必要ないような
最低限の知識は軽く公式のドキュメント読んで後は
その都度覚えれば十分だなぁ
言語オタクじゃないので言語よりアプリ作るのが目的だからな
2018/02/06(火) 23:03:49.83ID:BI0U6pHR
Kotlin自体より、Android SDK等のクラスライブラリの方が使いこなすの大変だわ
2018/02/07(水) 16:35:52.55ID:c/oxW6ag
新しい言語覚える時は適当に評価高い本を一冊買う派だな俺は
全体像をつかむのに体系的ににまとまった本はやっぱり便利
495デフォルトの名無しさん
垢版 |
2018/02/09(金) 11:15:30.34ID:S2cW3gVf
自分の慣れた言語で当たり前だったやり方でも、他の言語ならもっとスマートに書けるとかあるからな
公式ドキュメントだとどうしても全体を俯瞰的に見るのは難しいから、自分が存在を知っている情報以外の情報に気付きにくい
496デフォルトの名無しさん
垢版 |
2018/02/10(土) 18:20:28.04ID:ax7FG40j
カンファレンス楽しみ
2018/02/11(日) 00:06:26.27ID:Dss3s5Hr
ねえ
// int[] sKey
// byte[] wKey
// int data
wKey[0] += sKey[(int) wKey[1] & 0xFF] - data;
wKey[1] -= (byte) ((sKey[(int) data & 0xFF] ^ wKey[2]) & 0xFF);
wKey[2] ^= (byte) (data + sKey[(int) wKey[3] & 0xFF]) & 0xFF;
wKey[3] -= (byte) (wKey[0] - sKey[(int) data & 0xFF]) & 0xFF;

int dKey = ((int) wKey[0]) & 0xFF | (wKey[1] << 8) & 0xFF00 | (wKey[2] << 16) & 0xFF0000 | (wKey[3] << 24) & 0xFF000000;

こういうのってKotlinでどう書けばいいの…
2018/02/11(日) 00:14:54.33ID:7rBQZAiC
宿題は自分でやろうね
2018/02/11(日) 00:37:59.12ID:tZ50hO/2
>>497
IntelliJかAndroidStudioで変換してエラーを手修正すればOK
500デフォルトの名無しさん
垢版 |
2018/02/11(日) 05:15:17.18ID:B0DbdRYG
>>497
それは何ていう言語で書いてあるんだ?
2018/02/11(日) 06:47:22.49ID:7rolFSqw
>>497
言いたいことを想像しながらの答えになるけど、ビット演算もシフト演算もKotlinにはあるよ。
ttps://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html
Cのような見栄えにならないとしても、それはKotlinの目指すところではないということかと。
2018/02/11(日) 08:33:39.91ID:HsBVk8FN
kotlinでやるならwKeyもIntArrayとかにしたほうがよさそう
2018/02/11(日) 08:54:01.46ID:tZ50hO/2
普通にJavaでしょ
殆どIntelliJがやってくれる
2018/02/11(日) 10:57:18.59ID:7jnO/yAb
>>497
IntelliJでunko.ktというファイルを作る
そのコードをそのまま貼り付ける
終わり
2018/02/11(日) 11:35:59.62ID:hLOHWIXG
もとの言語知らんけどもっとマシな書き方あるだろと思う
2018/02/11(日) 11:51:33.86ID:qM2RbKtk
何かの外部の処理論理をそのまま記述したって感じだな
外部の処理記述と突き合わせなければならないような場合はこんなのをよく見る
変にスマートに書き換えされてると脳内再変換コストがかかるというパターンw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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