# Flutter & Dart: Pros & Cons

## What is Flutter?

**Flutter** is an open-source UI framework developed by Google that allows developers to build natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase, using the **Dart** programming language.&#x20;

## Final thoughts

To adjust the priority of learning Dart programming language, it seems plausible to summarise the pros and cons of learning and usability in future projects.&#x20;

* **Pros**
  * **Cross-Platform Development**: With Flutter, developers write one codebase and can deploy it on multiple platforms like iOS, Android, and the web. This reduces development time and effort
  * **Performance**: Since Flutter compiles to native code (using Dart), it offers high performance and smooth animations, making it suitable for creating complex apps.
  * Points experienced by myself while building apps:
    * The widgets automatically scales to the device or window size (unlike CSS).&#x20;
* **Cons**
  * **Returning to the beginner phase**: Requires you to learn a new language with limited community support. This also means that current pattern designs are still at trialing / testing phase and requires you to play around with it more than other frontend languages to learn the programming tricks.&#x20;
  * Points experienced by myself while building apps:
    * Takes time re-compiling applications which can be quite frustrating while tinkering with widgets.
    * Limited Libraries and Tools: given that it is a fairly new community, less contributions compared to other programming languages.&#x20;
    * Still unsure to the performance overhead in application. Based on my experience, programming complex animations with JavaScript tends to be slower during production than in the pre-deployment phase.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://whoamimi.gitbook.io/blog/projects/tarotarot-ai-fortune-teller/mobile-stack-flutter/flutter-and-dart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
