Flutterやろうよ!!! 4
■ このスレッドは過去ログ倉庫に格納されています
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
ようこそFlutter野郎どもよ!!!
軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか
AndroidもiOSも両方行ける、まさに漢のためのツールだな
https://flutter.dev/
前スレ
Flutterやろうよ!!! 3
https://mevius.5ch.net/test/read.cgi/tech/1628421492/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured > AndroidもiOSも両方行ける、まさに漢のためのツールだな
WebもWindowsもLinuxもMacもトヨタのアリーンも行ける > AndroidもiOSも両方行ける
どっちもいけず中途半端が現実でしょうに flutterは割り切ってActivityやViewControllerを実質1枚しか使わずskiaでウィジットを自前描画したのが正解だったね。各OSの互換性で一番問題になる画面のライフサイクルをあまり気にしなくて良くなった。 onCreateとかonPauseとか意識しなくなったのは事実か
すまん これから始めようと思ってるんだがsetStateとかBLoCとかスルーしてProviderから始めてええの? >>12
良くない。
SDKがStatefulベースなのでそれをよく理解した上で別のパターンを使わないと早晩詰む。 >>14
StatelessWidget・StatefulWidgetの
違いを理解したら、riverpod、getxを調べるといい Providerなら間違いない
GetXは論外
RiverpodはViewModelいらないとか言ってる無知蒙昧な人らが使っててお察し RiverpodのFutureProvider 覚えたら
notifyListenersなんか使いたくない FutureProviderを使うとネストが深くなるのがムズムズする FutureProviderというものは何がいいの?
言葉じゃわかりにくそうだからミニマルなコードで教えてちょ >>18
listview使うとネスト深くなりがち
気になるやつは、ValueChangedを調べるといい
>>19
riverpodのヘルプ日本語だろ https://riverpod.dev/docs/providers/future_provider/
ここでしょ?
超基本の使い方はそこ見たらわかるけど
アプリでどうやって活用するのか知りたいの
notifyListenersを使いたくなくなった理由も教えて >>16
ビューモデル要らない派はどちらかと言うとRiverpod使わないけどな。
どれでも良いわ。 それでFutureProviderの活用例とnotifyListeners使いたくない理由は? riverpod+firebaseでありふれたアプリ作れるようになっただけで
一丁前のエンジニア気取ってるやついるよねえ スタートアップ企業用に書き散らして後はどうなるかは
知らんといったところで採用されてる感は否めないなぁ。 流行とか体裁で技術を選びがちだよな
スタートアップはそういう人種が多いから
で、それ使っていい感じに作れたぜと満足(自己満)するけど
人がかわって何だこれってなるやつね
寄せ集めたメンバーでやってるスタートアップほど
定番のパターンを使った属人化しない設計がいい Flutter for webに力を入れるより、
AngulartDartを積極サポートして実用的にしてくれた方が
Flutter本体のファンも増えると思うんですよ AngularDartは早すぎただけなんだ。今なら流行ると思う driftのサンプルがproviperからriverpodに変更された。
めっちゃ便利になってるぞ ストレージまわりはモデル層より先に閉じ込めてるからな
riverpodとかから直接触らないかもな >>35
driftってどんな感じなの?
isarもあるし
俺は使い慣れたhiveをまだ使っている Google謹製フレームワークっていつもグダグダになって消滅するのなんで? >>38
現実の需要より自分達の夢を追い求めてしまうから かまってちゃんだろ。
たぶん会社の人間関係がうまく行ってないんだ。優しくしてあげろ vscodeとandroid studioどっち派? きっとandroid studioのほうが高機能なんだろうけどそれぞれ環境整えるのめんどくさくてvscode使ってるわ。flutterプラグインが重いのが難点
実際機能的な違いってどんな感じなの?リファクタリング機能とか充実してそうで気になる VSCodeのほうが自分で設定しないとまともに使えなくて辛いじゃん
ASは素でも充分に万能
わざわざ劣ったエディターを選ぶのは何の意味がある?
重いのはVSCodeのほうじゃないか
起動は早いけど検索するときにインデックスしはじめて待たされるぞ
ASは起動時に5秒ぐらい待つだけだしな >それぞれ環境整えるのめんどくさくて
PCごとに設定することか?
エクスポートしてインポートするだけだが
同期するプラグインもあったと思う 万能といえばIntelliJ Ultimate
アカウントで設定の同期もできるらしい Android Studioででっかいプロジェクト最初に開くとしばらく重いんだよね
しかしそれも IntelliJ Ultimate なら共有インデックスを使うことで解決
https://pleiades.io/help/idea/shared-indexes.html
この機能flutterでも意味あるんかな? プログラミングが何か分かってる程度の工学出なんだがpwa作りたくて勉強始めたわ
webはやっぱり気をつけないと重くなる? ネイティブ環境がいいからASだなーと言いつつ
PythonはVSCode使ってる ツール系アプリ作る時はflutterよく使ってるけど、jsonの取り扱いやorm周りもっと簡単にやれないかなあ
build_runnerでコード生成するのなんか嫌でのう ちょっと触っただけだがReact Nativeとほぼ同じで結構いいな
Typescriptの型推論並みに賢いといいんだがなー >>53
自分もbuild_runner好きじゃないな >>57
そうか?
Typescriptだとオブジェクトの配列を正しく推論してくれるけど、DartだとList<Object>になるんだが 間違えた
List<Map<Object>>
こうなってしまう 全体を書いてくれよ
どんな値で初期化しようとしてるか見ないとわかるわけない 言語仕様の型推論とエディタのコード補完をごっちゃにしてないかい? エディタの入力段階で型推論出来なきゃ劣った開発感になるのでは。 例えばこういうデータ構造があったら
final hoge = [
{"name": "hoge", "age": 20},
{"name": "fuga", "age": 30},
];
Dartだとこうなるけど
List<Map<String, Object>> hoge
Typescriptだとフィールドまで認識して型推論される
{
name: string;
age: number;
}[]
goよく触ってるからたかがデータ構造表現するときにいちいちクラス作るの冗長に感じるんだよね
typescriptだとクラスじゃなくても任意のオブジェクトに型表現できる & 型推論されるのがいいと感じる 言わんとすることは理解できたけど
個人的には、構想体をクラスで表現するのはそんなに冗長ではないと思う C#なんかでもlist<クラス> hogeだし
クラスでやってもらったほうが分かりやすいな Mapのkeyが"name"と"age"だからString
valueが"hoge",20,"fuga",30だからObject
ちゃんと型推論でList<Map<String, Object>>になってるじゃん?
valueを全部intにしたらList<Map<String, Object>>になる
JS,TSでObjectとMapの区別もできてない人にみえる >>64 訂正
valueを全部intにしたらList<Map<String, int>>になる keyごとにstringとintの型チェックしたいという意味だと思うぞ
dartで近い機能はクラスのフィールドに型を割り当てること だな
Mapを使って型推論が賢くないとか文句言うのはおかしい
JSのObjectみたいのがほしいって意味だとしても
言語を比較してあれが足りないだのこれが不満だのと言う奴は何やっても文句言う dynamicでええやん
不安なら値の処理する時点で明示的キャストする flutterでdynamicを扱う際
関数の引数に別の型のdynamicの値を直接渡して
暗黙的キャストに失敗しちゃった時、
エラーにもならず関数自体も呼び出されないのって仕様なの?
たとえばhoge(Map<String,dynamic>) の関数に実際の型が
Map<dynamic,dynamic> であるdynamicの値を入れた場合
エラーも何も起きず呼び出されもしないんだが
ネイティブ連携を実装する際ハマることがあって地味にめんどくさい。
関数を呼び出す前に型をちゃんと調べればいいだけだけどさ >>72
The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'Map<String, Object>'. 型が違うからアサインできないのは当然そうだよなとわかるんだけど、エラーにすらならない(そもそも呼び出されない)のがよくわからんのよね
エラーになってくれたらすぐ気づけるのに そういうハマり方が頻発するということは、さては普段から動的型付けを多用しておるな 主にネイティブ連携でdynamic先輩登場するんよね
そもそも返却値がdynamicだから使わざるを得ないんよ… flutter公式のlintに合わせたほうが良いと思うのでそれに合わせてるけど
他に開発に便利なパッケージありませんか? 公式ドキュメントのこれやってみたんだけど、ios実機で動かした時に画面遷移してから戻る時にスワイプするんだけど
なんか反応が悪いのと若干かくついて遷移するのが気になったんだけどこれはもう仕方ないのかな?
https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2
他のネイティブでできてるアプリだと反応がいいしスムーズに左右に画面遷移するんだけど、独自レンダリングだから仕方ないのかな
WEBアプリなら気にならんけどネイティブだとこの辺の細かい部分がかなり影響してくるのがよくわかるわ >>79
私の認識だとアプリ起動した直後のアニメーション(ページ遷移も含めて)はそういう感じだと思います。
もしかしたら改善方法あるかもしれません。
ただ起動直後のみなら、まあいいか、と思ってしまいます。
起動直後のみじゃないですか? >>80
うーん起動直後とかは関係ないですね
特に戻る時の右スワイプをゆっくりやるとガクガクします
左上の戻るボタンだとスムーズだけど、スワイプだとカクツク感じですね
その辺の他のアプリだとスムーズなんですが
この辺はアプデで改善してくれることを期待するしかなさそうですね >>81
それは気づきませんでした。
まあいいや、とはやらないですね、毎回だと。 Windowsも、Macも、Linuxも、iosも、Androidも全部いけるQtを使うべきやろ そうだね、じゃあさよなら
どんだけかまってちゃんなの >>83
そうですね。Qtを使ったほうがいいですよ これからはwindowsネイティブもflutterだ!って言う人が一人居たけど
元がスマホアプリ・web用だからマルチウィンドウのサポートがwin32api直叩きするしかないのが。
PCアプリとスマホアプリを同じフレームワークで作るのは無理があるのではないか でもQtってライセンスめんどくさいし
一部のコード(チャート)とかは有料版しか公開してないし
自力でビルドしないといけなくなったりと
ゴミ化がすごいんだろ モバイル開発はkotlinでandroid開発してきたけど、もうflutterの方が、コストもスピードも有利でしかねーわ androidとiosアプリはflutterで作ってるけど
web版だけは別の方法で作ってる
ただ、制作に2年かかる見込みなんだけど、
完成する頃にはweb版のflutterの速度が向上している可能性があって辛い まあその時がきたらflutterベースに書き換えればいいかな
数ヶ月で済むだろう(棒) >>92
それcordovaでよくね?
いやまじで >>94
それはcordovaできることが前提ですよね? Web版Flutterがまともに使えるようになるなんてことあるのかな
全然進歩してるように見えん googleの野望は、最終的にdartエンジンを普及させたいんじゃないかな >>94
興味は惹かれるけどマイナー技術すぎて触るの怖い
問題にブチ上がった時に自分のスキルでは解決できないことが多そう ■ このスレッドは過去ログ倉庫に格納されています