Flutterやろうよ!!! 3

■ このスレッドは過去ログ倉庫に格納されています
2021/08/08(日) 20:18:12.79ID:e9M5NaPRa
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

ようこそFlutter野郎どもよ!!!
軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか
AndroidもiOSも両方行ける、まさに漢のためのツールだな

https://flutter.dev/

前スレ
Flutterやろうよ!!! 2
https://mevius.5ch.net/test/read.cgi/tech/1611976959/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/02/06(日) 19:39:29.54ID:5NWjADTpM
IntelliJ IDEA、悔しいけどよくできてる。OSS頑張ってほしいからVSCodeに頑張ってもらいたいけど元がIDEとエディタの違いが大きい気がする。
Eclipseも頑張ってたけどメモリ食うし遅いし不安定だしどうしようもなかった
2022/02/06(日) 20:54:45.53ID:d608HdvN0
元がも何もIDEとエディタで全然役目違うじゃんか
2022/02/06(日) 21:06:18.97ID:GJWv/jRB0
receive_sharing_intent で、urlの文字列を取り込みたいんだけど、専用urlでアプリ起動はするけど取り込みができない。
ライブラリーの不具合なのかなぁ?
2022/02/12(土) 09:10:02.98ID:EKAEeGp20
WindowsアプリをFlutterで書こうという人って居るのかな
2022/02/12(土) 09:36:00.94ID:iAh2bfzY0
いるさ、ここにひとりな!
2022/02/12(土) 09:38:48.19ID:EKAEeGp20
>>763
お?試してみた??
2022/02/12(土) 09:42:16.28ID:0m7HOcdb0
俺もやってるぞ。
Android用のFlutterアプリも作ってたんだが、プラットフォーム追加するだけだと動かなくてシュンとしてた。
パッケージが充実したらかわるかもしれんけど、作り直すか悩んでる、
2022/02/12(土) 09:56:38.70ID:K8xe2eiJ0
>>765
ひと手間いる感じかな?まぁ試してみよう…
2022/02/12(土) 10:27:02.27ID:BoyHq9Dbd
>>766
まだ対応してないパッケージが多い感じ。
もう少しこなれればなぁって思ってる。
2022/02/12(土) 17:31:21.93ID:956vyaye0
2022/02/12(土) 23:01:15.83ID:AXN4bnnm0
Qtもライセンス的に使いにくくなったしflutter desktopに期待していい?
2022/02/12(土) 23:10:03.97ID:rYCdZjR00
ハイパフォーマンス求めない普通のアプリならflutterで十分じゃね

ただ、material designはデスクトップで動かすのダサい
2022/02/13(日) 09:50:06.46ID:NAGvuVTo0
アプリの見た目を調整するのがすごくめんどい
UI設計をコードでやらなきゃならないのってどうなん
2022/02/13(日) 10:11:27.78ID:5CpxGssA0
>>771
XAMLとかも結局同じことでしょ。
2022/02/13(日) 11:23:12.09ID:zc2tPTsHd
>>771
GUIで調整するのめんどいからコードでやらせろって声に応えた結果こうなってる
2022/02/13(日) 12:35:59.24ID:x1RE3hmG0
多分ねーー
めちゃくちゃレベル低い考えで言ってるとおもうよ
2022/02/13(日) 13:19:42.43ID:NAGvuVTo0
UIエディタで作成した画面をdartにしてくれるアプリって無いのかな
2022/02/13(日) 13:31:06.43ID:TvOGITuN0
>>775
キボンヌ
2022/02/13(日) 14:11:30.91ID:ifSJDHUhM
>>775,776
https://flutterstudio.app/

