Flutterやろうよ!!!
■ このスレッドは過去ログ倉庫に格納されています
ようこそFlutter野郎どもよ!!! 軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか AndroidもiOSも両方行ける、まさに漢のためのツールだな http://www.flutter.io 多分 >>529 はapppleシリコンがどうとかrozetta2がどうとかいう話題全然把握してないと思われ m1は未知だよなぁ 本当にcoreとかryzenとかと肩を並べられる位のスペックなら 多分次はMBA買っちゃうかも 今のとこ眉唾だと思ってる Appleは盛るからなぁ・・・ まーた知ったか野郎が出てきた 何がロゼッタ2だ馬鹿カンケーねーから あのmonoさんでもmacbook air 256GB RAM16GBを購入したから 迷うんだよね windowsしか使ったことないからmacbookはproじゃなくてairでいけるならポチりたい cocoapodsがまだ動かないらしいね まあ、そのうち直るだろうけど ロゼッタamd64で動くターミナルが付属するらしいね。 amd64向けのライブラリはどこまで用意されるのか… いやflutterでmonoさん参考にするのは理にかなってると思う。割と頻繁に購入しているみたいだけど感想は正直だし。 futterスレでmonoって言われたらXamarinのCLIを連想しちゃう。 開発環境ぐらい主体的にきめられない馬鹿は向いてないからプログラマやめとけ メモリだけ積んでりゃ余裕で動くからAirで良かったのにぃ ベンチでAirに負けるProとか前代未聞だなw ジョブズもビックリして再起動するかもwww 出たばかりの「Android Studio 4.1」が、さっそく「Android Studio 4.1.1」になった みたいだけど、とりあえずそれは置いておいて、Flutter でWindows デスクトップアプリが 開発できるから調べてってことで、「 flutter_windows_1.22.3-stable.zip」をダウン ロードしてきて、Windows 10のPCに展開したんだけど、 「flutter config --enable-windows-desktop」をやった後で、 「flutter doctor」や「flutter devices」とやっても、AndroidのPlugingが検出できない のはいいとして、「No devices available」。 それじゃあと「flutter create hogehoge」とプロジェクトを作成しても、「ios」と 「android」フォルダはあるものの「windows」フォルダが作られてない。 もちろん、Visual Studio 2019のC++開発環境は入ってるし、最新版(16.8.1)にしてある。 気を取り直して「dev」チャンネルにしてみるかと、「flutter channel dev」とやって 「Successfully switched to flutter channnel 'dev'.」と出たのを確認してから、 「flutter upgrade」とやったら... 「Building flutter tool...」の次に「Running pub update...」が出たまま、数時間 放置しても固まったままになるんだけど? GoogleがFlutterアプリをWindowsやMac、Linuxのデスクトップ環境で実行可能にする 「Flutter Desktop Embedding」プロジェクトを発表してから、もう2年近く経ってる けど、本当にまともにWindowsデスクトップ開発ができる状態なんか? >>538 お前mono様を呼び捨てすんなよ 低能はひっこんでおれ >>548 まあ、それはいいとして(!?) まともに動くPCかMacを買ってこようぜ Linux版でやってみたけど、ちゃんとwindowsフォルダも出来てる。 もちろんビルドは出来ないけど。 ちなみにLinux Desktopアプリケーションはビルドして動いた。 本格的に使っていったときにどこまで動くのかは知らんけど。 >>550 とりあえず、14C/28TなXeonの中古WSと、搭載メモリ224GBぽっちだけど、 これじゃ足りんか? >>551 「flutter config」を実行すると、 > <snip> > Run "flutter help" to see global options. > > Settings: > enable-windows-desktop: true (Unavailable) > enable-macos-desktop: true (Unavailable) > enable-linux-desktop: true (Unavailable) > > Analytics reporting is currently enabled. と、全部てのデスクトップ用オプションが無効化されている模様。 OSが違うけど、下記のstackoverflowの投稿と同じ。 Flutter Desktop: Cannot find device on MacOS Catalina stackoverflow.com/questions/59103742/flutter-desktop-cannot-find-device-on-macos-catalina んで、「git clone https://github.com/flutter/flutter.git 」でmasterブランチ を直接取ってきてもダメっぽい。 ヤンキー品質。 最新beta channelの「flutter_windows_1.23.0-18.1.pre-beta.zip」は、「flutter config」の結果が、 -------- > Settings: > enable-windows-desktop: true (Unavailable) > enable-macos-desktop: true (Unavailable) > enable-linux-desktop: true (Unavailable) -------- でダメ。 最新dev channelの「flutter_windows_1.24.0-7.0.pre-dev.zip」は、「flutter doctor」の結果が、 -------- > Doctor summary (to see all details, run flutter doctor -v): > [√] Flutter (Channel dev, 1.24.0-7.0.pre, on Microsoft Windows [Version 10.0.18363.1198], locale ja-JP) > [√] Android toolchain - develop for Android devices (Android SDK version 30.0.2) > [√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.1) > [√] Android Studio (version 4.1.0) > [√] Connected device (1 available) > > • No issues found! -------- と環境はOKになって、「flutter create hogehoge」でスケルトンプロジェクトを作成し「windows」 フォルダの作成も確認したが、「flutter run」で、以下リンク先の報告とまったく同じエラーが発生。 flutter run fails on Windows 10 (flutter desktop) #69872 https://github.com/flutter/flutter/issues/69872 -------- > <snip>\windows\runner\main.cpp(28,11): error C2039: 'set_dart_entrypoint_arguments': is not a member of > 'flutter::DartProject' [<snip>\build\windows\runner\myapp.vcxproj] > Building Windows application... > Exception: Build process failed. -------- 糞すぎる。 プラットフォームによって力の入れ具合が違うんやろな macでbrew cask install flutterでflutterをインストールしたのですが flutter sdkはどのパスにインストールされるのでしょうか? $ which flutter dart で判らんの? Windows Desktopを試してみたところ、master channelならいけた。 Flutter (Channel master, 1.24.0-8.0.pre.251, on Microsoft Windows [Version 6.3.9600], loca le ja-JP) dev channelはダメだった。 アプリケーションを終了するときにエラーを吐いたりしてたし、これがbetaやstableになるのは まだまだ先なんだろうなって思った。 >>558 > Channel master, 1.24.0-8.0.pre.251 「.pre」がつくのはdev channelしかないはずで、一番最新は「1.24.0-7.0.pre」のはず だけど、「1.24.0-8.0.pre」なんて、どっから取ってきたの? https://flutter.dev/docs/development/tools/sdk/releases githubの公式リポジトリにもそんなタグないのだが? >>559 普通にstableの最新版をインストールした後、 コマンドラインから flutter channel master でchannelの切り替え。 その後 flutter upgrade と flutter doctor で完了。 >>560 おかしいな。 やってることは同じはずだが、「flutter channel master」で channelの切り替えした後は、「flutter channel 」、「flutter upgrade」、 「flutter doctor」と、どんなオプションを指定しても、オプションなしでも、 channel 変更後の最初のflutterコマンドを実行すると、勝手にアップデートが 始まって、「Running pub update...」が出た状態でバッチ処理が固まる。 masterに切り替えた際には、-> flutter-1.24-candidate.11 と出る CTRL-Cで強制終了させて調べると、「.pub-cache」フォルダ内に「dir」で 始まる数字とアルファベット組み合わせのフォルダが大量に作られているが、 中身はどのフォルダも空。 バッチを強制終了させる際に出る、 「Unable to 'pub upgrade' flutter tool. Retrying in five seconds」 で検索すると、2年以上前にも報告されている不具合とおそらく同じ状況。 Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds https://stackoverflow.com/questions/49497109/error-unable-to-pub-upgrade-flutter-tool-retrying-in-five-seconds git clone -b stable https://github.com/flutter/flutter.git や git clone -b master https://github.com/flutter/flutter.git でリポジトリの複製を作ってもダメ。 リポジトリを複製した場合、「flutter」直下の 「.pub-cache」フォルダも作られない。 Windows 7 SP1 (64bit)、Windows10(1909, 64bit)どちらも変わらない。 【豆知識】 Flutter 1.21からDartも含まれてるので 個別で入れてるほうのDartは削除しましょう! 今改めてchannel切り替えしてみたけどこんな感じ。 Flutter (Channel dev, 1.24.0-10.1.pre, on Microsoft Windows [Version 6.3.9600], locale ja-JP) Flutter (Channel master, 1.24.0-8.0.pre.268, on Microsoft Windows [Version 6.3.9600], locale ja-JP) 勝手にアップデートがかかるのはその通りだけど、特に問題は無かった。 環境の違いがあるのかな。こっちはWindows8.1(x64)。 Windows-Desktopの動作確認のためだけに引っ張り出してきた環境で 必要なソフトウェアは今回初めてインストールしたことになる。 俺はFlutterを触りだして数ヶ月程度だから、あまり詳しいことは分からんのだよね まずWindows10にしようぜ 無ければ諦めよう Windows8.1なら10に無償アップデートできるだろ? もしかして俺に言ってるのかな 俺は何も困ってないぞ 漏れは、Win 8 から10 へ、Update して、 WSL2 にして、Ubuntu 18.04 を入れた Docker も入れれるのかな? メモリが8GB しかないから、キツイ >>563 > 俺はFlutterを触りだして数ヶ月程度だから こっちも似たようなもの。 なんか、bin下の「cache」に展開したDartを本来の場所へコピーするあたりで、 ファイルロック状態か何かで止まってるっぽい。 念のため管理者権限のコマンド プロンプトやPowerShellからやっても同じ。 Flutterを入れる時は、Android Studioは起動していないんだが、Android Studioの Dart Pluginや、Flutter Pluginあたりが悪さしてるんかな? -------- > Flutter (Channel dev, 1.24.0-10.1.pre, on Microsoft Windows [Version 6.3.9600], locale ja-JP) -------- 昨日の夕方見たら「Dev channel」に新しいリリース(↓)出てますね。 https://flutter.dev/docs/development/tools/sdk/releases?tab=windows 結局「1.24.0-8.1.pre」ってタグが存在した履歴はGitHubの公式にはないけど、 Googleの中の人か、Google内のリポジトリにアクセスできる人? 1つ前の「1.24.0-7.0.pre」は、Windows Desktop対応のスケルトンコードを吐く けど、ビルドが通らなかったから、これなら行けるかも。 >>562 それ、zip版を展開する場合だけの話ね。 あと「git clone」でリポジトリを取ってきた 場合は入ってない。 だから「git clone」は、初回には必ずDartEngineを取りに行くけど、 cacheフォルダへzipを展開した後で固まる。 ちなみにこれまでFlutterもDartも使ってないよ。 念のためCドライブ下を「dart」で検索 してみたけど、「vcpkg」でインストールしたパッケージに、検索で引っかかるファイルが 幾つか見つかるけど、Dart本体(bin)ではなさげ。 「Stable channel」のzip版だとAndroid/iOSの開発はできるけど、Desktop系の開発機能が 無効化(Unavailable)されているみたいで、「flutter config --enable-XXX-desktop」で フラグだけtrueにセットできても、「flutter doctor」でVisual StudioもWindowsデバイスも 検出されない。 「-v」や「-vv」を付けて詳細表示するとか以前の話。 んで、「flutter channel XXX」で切り替えると、直後の「flutter」コマンド実行で channelで指定されているDart Engineを勝手に取りに行って、結果は同じ。 「Dev channel」のzip版は最初からDesktop系の開発機能が有効化されているので、 「flutter channel master」不要で、「flutter config --enable-windows-desktop」 するだけでVisual StudioもWindowsデバイスも検出できる。 但し、「1.24.0-7.0.pre」は、「flutter create hogehoge」でWindowsフォルダを含む スケルトンは自動生成されるけど、いざ「flutter run -d windows」でWindowsデスク トップのバイナリをビルドしようとすると、結果は >>553 の通りコンパイルエラー。 Googleの連中は、リリース前にJenkinsとかでCI回してないのかねぇ? >>564 Windows 10 Pro (64bit)でも同じなのだが? 一応3台のPC(Win7×1, Win10×2)で 試してすべて同じ結果なので、少なくとも再現性はある。 「flutter_windows_1.24.0-10.1.pre-dev.zip」を試してみた。 「1.24.0-7.0.pre」では一応プロジェクトを作ることはできたけど、 今回は、「flutter create hogehoge」の時点でエラー(↓)になる。 -------- > C:\TEST>flutter create hogehoge > Creating project hogehoge... > hogehoge\.gitignore (created) > hogehoge\.idea\libraries\Dart_SDK.xml (created) > <snip> > hogehoge\windows\runner\win32_window.h (created) > Cannot resolve symbolic links, path = 'R:\Temp\pub_8d57b0fb' (OS Error: ファンクションが間違っています。 > , errno = 1) > Running "flutter pub get" in hogehoge... > pub get failed (66; , errno = 1)) -------- 調べたところ、上記は RamDisk(ImDisk) が関係するこのissueらしい。 On windows, using a ramdisk leads to "Cannot resolve symbolic links" #26113 https://github.com/flutter/flutter/issues/26113 同じ開発者のAIM(Arsenal Image Mounter)を使えば解決するみたいな。 https://github.com/ArsenalRecon/Arsenal-Image-Mounter 一応、5chの関連スレも貼っとく。 ImDisk Virtual Disk Driver & Toolkit Part1 https://egg.5ch.net/test/read.cgi/software/1544695756/ 一旦、ImDiskが入ってない環境でテストしてみる。 RAMディスクを無効化すると、レジューム用ファイル(hiberfil.sys)が、 搭載メモリと同じ容量だけ強制確保されて、Cドライブの空きが足りないので、 とりあえず、環境変数(TEMP/TMP)をデフォルトに戻してImDiskに割り当て ないようにやってみたら、うまくいった。 もしかして、「flutter channel」の後に固まっていたのも、すべてこれが 原因だったのかもしれん。 >>558 で出たというエラーが気になるが、Flutterアプリの[×]ボタンで閉じる とエラーが出るけど「flutter run」で起動するとデバッガが動くから、コマンド プロンプトのヘルプに従って「q(enter)」でデバッガを終了したら、エラーは 出なかったよ。 -------- > Flutter run key commands. > r Hot reload. > R Hot restart. > h Repeat this help message. > d Detach (terminate "flutter run" but leave application running). > c Clear the screen > q Quit (terminate the application on the device). > An Observatory debugger and profiler on Windows is available at: http://127.0.0.1:63506/xxxxxxxxxx/ -------- 「http://127.0.0.1:63506/xxxxxxxxxx/ 」をWebブラウザのアドレスバーに 貼ると、デバッガでアプリの状態が見えるっぽい。 プロジェクト下の「build/windows/runner」フォルダに、Visual Studio用の ソリューションファイル(.sln)とプロジェクトファイル(.vcxproj)が作られて いて「Debug」と「Release」フォルダにバイナリ(.exe)ができる模様。 「--debug」オプションがデフォルト(省略可)で、「flutter run --release」 とやるとリリースビルドができる。 「Release」だけでなく「Debug」も、作成された実行ファイル(hoge.exe)を 直接起動したら、[×]ボタンで閉じてもエラーは出なかった。 Flutter本の著者がほとんど無名みたいなやつばっかり 購入したい本がない 無名でもいいけど、買いたい内容じゃないんだよな。まだ熟れてないから仕方ないけども。 秀和システム 掌田津耶乃 はハズレとみて間違いない もし、Android/iOS両方のプラットフォームでアプリをリリースする必要があったとしても、マルチプラットフォーム対応用フレームワークは使ってはいけません。 ちょっと詳しい上長なんかだと、Flutterがどうだとか、Reactがどうだとか言ってくると思いますが絶対に流されてはいけません。 あれはそれぞれのプラットフォームでの開発のプロが居る上での選択肢なので、急でかつ自分ひとりチームのような場合には絶対に使わないことがおすすめです。 取り敢えずネイティブで作ってみて、自分にAndroidの業務用知識がついてから検討してでも遅くはありません。 もしどうしてもマルチプラットフォームでと強く言われたら、PWA(Progressive Web Apps)に話を持っていきましょう。 もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) https://qiita.com/Gazyu/items/dafdb74c4aadf722da92 身をもって痛い目にあってるからという印象を受けるけど実際どこがダメなんだろう。 Xamarin.FormsとFlutter、サクサク動くのはどっち? >>579 ハード絡みの機能が難しいというのは書いてあるじゃないか GPS, Camera, BT >>578 PWAはそれはそれで結構難が有るんだよ。 ローカルファイルシステムは通常通りにはアクセスできないし。 ローカルファイルのアクセスはFile System Access APIで良い感じになるんじゃね >>583 JSやHTMLの公式サイトっぽいところにはまだ書いてない気がする。 そもそも、Chromeに限定しても仕様を学ぶのにどこを見ていいかも分からない。 状態管理のやりかたとかいろいろ入れ替わりが激しくて脱ReactしてFlutterやってみようかなと思ったんですけど Flutterも同じ感じですか?状態管理のパッケージの流行りの入れ替わりみたいなのありますか 激しいですか >>587 やってたのはReact Nativeじゃなくてweb app用のReact? React Nativeだったら評判悪いし人気も落ちてるし FlutterかXamarin.Formsに変えた方がいいと思う ウソ吐きの言うことは信用できないのでFlutterとXamarin.Formsはやめときますw >>589 別人はだまってろw 無能なおまえにはどっちも使えないしな >>588 ウェブのほうです Flutterはウェブアプリの書き出しもできるようだし 修正の確認もウェブフロントエンド開発と同じくらい早くてかんたんだと聞いて >>593 Flutter webか https://flutter.dev/web 上見るとまたbeta channelと書いてあるしまともに動かないんだと思ってた。 ただBrowser(C++/JS)と書いてあるのが気になる。 C++もできないとFlutter web使えないとかいうことはないの? Dart覚えるのはともかくC++まで必要になるとめんどうだし困る Reactはサードパーティのをたくさん組み合わせないといけないし すぐに人気落ちると思うわ。JSのフロントはどれも長続きしない Flutter for WEBをプロダクトで使ってるんだけど、そんなに簡単ではない印象。 簡単でないってのは、やりたい事に対して解決方法が見つかりにくいという意味ね。もちろんやりたい事によるけども。 1番面倒だなーと感じたのはpub.devから落としてきたライブラリが動かなかったりした時だね。 ありがとう デモ見ると「オシャレUIの盛り合わせ 〜なめらかアニメーションを添えて〜」みたいな調理例がたくさんあって CSSやらデザインで泣かずに済むのかなと思って >>595 Flutter for WebでC++の知識は必要になる? 最後の行のはまだbetaだからで時間が解決してくれそうだけど MicrosoftもXamarin.FormsにWeb supportいれてくるようだから注目してる >>596 HTMLとCSSの世界、めんどくさいよな ElectronはWeb技術を使ったデスクトップアプリであってWebアプリでは無いんじゃね Flutter Webはその逆って感じ >>597 ここでいうC++はJS Engineのことだと思う。そんなとこは手を入れないからFlutter for webやる上ではC++は不要なんじゃないかな。使わなかったし。 >>596 CSSやらなくていいやーと思ってたんだけど、レイアウト面倒なのは変わらないかな。個人的にはBootstrapと同じだなーという感じ。 Ruby on Rails でも、 ほとんどの人は、HTML, CSS, JavaScript は、あまりよく知らないけど使っている感じ Bootstrap, React をコピペしてるだけ Webpacker というWebpack をラップしたものを使っているから、 Webpack, Babel もよく知らないけど、なんとなく動いている感じ 新天地と思ったけどFlutterも同じか・・・楽園はどこにもないんだね 来年になったらFlutterに色々動きはありそうなんだけどな XamarinもMauiに統合されるしマルチプラットフォーム向けFWがより使い易くなることを祈ろう クロスプラットフォームは総じて糞と相場が決まっている ネイティブでやりましょう >>600 ありがとう、C++不要か、安心した あとFlutterから出力されるhtml, CSSが汚いという話を聞いたことあるけど、 どの程度のレベルなの? 最低限、重要タグの h, とかメニューがlistになってるかとか知りたい。 あまりにひどいとSEO完全無視状態になるから用途次第では使えなくなりそうだし その辺どうなんだろう >>605 そうは言ってもiOS, Andorid, Browser, Windowsの4種類の 開発できる人はそう多くはない。学習の負担は大きい FlutterやMAUIならうまくやればひとりで全部のコードかけるように なるわけで魅力的なのは間違いない 誰が作っても同じになるようなGUI部分のコード共通化という点ではメリットが あるのかな?という印象。 逆に言うとその部分での差別化は難しい。 むしろ、 短期間でGUIのスケルトンだけを仕上げて客に見せると、開発は簡単なんじゃ ないかと、単価引き下げを要求されかねないデメリットがありそう。 他人が作ったできあいのパッケージ/プラグインを適当に繋げて使うことで、特に 見栄えに関しては工数を掛けずに作れるけど、結局プラットフォームの違いでネイ ティブ呼び出しする必要が生じれば、自分でプラグインを作る必要が出てくる。 そうなると、プラットフォーム毎に異なるAPIや言語(Swift/Objective-C, Kotlin/ Java, Visual C++)が必要になってくる。 その点、Xamarinの方が、C#/.NET (Core) Frameworkだけで書ける範囲が広いのではないかな? あとFlatterはスマホアプリ開発前提で、常に1ウィンドウ(フォーム)だけが全画面 表示されるGUIなので、将来的には判らないが、今のままデスクトップ版がビルド できたとしても、アプリとしての使い勝手はよくない気がする。 ところで、Flatterのウィジットなんだけど、せめて公式なウィジットだけでも、 クラスの階層図ってないの? こんなの。 ttps://docs.microsoft.com/ja-jp/cpp/mfc/hierarchy-chart?view=msvc-160 あと、Flatterで開発してる人は、ドキュメントはどうしてるの? c#というか.netは言語、クラスライブラリ、過去の資産とか優れてるわけだけど、マルチプラットホームなUIフレームワークの部分だけが糞で いかにDartが糞でもトータルとしてみると Dart+Flutter>c#+Xamarinになってしまう もちろん、アプリの種類によって得手不得手があるから、flutterが現状一番マッチするのは >>77 ,78,79な感じ >>610 判っているけど、未だについつい間違えてしまう。 >>611 Xamarinもちょっとかじった程度だけど、そんなに糞なのか? flutterもGUI部品が揃ってるだけで、VB.NETでグレープソフトやCrystalReportの 世話になってたような連中にとっては便利に見えるかもだけど、フレームワーク としてそんなに充実してるかな? むしろ混沌としてる気がする。 flutter以前に、Dartが中途半端に他の言語を模倣していて、言語仕様の細部がよう 判らん。 C言語で言う、#defineや、#if〜#else〜#endif に相当する機能はない のか? __FILE__, __FUNCTION__, __LINE__みたいな定義済みマクロとかも ないの? ざっと見た限り、仕様らしきものが見当たらんのだが? Flutterでネイティブが必要な部分はたいていプラグインあるし、分かってしまえば自分でプラグイン書くのも難しくない。 総じてXamarinよりFlutterのほうが遥かに開発効率は良い。 >>606 SEOはダメだと思うよ。そもそも、ほとんどのタグをCanvasタグで独自描画させてるし。そもそもWebサイト作るためのフレームワークではないからね。 >>612 Dartの仕様は下記URLから見れるよ。 https://dart.dev/guides/language/spec#dart-2 ドキュメントどうしてるの?については、公式サイトとStackOverflowみてるよ。場合によってはライブラリのソースコードを直接読んでる。 >>612 Xamarinは糞で有名よ。 自分も投資が全くの無駄になった... >>614 ほとんどのタグをCanvasタグで独自描画させてるし イイ!ね! >>614 > Dartの仕様は下記URLから見れるよ。 > https://dart.dev/guides/language/spec#dart-2 そこは一応見てるけど、「macro」で「DartLangSpec-v2.2.pdf」の中を検索しても 1つもヒットしないってことは、C言語で言う、#defineや、#if〜#else〜#endif に 相当する機能はないってことで桶? >>615 そっちのドキュメントじゃなくて、JavaDocやDoxygenのような、自分の書いた ソースのコメントからドキュメントを作成するツールとか使ってないのって意味。 >>618 C相当のマクロは使わないからわかんない。 ドキュメントに関してはdartdoc使えばいいと思う。Effective Dartに書いてあるから読んでみて。 >>620 使わないというか、使えなさそうな気がする。 ちょっと試したコードを一時的に 無効化したい時とか、どうやってるんだろ? いちいち、コメントアウト? リリースとデバッグで処理を変えたい時は、 > dart.vm.product という環境を変数がtrueの時はRelease実行でfalseのときはDebug実行になります。 というのを見つけたけど、これってあくまで実行時に振舞いを替えるだけで、使わ ない方のコードもバイナリに含まれるっぽい印象。 #ifdef DEBUG~#else~#endifとは違う。 > ドキュメントに関してはdartdoc使えばいいと思う ググったら、こんなの出てきた。 ttps://qiita.com/kkohtaka/items/dabacce44488bdcd5fb2 おおよそのコメント書式は、DoxygenやJavaDocと同じみたいやね。 Dart2で一部取り込む予定という記述もあるが、調べた限り「Conditional imports」を 使えと言う回答くらいしか見当たらない。 しかし、その「Conditional imports」の 出来もあまりよくなさげ。 Is it possible to compile code conditional in Flutter? ttps://stackoverflow.com/questions/57973064/is-it-possible-to-compile-code-conditional-in-flutter Conditional code preprocessing #33249 ttps://github.com/dart-lang/sdk/issues/33249 Building a Flutter Project with Conditional Imports ttps://medium.com/@rody.davis.jr/how-to-build-a-native-cross-platform-project-with-flutter-372b9e4b504f >>621 お試しとか単純にコメントアウトしてるけどそれじゃダメなのか。プロダクトコードにreleaseとdebugの切り替えが混ざるの嫌だから気にしたことないや。 Dartは1と2で結構変わってるから昔の記事はアテにしないほうがいいよ。 >>621 最近は(というかC++ぐらいから)defineも含めてプリプロセッサは使うなという宗教がある。Javaでは採用されてない。C#は必要悪として残してる感じ。 代わりに普通のif elseを使うとよろし。そのくらいは最適化してくれる。 dart が Sound Null Safety とか導入してきた! こんな機能は要らん、クソ面倒くさい ?があまり無いのが良いところだったのに・・ とうとうdart終わったな・・ コンパイラにnull判断お任せがどの言語でも主流よ あきらめろん ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる