Flutterやろうよ!!!

■ このスレッドは過去ログ倉庫に格納されています
2018/06/02(土) 15:07:40.16ID:FmfhRdV+
ようこそFlutter野郎どもよ!!!
軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか
AndroidもiOSも両方行ける、まさに漢のためのツールだな

http://www.flutter.io
2021/01/03(日) 15:20:53.68ID:+36sJQFE
デスクトップアプリ作ったことないけど、そこまで遅くなる印象ないけどね。AOTでもそんなに速くはないなーくらいは思ったけど。
2021/01/03(日) 15:59:19.99ID:iO9f4D6E
スマホアプリ作りたい初級者はフラッター1択なの?
2021/01/03(日) 16:07:12.40ID:wcnZibre
デスクトップだから遅くなるという意味じゃなく、デスクトップアプリだとマウス入力などでもっと生産系の凝った、複雑なアプリ開発とか視野に入ってくるわけで、
そうすると、マルチスレッドとか基本だけど、isolateだとメモリ空間分離されてるからめんどくさいし

もちろん、今のタッチ入力メインのモバイルアプリでも凝った、複雑なアプリ作れるが
2021/01/03(日) 17:53:55.66ID:8AIUs18f
マルチスレッドなGUIフレームワークって世の中にどれだけあるの?
2021/01/03(日) 17:55:15.81ID:VfQTkbQw
すげーー普通
2021/01/03(日) 18:10:19.83ID:HDj66jaS
>>750
privateが_なんて全くなんの問題もない。むしろそれごときに慣れる事ができないなら今後思いやられる。
finalがコンストラクタ〜ってのは分からんでもないけどそれならfinal外せ。
StatefulWidgetのfinal制限ならきっと俺には分からない実装上の都合があるんだろう。
詳しい人の解説を待とう。
2021/01/03(日) 18:11:12.37ID:GldJWR4v
普通か?
UIスレッドが複数のGUIフレームワークってなんだろ。

あと、極力、スレッド間でメモリ空間を共有しないのが最近の王道では?
isolateに振ったのは悪くない方法だと思う。
760デフォルトの名無しさん
垢版 |
2021/01/03(日) 18:12:08.79ID:AYuH2JJK
>>744
インデントとか?
761デフォルトの名無しさん
垢版 |
2021/01/03(日) 18:14:51.43ID:AYuH2JJK
>>759
どうせThreadレベルじゃプリエンプトされないから
MainThread.asyncで十分だよ
2021/01/03(日) 18:20:09.59ID:HDj66jaS
>>761
スレッドでも普通にTTSでプリエンプトされると思ってたんだけど最近は違うのかい?
2021/01/03(日) 18:33:08.94ID:ZfI7ecBk
>>754
ろくにプログラミング経験ないなら、
Kotlin + Android Studio
Swift + XCode
の純正で最初にある程度経験積むほうがいい。
最初からクロスプラットフォームの開発は初心者向けじゃない
2021/01/03(日) 18:40:50.09ID:ZfI7ecBk
>>752
なんだDartってマルチスレッド対応してないのかよ
Dartが洗練されてるとかいってた話うそじゃないかよw
時間かかる処理はどうやってるの?

C#使えるUnity, Xamarin, MAUIのが長い目で見るといいんじゃないか?
あとはKotlin Multiplatform

FlutterはUIの部品はいいけど、Dart言語がいまいちってかんじかね
2021/01/03(日) 18:46:38.13ID:wcnZibre
なんか話が途中からずれてるな・・
俺がいったのはあくまでUIスレッドは一つだぞ・・
>>759でUIスレッドが複数になってるけど
>>756もUIスレッドが複数の意味なのかもしれんが・・