さわりは
https://qiita.com/hiraski/items/2292150722b17ef4fe21
2022/02/13(日) 14:16:14.47ID:NAGvuVTo0
>>777
素晴らしいじゃん!
さっそく練習すうわ
2022/02/13(日) 18:03:47.86ID:5CpxGssA0
>>778
これ昔使ったことあるけど微妙やで。
一番最初はいいんだけどコード生成後のカスタマイズは結局自分で直さないといけないのでちゃんとWidgetを理解しないと触れない。
どうせ理解が必要なら最初からコードで書いたほうが早かったりする。
2022/02/13(日) 19:33:21.33ID:PyrhVZAe0
>>770
わかる。Fluentにしたくなってしまう
2022/02/13(日) 20:08:49.64ID:iKfMfRfR0
fluentにすりゃいいじゃん
FlutterはMaterial専用じゃないでしょ
2022/02/13(日) 20:20:52.89ID:qsczYlXa0
UIでやらせろ(笑)
2022/02/13(日) 20:27:00.95ID:NjMTjROp0
うい
2022/02/13(日) 20:28:50.46ID:7xle+Zzu0
fluent_uiでちょっと本格的なアプリ作ってみようとしたけど
速攻で正しく表示されてねぇー??とか?にぶつかって止めた

こなれてなさすぎて
もっと使ってる人増えてバグ出し進まないとダルそう
2022/02/13(日) 21:21:14.31ID:QTBRPMRP0
これで専ブラを作っていきたいのぉ
2022/02/15(火) 20:17:19.53ID:5TW7tbyH0
Flutterのfluent_uiの解説サイトでも探すか
2022/02/16(水) 10:37:04.05ID:1q+YQLI90
fluent_uiのページに丁寧に書かれてるじゃん?
2022/02/16(水) 23:08:00.07ID:nMlaM2Pf0
よく読むと公式が詳しかった
2022/02/17(木) 10:33:13.78ID:fzkwCgmYM
公式サイトは構成がよくなさすぎ
2022/02/17(木) 14:10:47.96ID:fGiUOlwv0
日本語サイトがほしいな
どうしても英語だと読むのに時間が倍かかる
2022/02/17(木) 15:41:22.97ID:WIbxS15G0
翻訳なんて無理ですよ
頻繁にドキュメント更新されてますから
2022/02/19(土) 02:10:38.07ID:9cx4u8XC0
英語いるなぁ…
793デフォルトの名無しさん (ワッチョイ cfbb-iDSx)
垢版 |
2022/02/20(日) 00:18:54.23ID:7sgHl1NJ0
local_auth、Android タブレットだと
指紋認証で落ちるんだけど、なんこれ。
2022/02/20(日) 12:21:44.36ID:NGrCrzU40
しらんけどIssue探せ
なければ報告しとけ
2022/02/21(月) 22:03:07.47ID:Vk6i+0P/0
Flutter初心者(というかアプリ開発初心者)でお聞きしたいのですが、
デバイス上に結構な枚数の画像を格納しておいて、一覧表示とかしたいのですが、
ファイルの格納方式をどうしようか考えてます。
普通にローカルに画像ファイルとして保存するか、ローカルDB(Isar)にUint8List に変換したものを格納するかなのですが、
どっちのが画像読み出して表示するときのパフォーマンスいいとかありますかね?

ざっくりした質問ですみません
そんなもん場合によるよ!ってならそれでいいんですが、
そんなの決まってるじゃんとかだった教えてもらいたく、、
全然開発とか初心者でよくわからないので。。。
2022/02/21(月) 22:17:36.15ID:PguJ60WA0
迷ってるってことはIsarの機能は必要ないってことでしょ?
実績が乏しいDBMSなんか避けた方がよくない?
2022/02/21(月) 22:22:47.93ID:Vk6i+0P/0
あ、Isarはどっちにしても使ってるんです
2022/02/21(月) 22:24:36.13ID:Vk6i+0P/0
というかこれが実績少ないとかよく知らずに使っていて、、、
本当はHiveがメジャーっぽいので使ってたのですが、クエリが使えなかったので
仕方なく後継っぽいIsarに乗り換えてました

