Learning Flutter
I've been learning Flutter in order to help my team out with a new project we are taking on. At first I was skeptical, since cross-platform frameworks usually end up sacrificing something to run on so many different platforms. However, I was really impressed with Flutter, especially when I saw our teams app running in the web, on Windows and on an Android phone, and it looked good on every device!
I started out with the Flutter Development Bootcamp by Dr. Angela Yu on Udemy, where I quickly learned the basics of getting an app set up, changing the app logo, and the core structure of a Flutter application. I wasn't sure about the everything-is-a-widget structure at first, but it ended up making so much sense! I always felt like building something that looks amazing was within reach, and the auto-format always made my code look great. It reminded me of components in React, although I think I prefer widgets.
I ended up building several simple applications while following with the tutorial, before I had to get focused on the actual application my team and I were to be building. Most notably I built a stylish BMI Calculator and a simple Weather app using Android's location services.
What I liked about Flutter:
- Widgets are easy to use
- You can peek at the Flutter code and existing Material widgets
- It's quick to get an MVP up and running
- There are loads of Dart packages available to use
What I didn't like:
- Dart is a good language, I felt it similar to TypeScript (I've heard it compared to Swift and Kotlin, but I haven't worked in those languages) but it isn't really used for anything other than Flutter, so it's hard to justify a framework that uses a specific language that you won't use on anything else.
- Flutter for the web is a bit tricky. It went much better than I expected and actually most of my development has been on a web app, but it's not perfect. Ultimately we want a cross-platform app, so Flutter makes sense, but if you are focused on a web app then I would stick to a web focused framework.
The article provides a practical and honest introduction to learning Flutter, especially the author's experience with building applications across web, Windows, and Android. I liked the comparison between Flutter widgets and React components, along with the discussion of rapid MVP development, Material widgets, Dart packages, and the advantages and limitations of using Flutter for cross-platform projects.
ReplyDeleteThe hands-on examples, including the BMI Calculator and Weather app, make the learning journey particularly relatable for developers evaluating mobile technologies. Readers interested in component-based application development can also explore a React Native Course in Chennai to understand another approach to cross-platform mobile development.
The discussion about Dart is also useful because it highlights an important consideration when selecting a framework: the long-term value of the underlying programming language. The author's observation that Flutter for web applications can be useful but may not be ideal for purely web-focused projects gives readers a balanced perspective when comparing development approaches.
ReplyDeleteIt is interesting how the article connects Flutter's widget-based architecture with concepts familiar to frontend developers. Developers who already work with component-driven interfaces may find a ReactJS Course in Chennai helpful for exploring another component-based frontend ecosystem, while practical ReactJS Projects can provide opportunities to apply similar ideas in application development.