>>764
一応、ワーカースレッドのisolateってはあるが、メモリ空間が別なので
データやり取りするのがちょっと難儀がある
2021/01/03(日) 18:49:39.97ID:4/sbt9BN
flutterのUIが豊富ってだけで仕組みは死ぬほど糞だけどな
少し大規模開発になると縦横無尽にblocやらproviderだらけになってレンダリング系の問題とか出てくると手に負えなくなる
2021/01/03(日) 18:50:29.08ID:4/sbt9BN
>>764
そうだよ
dartってゴミクズよ
2021/01/03(日) 19:19:11.19ID:wcnZibre
他にも整数型がintしかない問題
1バイトや2バイトなどしか使わなくても8バイトのint使うと無駄多すぎ
デスクトップアプリでメモリ一杯あるし勝手にキルされないから、どんどんオブジェクトを
ため込んでいくと無駄も結構大きくなる

メモリ絡みで弱参照もないし・・

もちろん、普段はHttpたたいて結果を表示するレベルのモバイルアプリがメインだからこんなことは
全く気にしてないけど

でも、どんどん規模が大きくなるとdartはうまくスケールしない・・と思う
2021/01/03(日) 20:09:38.68ID:HDj66jaS
>>766
まぁいくらproviderが極少化できるとは言ってもそれを最初から設計することは困難なのでとりま全Widgetツリー更新で実装してしまって、リファクタは影響が計り知れないのでそのままにしちゃう。
ステートのライフサイクルとの兼ね合いとかわけわからんくなって誰も触れないコードの出来上がり。
理想と現実は違うよね。
770デフォルトの名無しさん
垢版 |
2021/01/03(日) 20:24:11.69ID:AYuH2JJK
クソSwift+Rxより未来あるけどなwww
771デフォルトの名無しさん
垢版 |
2021/01/03(日) 20:35:56.13ID:AYuH2JJK
>>768
intしかないメリットも大きい。
機器からのbyte列をUint8Listに変換すると無駄に思えるが普通はそこからModelクラスに格納するのでローカル変数でしかない、激速で処理して解放するメリットのほうが大きいw
2021/01/03(日) 20:49:35.48ID:HDj66jaS
>>768
intに関しては今どきbyteだからと言って本当にRAMを8bitしか消費する事はないし、もしあったとしてもとっても無駄が多い。
CPUのアドレスバス幅考えればすぐに分かる事。
2021/01/03(日) 21:04:35.84ID:X5yHTTz4
swiftの方が100倍いい
2021/01/03(日) 21:05:47.37ID:+y0HLvdv
>>765
俺がいったのはって書いてあるけどいつ言ったの?
2021/01/03(日) 21:14:09.29ID:wcnZibre
>>774
君だれ?

>>772
ああ、そうだね。alignmentやpackingを指定できる言語もあるけど、たいていは特定のalignmentに調整されたね
そこは浅はかだった
2021/01/03(日) 21:19:13.11ID:q8fMdEaH
ああ、後出しで訂正したんだね
2021/01/03(日) 22:25:59.82ID:ZfI7ecBk
>>765
なるほど
UIで多少楽できても
Dartのせいでビジネスロジックで苦労するわけか。
マルチスレッドないと微妙だな

やはりゲームまでつくれてC#も使えるUnity最強説
2021/01/03(日) 22:35:07.72ID:ZfI7ecBk
Flutterなどのクロスプラットフォームを使わない場合に
モバイルアプリ開発で、
UI関連コードとビジネスロジックのコードの開発にかかる時間の
割合はどれくらいだろう?
20% + 80%?
30% + 70%?

直観でビジネスロジックで70%超える気がするんだけどそうだとすると
DartがクソなFlutter使うよりも、言語が優秀なC#系やKotlin系の
ツール使うほうが効率いいんじゃないのか?
2021/01/03(日) 22:37:32.35ID:ZfI7ecBk
778 の
言語が優秀なC#系やKotlin系のクロスプラットフォーム対応ツールとは
具体的にUnityとかKotlin Multiplatformとか。
Xamarin, MAUI
2021/01/03(日) 23:10:45.11ID:wcnZibre
つか、しぼらなきゃいけないの?w
まあ、オールラウンダーがあればそれ一つやるに越した事はないが
俺はwin32ネイティブ,WPF,UWPやらandroid java/kotlinで今はflutterだけど、アプリの種類に応じて一番楽なの選ぶだけだし