迷ってるのは、ファイル操作的にはIsarに突っ込んじゃったほうがデータ操作とか楽そうだなと思いつつ
なんかUint8ListからImageに変換するのっておそそうだなとか思いつつと言う感じで、、
2022/02/21(月) 22:38:40.14ID:zCFtBfuW0
サムネイルみたいな小さな画像ならDBに突っ込んじゃうけど
大きな画像なら後は書き込みの頻度はどうなってるか
800デフォルトの名無しさん (ワッチョイ 2390-ivUK)
垢版 |
2022/02/21(月) 22:40:53.56ID:zCFtBfuW0
つか、ファイルに保存しようがUint8ListからImageに変換してるからそこの部分は同じだと思う
2022/02/21(月) 23:10:41.07ID:Vk6i+0P/0
回答ありがとうございます
2022/02/21(月) 23:12:49.33ID:Vk6i+0P/0
ファイルに保存してもUint8Listにしてるんですね
恥ずかしながら知りませんでした。。。
ファイルサイズ的にはスマホで一覧表示するのでサムネイルサイズにすると思ってて、
圧縮もするので(どこまで圧縮するのか悩みものですが。。)DBに突っ込んじゃおうかなと思ってます
助かりました
ありがとうございました
2022/02/21(月) 23:30:52.07ID:zCFtBfuW0
脱線するが、圧縮するときな
https://api.flutter.dev/flutter/dart-ui/ImageByteFormat.html
jpegとか対応してないんだよな...
で、
https://pub.dev/packages/image
とかはdartで実装されてるから速度遅いし...
804デフォルトの名無しさん (ワッチョイ 2390-ivUK)
垢版 |
2022/02/21(月) 23:36:52.52ID:zCFtBfuW0
https://api.flutter.dev/flutter/dart-ui/ImageDescriptor-class.html
これが画像なまわりのコアの部分
で、入力としてImmutableBufferを与えないといけない
で、ImmutableBufferを作るにはUint8Listが必要

つまり、ファイルから読む場合でもいったん全部メモリに読み込んでUint8Listにしなきゃいけない
2022/02/22(火) 00:12:45.52ID:dl3R26vi0
ありがとうございます!
Dartで実装されていると遅いんですかね?知りませんでした

ImageDescriptorだといろいろ画像操作ができるんですかね?
今画像はFilepickerから取得してて、そのときに適当にピクセル数とimageQuality?調節してサイズを絞ってました
けど、これだと元ファイルのサイズによって動的に圧縮率とか変えられないので、
これだと元ファイルがかなり大きかったりすると十分に圧縮できなくてイマイチだなあと思ってるんですよね

ファイルアップロードはそんなに多くないのと、基本はローカルからFirebaseに上げるので、
ネットワークの速度のほうがネックなので、速度的にはあんまり気にしてないんですけどね
2022/02/22(火) 03:17:19.43ID:LWa6d2vN0
上から目線を隠しきれてない中途半端な丁寧語だなあ
2022/02/22(火) 09:25:59.07ID:S6CMrLfa0
テストを書く場合ってなんのパッケージを使うのが定番ですか?
2022/02/22(火) 12:40:36.56ID:ysWljmej0
Ruby on Rails の画像変換は、ImageMagick か、軽量のlibvips を使う
2022/02/22(火) 12:43:19.83ID:ysWljmej0
日本語サイトが欲しいって、

Chrome の翻訳ボタンを押せば、ページを丸ごと翻訳できるけど
2022/02/22(火) 13:40:16.32ID:HJRcJ9EY0
>これだと元ファイルのサイズによって動的に圧縮率とか変えられないので、

