5 tools to supercharge your Flutter development 
Tags: flutter, dart, vscode, beginners
Published: 2020-08-25 22:22:54

If you've read my previous posts, you probably know I'm addicted to getting things done quickly. At the time of me writing this, I'm preparing to mentor a hackathon that's being hosted online out of El Paso, TX. So I quickly wanted to put together a couple of tools & packages that can help new Flutter developers get going & hopefully create an MVP within a hackathon's time period.
## [VSCode](https://code.visualstudio.com/download)
This is the premier IDE from Microsoft & has gotten a lot of traction across the global developer community for creating plugins. You can download VSCode here & I recommend installing the plugins for [Flutter](https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter) & [Dart](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code). Alternatively, you can use Android Studio, but in our opinion, VSCode is just much lighter & friendlier to use.
## [Firebase](https://firebase.google.com)
Firebase is a tool where you can create a backend & database. You can manually populate data which is nice for getting some test data in on the backend. You can use the Firebase Flutter package to integrate your mobile app with your Firebase. Although I'm not the biggest fan of the way this package works, it gets the job done for a Minimum Viable Product.
## [HTTP Package](https://pub.dev/packages/http)
For applications that need to talk to an API, the HTTP package is an excellent package to use for talking to API endpoints. Below is a snippet of how simple a POST request is.
```
import 'package:http/http.dart' as http;
var url = 'https://example.com/whatsit/create';
var response = await http.post(url, body: {'name': 'doodle'});
```
## [JSON_Serializable](https://pub.dev/packages/json_serializable)
This is a more advanced tool but extremely useful. Often times when receiving & sending JSON data, you likely want to convert the data into dart object(s). Most of the time this requires additional time and boilerplate code to complete. This is where Serializing comes in. In this context, Deserializing just means converting the JSON objects into a format that allows your dart code to interact directly with these objects through dart rather than JSON or maps. Why spend additional time to map classes into a format that could be sent & received across the network when json_serilizable can do it automatically. Additionally, doing it by hand increases the risk of creating bugs in the objects that are serialized. This dart package allows the serializable classes by putting dart annotations into the classes that are going to be serialized and running `pub run build_runner`.
## [Parabeac](https://github.com/Parabeac/Parabeac-Core)

![Parabeac High-Level Animation](https://kindling-sketch.s3.amazonaws.com/parabeac-high-level-animation2.gif)

Ok, ok. I might be a little biased here, but we made this tool because we wanted to produce apps faster for ourselves. With Parabeac you can convert design files from [Sketch](https://www.sketch.com) (as of this writing) & soon Figma directly into Flutter code. Just follow the README & you'll be on your way.

Thanks for reading. Hopefully, this will be a resource for you to get your MVP up and running in no time. Or at least in less time. What are your favorite tools for developing Flutter applications?