xamarinはないがmauiは出てきてから評価しないとなんとも言えんし
2021/01/03(日) 23:11:12.55ID:arRzErs6
マルチスレッドだとイイって
思い込んでる低脳かな?

Viewを担当する部位に
マルチスレッドいらんだろ。

Asyncで十分

2021/01/03(日) 23:22:43.49ID:wcnZibre
後、ビジネスロジックってビジネス次第だがhttp叩いて表示するくらいならどの言語でも基本はそこまで苦痛にならん

それよりもUI絡みのコードは、例えば独自ビューを作ったりするとそのUIフレームワークについて詳しく知る必要があるから自分では相当苦痛

だから、基本、言語がいくら糞でもUIフレームワークが充実してる方を選ぶかな。ということで、flutterは品質いいから普通に使うけど
783デフォルトの名無しさん
垢版 |
2021/01/03(日) 23:36:27.40ID:AYuH2JJK
RxとかMVVMとかユーザーメリット皆無だからな。
オナニーしてないでとっととプロトタイプ作れよ by 客
2021/01/03(日) 23:45:07.82ID:arRzErs6
いつまでクラサバやってんのか!
って感じのがマジ多い。

ロジックはサービス側で完結してくれ。


>>783
RxはUI側で有効に使えますよ。
785デフォルトの名無しさん
垢版 |
2021/01/03(日) 23:50:16.03ID:AYuH2JJK
>>784
もうそんな時代じゃないと思うんだよね。
表示系はrebuild、入力系はForms。
streamSubscriptionとかはRxを隠蔽して分かりやすく使う。
786デフォルトの名無しさん
垢版 |
2021/01/03(日) 23:57:22.04ID:AYuH2JJK
ビジネスロジックは要件。
UIは偉い人の好みでさらに偉い人の好み←ここが難題w
2021/01/04(月) 00:02:50.73ID:wxHhyhRl
UIは速攻で作って
技術ものとも使い捨てですよ。

使い捨てできなそうな実装は、
コードも読みづらいし、
View側のコードにロジックがてんこ盛り...
2021/01/04(月) 10:04:58.27ID:1mMfUC2y
>>783
確かにMVVMはViewをわざわざXMLとかの別言語で書く意味がわからん。ある意味強制的な分離にはなるんだろうけどアーキ設計者の自己満足としか思えん。
2021/01/04(月) 10:18:46.78ID:+IKV4HED
>>784
web appsも
web api使ったmobile appsも
client-serverだろう
2021/01/04(月) 10:22:38.76ID:+IKV4HED
>>778
ビジネスロジックの意味誤解されてるけど
UIに関連しないコードはビジネスロジックと思っていい。
日本語の「ビジネス」とは関係ない。
要件とも関係がない>>786
2021/01/04(月) 10:33:16.46ID:+IKV4HED
>>780
SwiftとばしてDartにいったのか。
Swift, Kotlin, C#の純正の開発も
Web APIやらDBのも継続的に学習必要だから、
cross-platformだけで何種類も追いかけてられないわ