サイズを取得して確認して決めれば?
2022/02/22(火) 18:33:27.42ID:dl3R26vi0
>810
サイズに応じて変えるのだったら、たしかにある程度は調整できそうですね
ちょっとやってみます
ありがとうございます
2022/02/22(火) 22:31:50.17ID:QGpL9cIn0
storyboardとかいうこの世の地獄を煮詰めてひり出したウンコオブザウンコのワームホールに飲まれて死んだ者なのですが
Flutterすれば救済されますか?
2022/02/22(火) 22:32:24.64ID:QGpL9cIn0
storyboardとかいうこの世全ての悪を煮詰めてひり出したウンコオブザ雲粉のワームホールに飲まれて死んだ者なのですが
Flutterすれば救済されますか?
2022/02/23(水) 00:03:38.97ID:eLYKTtgv0
何言ってるのかわからない
2022/02/23(水) 00:29:12.66ID:gqN7AxCy0
dartで書かれてるから遅いというのは嘘で、結構早いよ
Cに比べると遅くなる可能性があるけどね
2022/02/23(水) 06:29:28.51ID:9LI1qdtQ0
いつgcしてんだ?ってぐらいに速い。体感ではAndroidのJavaより速い。さすがにNativeなSwiftよりは遅いかもしれないがそれでも十分に速い。
2022/02/23(水) 13:17:20.25ID:aUmyOIMG0
>>814
storyboard控えめに言って基地害すぎませんか?
激重xcodeのGUIでチマチマチマチマチマチマチマチマチマチマ弄った挙げ句クラッシュ
吐き出されるコードはもはやバイナリでdiff管理する意味も無い
危うくjobsを地獄にまで追いかけにいくところでしたよ
2022/02/23(水) 13:37:13.62ID:jrR/d40v0
CPU intensiveな画像のエンコードは通常C+asm,simdで最適化かけるし
数倍は速度違う
適当な事言うやつ多すぎ
2022/02/23(水) 13:50:19.91ID:K5zRAlvo0
>>809
まだおかしなところが多いので、原文のまま読んだ方が安全だわ
2022/02/23(水) 14:06:22.63ID:Py99G/WJF
機械翻訳して要旨を掴んで気になるところは原文読むかなあ
2022/02/23(水) 14:45:35.47ID:/XYQspsG0
>>817
その上さらにviewWillXXXXとViewDidXXXXで面倒見てやらないといけないのでほんまクソ
2022/02/23(水) 19:51:26.03ID:n2s77dK+M
web版はゴミのような遅さだな
いやゴミだ
2022/02/23(水) 19:52:09.63ID:RSUFG8Eu0
>>821
ここのデザインはstoryboardで変えられませ〜〜〜んw
swiftコピペ10行くらい書いてくださ〜〜いwとかな
ほんと何度殺してやろうと思ったかわからん
わかってくれて嬉しいで

FlutterはそういうのがないGoogle神が作りたもうた天国なんですよね?
2022/02/23(水) 21:58:25.99ID:RwM0ghnk0
>>817
そもそもxibがクソ過ぎるしな
SwiftUIも対応状況微妙だし
2022/02/23(水) 22:23:16.33ID:/XYQspsG0
>>823
個人差あるだろうけどUIはかなり気に入ってるな、RowとかColumnにWidget並べる時のサイズ周りのConstraintsがめんどくさいけどそれでもstoryboardでScrollViewの制約ポチポチするよりマシに感じる

DartはSwiftと比べるとenum(extensionでカバー可?)、unwrapがこなれない感じはあるがそんくらいかな、Swift使いこなせてるともっと粗が目立つかも
2022/02/24(木) 07:27:32.71ID:WPtVerlza
storyboardが使いにくいのは否定しないけどここはFlutterスレ
2022/02/24(木) 12:25:00.05ID:N8pQJrdo0
制約を作り直す作業。
2022/02/25(金) 07:41:18.52ID:ECOkID780
昨日、コード書いてる最中にいきなりデバッグすら起動しなくなって
VisualStudio2022をアンインストールとかしてたんだけど、
flutterのissueにあったapp.soコピペでなんとか治った

AOTなんたらエラーが出てくる前に、CMakeFileの方のエラーで止まってたんだけど
いろいろ触って原因わからんままです
アプデしたわけでもないのに本当にいきなり突然だったからビビったわ

他の人もなってたりします?
2022/02/25(金) 11:22:30.85ID:Wtyk8EOHp
go_routerがflutterパッケージになったのか
俺はauto_routeの方が好きなんだけどなー
2022/02/25(金) 19:11:01.44ID:ECOkID780
治ったと思ったけど治ってなかったわ
ホットリロードもリフレッシュも効かない

結局VisualStudio2022アンインストール VSCodeのCMake拡張機能の設定
Outputをちゃんと見ること
などでいけました

半日以上くらい時間無駄にした
2022/02/25(金) 20:18:08.85ID:vAIzFgIj0
webの読み込みが重いらしいが、ホントならちとキツいかな…
2022/02/25(金) 20:58:56.67ID:ECOkID780
flutterでのwebってどのくらいやる気あるんだろうか?
よほど特化したメリットない限り、がっつりと切り替えていくことは無さそうな気がしてる。
2022/02/25(金) 21:03:04.40ID:pxO9isLG0
初期ロードが遅いけどページの切り替わりは速い
あとjsが最適化されて出力されるのでその演算も速い

でも元々そんなに時間かかるようなものが多くないからメリットはほぼない
ウェブだけに作るより、他の環境向けに作っててウェブへの対応が楽ってくらいじゃないか?
2022/02/26(土) 04:45:05.11ID:5dT3j7pp0
WindowsのMACアドレス取得したくて、ぐぐってみたけど、
flutter_window.cppにMethodChannelを追加してなんたらみたいなのしか出てこない。
cpp分からないからProcess.runでipcofig打つbatを起動して取得するようにした。

どうもやり方が間違ってる気がしてならない。
まずいですか?
2022/02/26(土) 05:04:17.75ID:5dT3j7pp0
デバッグだといけたけどビルドするといけませんでした
... complete startup script
で止まってる。
2022/02/26(土) 05:15:29.01ID:5dT3j7pp0
batじゃなくて単純にcmdをProcess.runで動かしたらビルドした状態でも動作しました。
ちょっとデバッグと挙動違う気がしますが。

flutterじゃない部分も勉強しないとな。

こういうのは他人が作ってるライブラリとかをひたすら読んでみるのが勉強になるんですかね。
2022/02/26(土) 09:39:01.21ID:2FtVvne10
>>836
Win限定で良いならcmd使うのも全然間違いじゃない。
マルチプラットフォームにするならMethodChannel使うべきだけど。
何でも良いので1つ軽いブラグインのMethodChannelの使い方を読んだら理解できると思う。面倒くさいけどそう難しくはない。
2022/02/26(土) 13:59:34.20ID:5dT3j7pp0
>>837
なるほどありがとう

なんとかプラットフォーム個別の機能も使えるように精進します。
2022/02/27(日) 22:35:29.46ID:k18iMrEb0
FutureProviderで取得した値を使って、別の非同期処理を呼び出すFutureProviderを作りたいのですが、参考になるサイトやコードなどあったら教えていただけないでしょうか。
2022/02/28(月) 00:05:21.22ID:raYF/Sji0
そのやり方は汚いね
別に止めないけど
2022/02/28(月) 08:07:03.71ID:X5fvN/X80
>>840
より良いやり方や考え方などあれば教えていただけないでしょうか
2022/02/28(月) 16:31:58.35ID:aSAU0nri0
やり方聞かないと出来ないもんを使うな
843デフォルトの名無しさん (スププ Sdea-B4hD)
垢版 |
2022/02/28(月) 16:47:48.66ID:PgTmMGsWd
>>842
いや、あなたがより良い/汚くないと考えている方法を聞いてるんでしょ。
それはあなたに聞かないとわかるわけないじゃん笑
2022/02/28(月) 18:33:53.21ID:aSAU0nri0
840じゃないから知らん
2022/02/28(月) 19:59:49.84ID:X5fvN/X80
かなり冗長な部分が出てしまいますが、一つのメソッド内で非同期通信2回やるようにします。両方終わってから処理すれば一応動きそうなので。
2022/02/28(月) 21:47:38.62ID:phH36JUk0
>>845
一方が他方に依存するように書いておけば勝手に更新してくれる
ProviderなのかRiverpodなのかで話が変わるけど
2022/02/28(月) 23:03:06.60ID:X5fvN/X80
>>846
riverpod使っています。
先に実行されるメソッドの返り値がfutureオブジェクトでも後続処理は先行処理の終了を待ってから自動実行してくれるのでしょうか。
2022/02/28(月) 23:58:58.70ID:aSAU0nri0
やり方聞かないと出来ないもんを使うな
2022/03/01(火) 00:03:04.03ID:ihRVn7e/0
変な人がわいたなw
850デフォルトの名無しさん (ワッチョイ ee7d-VL76)
垢版 |
2022/03/02(水) 02:39:41.84ID:jJQkGa9v0
>>847
情報が少なすぎてなんと回答すれば良いか分からない
よくわからないが、1つ目のメソッドの実行をawaitで待ってから、もう一つのメソッドを実行すればいいんじゃないの?
ただ、独立した関数ぐらいの感覚でProviderを増やすのは、上の人の指摘通り汚いやり方だと思う、、、とだけ忠告しておく

