While for simple results, parsing JSON manually is an option, when your classes become more complex, some automation will greatly help you. The json_serializable package is available at https://pub.dev/packages/json_serializable.
For a thorough overview of the differences between the two web renderers and when to use them, see https://flutter.dev/docs/development/tools/web-renderers.
If you are interested in how logical pixels work, and how they are different from physical pixels, see https://material.io/design/layout/pixel-density.html.