アプリの種類に応じて使い分けることなく開発できるツールを
なるべく選びたいだろう
学習はするが楽はしたい。つまり効率
792デフォルトの名無しさん
垢版 |
2021/01/09(土) 20:58:24.77ID:pd7SqrDc
Swiftはうんこ💩だよ
793デフォルトの名無しさん
垢版 |
2021/01/09(土) 21:10:39.50ID:hogOqFTZ
>>792
swiftがdartより劣ることはないだろう。
2021/01/10(日) 00:00:05.06ID:FlG1u3dO
dartは何も決めなさすぎでウンコだろ
もうちょっと標準パッケージを充実させろよ
今は非同期のキャンセル処理を自分で適当なクラス作ってやるか..
kotlinなら一番豊富でJobやらDispatcherやらややこしい
C#だと、CancellationTokenがある
Dartも適当なの用意しとけよ
795デフォルトの名無しさん
垢版 |
2021/01/10(日) 01:03:30.16ID:Wfv87mi+
>>794
subscribe.cancel()じゃあかんの?
796デフォルトの名無しさん
垢版 |
2021/01/10(日) 01:04:40.92ID:Wfv87mi+
SwiftはUIKitから逃れられないから、いつか消えて無くなるだろう。。
2021/01/10(日) 01:27:39.96ID:FlG1u3dO
Stream使ってない部分では使えないよね?
2021/01/10(日) 01:31:06.02ID:FlG1u3dO
後はシングルスレッド環境だからって、ロックが必要ないわけじゃなくて、これも標準で用意してくんし
仕方なく
https://pub.dev/packages/mutex
https://pub.dev/packages/synchronized
とかを使ってるし
2021/01/10(日) 03:08:38.99ID:588Mk2oW
>>796
Foundationさえあれば使えるよ
サーバーサイドswiftも一部マニアは使ってるらしい
流行るかは別
800デフォルトの名無しさん
垢版 |
2021/01/11(月) 01:55:24.60ID:SkfT9fKQ
要らないNull安全くるの?
2021/01/11(月) 03:45:35.90ID:mRwGpmyA
要らないNULL安全は来ない
要るNULL安全が来る
2021/01/11(月) 11:37:56.31ID:Lce3SXFZ
2021/01/11(月) 11:54:51.67ID:MB0taG6M
カウンターアプリをstatenotifier+freezed+riverpodで書かれたサンプルを教えてください
804デフォルトの名無しさん
垢版 |
2021/01/11(月) 23:52:15.49ID:SkfT9fKQ
>>803
ググればでできます
provider+changenotifierで十分です
2021/01/12(火) 01:51:38.56ID:SMykDNbX
でてこねえじゃねえかボケ!!
806デフォルトの名無しさん
垢版 |
2021/01/12(火) 22:04:38.23ID:RLIPUQb6
>>804
プラスInheritedModelを使えるようになればステートマシンから部分更新余裕www
807デフォルトの名無しさん
垢版 |
2021/01/14(木) 08:34:37.85ID:Mu4twV5S
もうNull Safety要らないかな・・
2021/01/14(木) 09:40:16.39ID:4/ExPYx8
null safetyはよこい
どうせ、null safetyがくるから今assert(hoge != null)を書いたり書かなかったり適当にがこの1か月で書いたコードに大量に
はやく、全部assert消したい
まぁもう有効化できるんだろうが..
809デフォルトの名無しさん
垢版 |
2021/01/14(木) 23:35:18.58ID:Mu4twV5S
パッケージ対応してなかったら凹むわ〜
2021/01/15(金) 21:58:47.51ID:R5qZkkZa
前から思ったんだけどさ、collections api使ってると、A is not subtype of Bという
例外が出たりするんだけど
例外の意味は分かるんだけど、何でコンパイル通るのかなという
例えば
List<Hoge> hoge;
hoge = あるコレクション.map();
で、コンパイル通るけど、実行時に例外で
hoge = あるコレクション.map().toList();
にすると例外でない

