Don’t get Flutter and Dart mixed up

I’m working on a game with a Flutter web client and two Dart terminal programs hence the visual pun. Annoyingly, you can’t compile a Dart exe for Linux on a Windows PC. You can do that in C# but I prefer to use Dart.
I have all the classes in two files (one is called classes.dart) and because I’m using JSON to persist game data, I use the build_runner package from pub.dev. Just add this before any classes:
@JsonSerializable()
Make sure if you have enums that every enum value has
@JsonValue('houses')
before it and add functions like this for each class you want to persist; in this case a Location class:
factory Location.fromJson(Map<String, dynamic> json) =>
_$LocationFromJson(json);
Map<String, dynamic> toJson() => _$LocationToJson(this);
Then when it’s all done, do this to generate a file that handles loading and saving the specified classes.
dart run build_runner build
Along the way though I managed to get Flutter into a Dart program. I’m using SQLite but only in Dart, not in the Flutter app. Unfortunately I used the kIsWeb constant to exclude some calls (when the classes are used by the Flutter app) in my classes file. But you can’t do that in a pure Dart program, it will not compile. Instead I wrote my own function.
bool isWeb() {
return !Platform.isWindows && !Platform.isLinux;
}
Interestingly, the definition of kIsWeb in the API is this below, so it might be worth trying that out.
const bool kIsWeb = bool.fromEnvironment(‘dart.library.js_util’);





This is the
As a user of Visual Studio since about VS 5, I’ve become accustomed to being able to debug. With VS Code, it’s also been easy but now that I program in C and Rust, the codelldb extension makes things very easy. You need other extensions: for Rust- the Rust Analyzer extension and for C/C++ the Microsoft C/C++ extension.
Although it says cannot open input file SDL2.lib, I think the problem is a parameter passed into Link.exe.