FutureProviderは、riverpodのProviderの中で一番上級者向けの、使いこなすのが難しいクラス
FutureProviderの使用を縛っている職場もあるらしい。自分もめったに使わん
2022/03/02(水) 02:47:35.26ID:jJQkGa9v0
awaitで対応できないなら、
『非同期処理』と『チェーン』でググればいいと思う
Future.then()でも対応できないなら、Future.wait()で対応すればいい
852デフォルトの名無しさん (ワッチョイ ca7c-raZj)
垢版 |
2022/03/02(水) 23:34:31.12ID:tVatGucb0
>>851
ありがとうございます。futureの使い方もう一度勉強しなおしてみます。

情報が少なく申し訳ありません。実際にやりたいことは
親widgetがapiで取得した値を2つの子widgetに引き継ぎ、子widgetがそれぞれ引き継いだ値を引数にapiを呼び出して取得した値を表示する。
といったことをやりたいと考えています。
2022/03/03(木) 02:05:08.47ID:le9JJBGc0
もし誰かわかったら教えてほしいのですが
showModalBottomSheet で表示させたモーダル上のテキストの内容を更新して、
再描写したいのですが、
Riverpodを使っているため、
ベースとなっている画面がStatefulWidgetじゃなくてConsumerWidgetになっていて、setStateが使えません
こういうときってどうすればいいですかね

やりたいことはGoogleカレンダみたいな画面をつくることで、
メインの画面でカレンダを表示させて、
カレンダのどこかをタップしたら、下からモーダルが出てきて、
そこで日付とかイベントのタイトルを編集し、
確定することでDBに書き込みにいくみたいなことをしたいです
2022/03/03(木) 08:52:54.97ID:0EeJ5gkZ0
>>853
そこで困るならRiverpodを使わずにStatefullWidgetにすりゃいいと思うが
モーダル上のテキストをProvider(多分StateProviderかStateNotifierProvider)をwatchして取得すれば、そのproviderのstateが変わったタイミングでモーダルも更新される
2022/03/03(木) 10:36:19.25ID:rznO1b1x0
目的がスキル向上ならばriverpodを使い続けてもいいけど、
そうでないなら使用をやめた方がいい
2022/03/03(木) 12:08:58.88ID:yVL2Pcoop
ConsumerStatefulWidget使えばいいよ
2022/03/03(木) 12:29:29.10ID:rznO1b1x0
ConsumerStatefulWidgetは使いどころがあんまりない印象
前に設計段階で、カスタムWidgetのようなUI寄りの状態管理をsetStateにまかせて、その他の状態管理をProviderで行う
みたいな使い分けをしようと考えたことがあるけど
実装をはじめてみると、UI寄りの状態管理もProviderでないとうまく書けないところが出てきて、
最初に決めたルールがぼやけてしまった
858デフォルトの名無しさん (スププ Sdea-B4hD)
垢版 |
2022/03/03(木) 15:13:19.74ID:91NsRh7Pd
>>842
いや、あなたがより良い/汚くないと考えている方法を聞いてるんでしょ。
それはあなたに聞かないとわかるわけないじゃん笑
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。