ようはIterable<E>とList<E>の違いなんだけど、なんでコンパイル通って実行時に例外でるの?
2021/01/15(金) 22:12:55.05ID:5phYPvp0
>>810
それはDartがクソだからでしょ
2021/01/15(金) 22:35:16.76ID:R5qZkkZa
DartPadで実行しても例外でるな
void main() {
 List<String> hoge;
 final hage = [1, 2];
 hoge = hage.map((e) => e.toString());
 print('$hoge');
}
hoge = hage.map((e) => e.toString()).toList();
にすると例外消える
2021/01/15(金) 22:38:39.38ID:R5qZkkZa
Dartの型システムってどうなってんだこれ
abastact class List<E>はEfficientLengthIterable<E>をimplementsしてて
EfficientLengthIterable<E>はabstract class Iterable<E>をextends
つまり??
814デフォルトの名無しさん
垢版 |
2021/01/16(土) 00:43:42.76ID:4EkW6U+N
>>810
dynamicだから
2021/01/16(土) 01:11:05.20ID:gYD4+g0g
Android向けにビルドしたらJVMの上で走るの?
2021/01/16(土) 07:35:10.23ID:kTG+GwNO
>>815
いえ。必要最低限の部分を除きDartVMまたはNativeで動作します。ただしブラグインなどJava/Kotlinで書かれたコードはJNI経由でJVM上で実行されます。
2021/01/16(土) 08:06:19.55ID:gYD4+g0g
>>816
へぇ、じゃあちょっと軽くなるんかな?
DartVMってのがどんな動作するか気になる
回答ありがと
2021/01/17(日) 20:34:58.75ID:8Jzc54JA
モバイルアプリ開発は、Flutter一択なのか?-2021版-
https://qiita.com/tetsukick/items/ed9306276942c34b3575
2021/01/17(日) 22:21:32.85ID:vQV+7MU5
なわけない
2021/01/17(日) 22:35:27.28ID:8S4295YL
GPU使う描画のコードって何で書くの?
OpenGLはAppleさんダメだよね、Metalでもないだろうし
勝手に変換してくれるならありがたいけど
2021/01/18(月) 14:04:15.02ID:AsdWc5Bm
知らない間に新刊が去年の12月に出てたんだな
2021/01/19(火) 00:25:38.44ID:hiZmhE+d
日本人じゃない人が紛れ込んでるのかな。
823デフォルトの名無しさん
垢版 |
2021/01/19(火) 00:29:42.45ID:AAGIcVgh
>>817
JITの時な
824デフォルトの名無しさん
垢版 |
2021/01/19(火) 00:52:51.61ID:AAGIcVgh
>>810
MapとMappedListIterableの違い分かる?
高階関数で出しわけな
2021/01/19(火) 01:06:30.17ID:XmE9AHpM
>>821
はじめてのFlutterか
2021/01/20(水) 07:53:17.18ID:lfSkqTNN
Flutterでandroidのサービスって作れる?
教えてエロいひと
2021/01/20(水) 08:40:05.41ID:l4pgKym0
作れませんね
2021/01/20(水) 09:19:54.32ID:Z7dQdHZz
静的型付とsound null safetyでコンパイル時最適化を大幅に改善できたんやね
https://medium.com/dartlang/dart-and-the-performance-benefits-of-sound-types-6ceedd5b6cdc
829デフォルトの名無しさん
垢版 |
2021/01/20(水) 10:29:11.42ID:QTmXRzwB
Sound Null Safetyはいつからstableに反映されるの?
2021/01/21(木) 03:52:57.94ID:K35i6+kh
2021 earlyだな
主要ライブラリの対応状況で調整するだろうけど
2021/01/21(木) 06:06:40.80ID:30E7KjAV
イベントある3月3日でしょ
832デフォルトの名無しさん
垢版 |
2021/01/22(金) 07:32:59.31ID:J5cef2aH
まだプラグインのほとんどがnull安全になっていない気がする。
dartだけ対応してもプラグインが使うpodがnull安全じゃないから無意味みたいな気もする。
2021/01/22(金) 08:00:32.50ID:CJ6oPiLV
後から追加して意味の有るようなもんじゃないような気がするが
言語開発陣営としては最終的に価値ありと判断したんやろな
834デフォルトの名無しさん
垢版 |
2021/01/22(金) 09:15:34.97ID:J5cef2aH
だからSound Null Safetyで文脈読むSoundでアンラップ不要に出来るんだよな。
しかしNull安全よりも、例えばColmunの中にListView入れた時に必須パラメータが必要ですよ、ってWidget間連携して真っ赤な画面出さないで欲しい。
意外とWidget同士の使い方がむずい。
835デフォルトの名無しさん
垢版 |
2021/01/22(金) 13:48:04.71ID:EHLLMdUc
YoutubeでアメリケンがFlutterでぱっぱか良いUIを作ってるけど・・・・全然真似できないぜ、俺も練習しなきゃ
それにしても、日本のプログラミング系Yotuberは、悪徳教材やら悪徳商法っぽいのだらけになったな
2021/01/22(金) 14:13:35.61ID:aLDuncuZ
>>835
>YoutubeでアメリケンがFlutterでぱっぱか良いUIを作ってるけど

詳しく
2021/01/22(金) 19:38:19.18ID:blC81p0i
>>835
西野みたいなタイプばっかで嫌になる
本物がいない
podcastに逃げないでyoutubeでやって欲しい
2021/01/22(金) 20:54:00.17ID:WEFPjbDV
>>818
このパフォーマンスベンチはアニメばっかだからオーバヘッド少なさそうなandroid/kotlinの方がはやそうだけど、
普通に作るとflutterのほうがキビキビしてるような
AOTコンパイルのおかげか?
2021/01/23(土) 10:27:21.08ID:4LHLDU19
Flutterで作ってしまったらコード使い捨てでしょ
Dartが問題で絶対にオワコンになるしな

Kotlin multiplatformのがいいだろう
2021/01/23(土) 10:32:51.43ID:ay3l18/e
アンチうぜえな帰れ
2021/01/23(土) 12:33:26.51ID:lGvvPkHa
いつの間にかデバッグでChromeが起動しなくなっとるわ
2021/01/23(土) 13:48:08.68ID:A5DB0QkA
Dartそんなに悪いか?
全然良い言語だと思うけど。
もう少しデスクトップアプリ、少なくともcliアプリが作りやすかったら流行らん事も無いと思うんだけどな。
2021/01/23(土) 18:56:01.20ID:HovMcdnd
Dartってダート派とダーツ派どっちが多いの
2021/01/23(土) 19:08:33.06ID:mCwFb2m7
FlutterはUIコンポ充実してていいと思ってたがいざ本番アプリ作ってみると制約ありまくり
2021/01/23(土) 19:13:20.28ID:mCwFb2m7
Pull to refreshやるRefreshIndicatorとSliverListやら組み合わせられないとか、
昨日はCollapsingToolbarやろうとしたら
子の中身に合わせて高さ変えられない?とか
https://github.com/flutter/flutter/issues/18345
2021/01/23(土) 19:19:08.05ID:mCwFb2m7
他にもListViewやSliverListで特定位置にスクロールすると、要素が大量にあるとスクロールが糞重いし...
で、それようのサードパーティーのScrollablePositionedList使うと、今度はこれがSliverじゃないのが...
2021/01/23(土) 19:22:43.88ID:jM+RJeH5
Widgetの相性というか親子関係による相互干渉で試行錯誤しなくちゃいけないよね。
試行錯誤で結果的にうまくデザインできても後で見たら無駄なネストが多かったり。
昨日も無意味にCenterが複数ネストしたの見つけて凹んだわ。
2021/01/23(土) 19:23:46.90ID:mCwFb2m7
別にそこまで凝ったUIを作ろうとはしてないんだが、Androidで今までの
ViewベースのCoordinatorLayoutとかjetpackで用意されてるぐらいのことは簡単にできると思ってたが...

だが、いざ、使ってみるとマテリアルWidget制限多すぎ...
2021/01/24(日) 08:50:38.60ID:EWYzDEUF
>>842
DartがFlutter用言語になってるならクソ言語ってことだろう
ほぼRails用になってるRubyと同じで衰退の道しかない
もともとTSに負けた言語だし
2021/01/24(日) 09:24:28.36ID:EJajcfhw
>>849
Rails記述言語になったRubyはよく伝わったわ。そのとおりだな。
悪い言語じゃないんだけど、もう少しcliでも活用してるぜみたいな話が無いとほんとに流行んないよな。
その点denoはあいつは新しい。
2021/01/24(日) 11:32:40.21ID:2RPwpLAL
>>843
ワイはダート派
2021/01/24(日) 12:00:23.71ID:AsuUOVPY
>>843
普通にダートって読んでるけど
ダーツは矢を投げて的に当てるゲームと同じdartsって綴りになるかと
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。