Hi, thanks for listening. This is the It's So Widgets Flutter podcast. My name is Solo Korn, and each episode, get a chance to speak with another amazing member of the Flutter community. This episode, we're extremely lucky to be speaking with Gianfranco. Welcome. Hi, hello. How are you? Nice to be here. Thanks for being on. To start, can you share a bit about your background? Of course. Yeah. Okay, so...
Well, I'm Gianfranco. I'm a software engineer. I started studying the computer science career. It would be like the equivalent of here in Uruguay. It would be the equivalent of a computer science career plus one year of specialization.
So, yeah, nowadays I'm CTO and co-founder of a company called Somnio Software that is basically a dev shop who specializes in Flutter. So we have so many different projects using Flutter for different clients. And yeah, back then when I was in the university,
I was really interested in software design and architecture. Also, my specialization was about data science. It was something really interesting at that time, like machine learning and AI. I think that those are things that are really common nowadays, right? But yeah, also, I mean, I was interested in any type of programming. I guess that
Something that really interested me at the time was algorithms and competitive programming. That was kind of something really different about how to think in programming because not only you have to think, for example, if you're thinking in software design, you have to think about maintainability. But in this type of competitions, the most important thing was to make things fast, right?
So not necessarily applying the best practices you would include in your projects. But then another thing that really caught my eyes back then
was mobile development. I started developing apps in native, in Android and iOS. I remember using Java for Android and also Objective-C for iOS. I experienced a transition from Objective-C to Swift. And...
And yeah, also I started searching for cross-platform alternatives. I had experience also in React Native and of course in Flutter. We're going to talk about a lot of Flutter today. But yeah, I consider that being exposed to different ways of frameworks to create apps, it's really beneficial to your path. So yeah.
So yeah, that's kind of my background. I started, as I said, a company with two colleagues, two partners, that initially was for working with different technologies in different projects for clients. We were working separately, each of us, in a freelancer role. But then we joined and we started working in...
common projects. And it was the time that we started using Flutter for a real project and a real client. We decided to start specializing in this technology because it was really promising. We could make different apps for different platforms. And yeah, that's kind of like how it all started in
In my company nowadays we are really excited because the technology has grown a lot and we have the opportunity to work with so many projects in Flutter and we are a team of more than 50 people. So yeah, that's kind of my background and how I got here. I also
And I'm a Google Developer Expert for Data on Flutter. Probably we're talking about that later. But yeah, I decided to specialize a lot in Flutter. And that's why I pursued the path of becoming a GD. Very cool. That's an amazing story. And how did you first hear about Flutter?
Well, that's a funny story, actually, because as I was saying, I was developing apps in mobile using native technologies. And I remember that this particular project I was doing, I wasn't working for a specific client, but I was working on one side project on iOS. I was using Xcode and Swift, basically.
Because, yeah, I started with a platform, right? If you are developing natively, you have to start with something. And somehow I came across this Flutter framework tool. I didn't know at that time what it was, but I was actually browsing the internet to solve something related to my app in Swift, in iOS. But somehow I ended up downloading Flutter. I don't know how, but honestly,
It didn't pay even attention on what was the name of the tool or what was the company behind the tool, like Google, right? But I just remember I started running the...
the counter app, like the app that this, the initial app that Flutter, like when you run the Flutter create command, you have the counter app, right? And it was really mind blowing because, yeah, I felt, I started experiencing the hot restart and then the hot reload feature
And I could understand how fast I was moving by making a mobile application, you know, because I think that I also was developing for the web at that time. I was using, I think, React Native or more or less I had a lot of experience in web development. And I feel like web development in comparison with mobile development, at least at that time, was really different in a way that
web development for me it felt like more trying and for example writing some html some css or javascript and quickly validating those things in in the web and that cycles kind of repeats like other things in your your dev process right but in the case of mobile it wasn't
so much like that because when because you have like hot restart or hot reload in the native side you have to make a lot of changes in order to kind of make a build right because otherwise you're like losing a lot of seconds that translate in minutes in a day and it's not so productive right so
When I downloaded Flutter, that was the first thing that caught my eye.
I think that, I mean, I knew at the time that there were other tools such as React Native that also kind of support this kind of behavior. But being so much developing in native, as I explained in Swift and Java, I was more used to working in that matter. So when I downloaded Flutter, that was like really mind blowing. But not only that, I think that
Also, some of the things that caught my eye back then was the fact that I really had a widget for building like
common UIs, right? And that was extremely useful for me. Not only widgets, but navigation patterns. I mean, it really seemed that everything was flowing and I didn't have to invest so much time on finding libraries or how this is, this couple of things is solving in Flutter. It's like I downloaded that thing and it was working.
And then somehow I started looking or researching what was this thing because I didn't mention, but at that time it was like the first beta. So it was really the very beginning that I started experimenting. And the sad part of the story is that...
At that time, I had to put my effort in a project that required the use of React Native. So I didn't have the opportunity to continue playing around with Flutter because that project was more or less like three or four months.
But I think that also allowed me to understand that Flutter was really something better, something better probably than React Native at that time, because I also had the opportunity to play around with React Native, right? And I had a hard time back then, but...
And yeah, when that project finished, I remember that we went back to Flutter and said, okay, maybe this is the actual tool that we need to use. And we started taking Flutter more seriously. I mean, at that time, as I was saying, it was the beta. It wasn't even stable. So what we did was we...
try Flutter for a real project with a real client and we had excellent results with my partners so that's when we understood that that was like a really cool framework to start building applications and yeah that's how I initially did hear about Flutter it was kind of like a mistake obviously I would have here like
like Flutter after, but initially it was like just browsing the internet and trying to solve different problems that I couldn't do it at the time. But by downloading Flutter, I discovered how to do things differently.
Nice. I feel like I had a very similar experience. I still remember the first time I tried Flutter and my mind was just blown. I'd come from being a web developer. Couldn't imagine going back using any other tool going forward. Just seemed like my whole world as a developer had changed. How do you see the evolution of Flutter in the future? Or where do you think it's going in the next few years?
Well, that's a really cool, great question. I mean, I think that on one hand, if we go back to how Flutter was created, I think that, in my opinion, the goal of Flutter at the beginning was to solve some of the issues we experienced earlier.
by creating mobile apps specifically, right? Because at that time, I was already saying about that I was working with native and native has a really high cost because you have to build like things twice. But not only that, I think that even the experience in creating native mobile apps was really slow.
because you don't have things like hot reload or maybe because you... I mean, at that time, I remember that all the frameworks, either in Java or Swift, there were more or less... Well, not more or less, there were imperative frameworks, right? And I feel like those things kind of are not improving your productivity as a developer.
And yeah, like developing for native was really slow. You have to deal with different approaches, for example, not only the imperative programming paradigm, but also how the UIs are built using XML or the guess of
of iOS UIKit, but also you had to deal with constraints. And I think that you needed to invest so much time in doing things that were probably could have been easier, such as, I don't know, like laying out everything in different screen sizes, right? So
On the other hand, we had like other cross-platform solutions out there. It's not that Flutter is the first, right? But I felt that there were so many trade-offs on choosing one of them because you knew that you were not having the same experience as native because, I don't know, maybe you were
creating from a single codebase apps for Android and iOS but the performance wasn't the same so it was like a huge gap between cross-platform and native and I think that Flutter I think
kind of like solve this gap in a way because you got the same performance as native but also you have the benefit of the best tooling of a declarative framework that is easier in my opinion because you don't have to programmatically say what you're going to what you want to code but you have like everything hidden behind a more understandable API and
And yeah, I think that Flutter helped reduce the gap because it provided the best of both worlds. But yeah, that being said, I think that I would say that the idea was to reduce the amount of effort we as developers invest in creating a product with so many different platforms.
And yeah, I mean, I know that I'm only talking about mobile, but Flutter suddenly switched and tried to cover more platforms, right? If we go back in history, like the next one was the web and then we had desktop. In desktop, we have macOS, Linux, Windows. I mean, there are so many different platforms to cover. And yeah, I mean, I think that that platform
initial goal of Flutter that needed to solve the mobile problem of having two different platforms. Suddenly it turned out to cover more platforms, the web and desktop. In the case of web, I feel like it was different because I don't feel like it's trying to change or
Yeah, or put it in the same place as native traditional frameworks right in the web. Like, for example, JavaScript, all of the JavaScript frameworks, React, Vue, or Angular. But because in the web, as we know, Flutter doesn't behave the same, right? The classical question is, well, I don't have SEO in Flutter, or it's really hard to put SEO in Flutter.
So I think that in that sense, Flutter in the web was different, was trying to solve a different problem, not to compete with all of the frameworks that are out there. And yeah, it's time to, I mean, doesn't necessarily be a framework that needs to be understood by everyone.
by crawlers to have a well SEO. But I think that in software, we need to choose the best tool for the thing we want to solve. And Flutter is not the best tool if we are looking to build, for example, landing pages that have great SEO. But it is a great tool if we want to build different types of experiences in the web or progressive web apps or single page applications.
Because we are able to control every pixel of the screen and that lets you build really complex UI in a way that it would be really difficult to build it in other technologies. And lastly, we have to talk about desktop, right? That seems really immature nowadays. In what it is Flutter, it has evolved a lot.
And I feel like it's really difficult because there are three other platforms, right? Mac OS, Linux and Windows. And it's really difficult to grasp every one of them. And I really think that the way Flutter works, because it has to almost reinvent the wheel about each platform, because it doesn't rely on native platforms.
like, yeah, a component. So it's difficult to get to the point we are here nowadays. But the truth is that now with Flutter you can build for any platform. So I imagine that
this trend is going to be like continuing, not only for the major platforms, but also for things that we didn't anticipate back then, right? Like, for example, for the watches, for the Apple Watch, or different kind of screens. And I think that that's really useful because you as a developer can really learn a single framework, a single programming language, and kind of like
code for any platform that you want, probably the one that you're more interested in. And you'll have to invest so much time in understanding the tooling or the programming language behind that. For example, let's say you were working on an Android project and you want to start doing the same app for iOS. You have to invest so much time in understanding different languages, Swift,
or the tooling involved Xcode, right? And yeah, somehow by using Flutter, you can forget about that and just try a new platform. And also, I think that's really something that encourages you to try different platforms that you didn't even think that you were going to try. For example, the TVs, right? And because you know Flutter, you want to try this in a different platform.
But yeah, on the other hand, I feel like if we want to know what is happening in the next years in Flutter, I feel like as being an open source project, as it always has had, the roadmap is public, right? So we can know ahead of time what are the current investments that the Flutter team is doing.
I remember this year in particular we had the Flutter Forward event in Africa. I had the opportunity to go there. It was a really great event. But also it really allowed me to understand what was coming this year. And in fact, this was really important because as I was saying, we work in all of our projects with Flutter and that kind of like helped us to anticipate what was coming. For example,
One of the things that were announced back in February was the event, I think, or January, was, for example, FFI. There was like foreign function invocation that will certainly impact in all the plugins that we write today or maybe element embedding. And we start thinking about how we can get advantage of this and maybe probably
start thinking about Flutter as a tool that we can integrate in current web projects that we work with different projects and there are some cases where our clients are using native technologies in the web but yeah, this allowed us to have a different
offering, maybe you can combine both technologies in whatever the use case is the best, maybe use Flutter for certain types of things. It doesn't necessarily mean that you need to rebuild everything using Flutter for the web.
And yeah, other things about how the programming language is evolving, Dart behind Flutter, right? So what I'm trying to say is that, yeah, in a way, if you want to see how are going to be the next years, the cool thing about Flutter is that it's really an open source project. So you can have that information. It's not like you are going to be surprised or you have to guess as other type of frameworks.
And finally, I guess that I was more talking about what the Flutter team is investing, right? But the community is also important because the community also create different libraries, created different libraries, and you can know what are the interests, how community is interested on evolving the framework.
For example, what is coming in different projects such as a river board. So you have to keep in mind also how communities are using the framework so you can expect some major improvements in so many different things in the future. So that is also important while considering how Flutter will evolve in the future. Those are great points. What inspired you to become a Flutter and Dart GDE? Can you describe your journey a bit?
Yeah, sure. So, yes, I was saying earlier, I became a Google Developer Expert for Dart and Flutter. I think that, yeah, basically because I really focus on this technology, we basically work in every project using Flutter. And I think that a community was one key thing that inspired me. I had the possibility to meet a lot of people and colleagues that were working with Flutter.
Some of them also GDEs, not only in Latin America, but also in other parts of the world. And that really inspired me to pursue that path. I think that sharing my knowledge and my path and my point of view was also a really key part. I started sharing all of my knowledge by creating blogs, posts on Facebook.
on social media, on Medium, also sharing open source projects on GitHub and participating on even podcasts and live streams, among other things. And over time, I started gaining some trust and confidence that what I was doing was really helpful for the community and for the developers.
And yeah, that really inspired me to pursue the path. Also, the fact that here in my country, I live in Uruguay, there weren't any Google developer experts in Flutter. There were for other technologies. But I guess that, yeah, try to push the technology in the country was really important to me.
And yeah, in fact, I became the first one, the first GDE, at least in Flutter, in Uruguay. And yeah, that kind of like was how I was inspired. Yeah, also the fact that here in my company, Insomnio Software,
As we specialize in Flutter, I really had the opportunity to teach the way we use Flutter. So yeah, in a way, I was also sharing the knowledge and learning from my teammates here about the framework. So yeah.
And that's more or less how I became a Flutter GDE. Also, I have a blog post describing probably better than the whole path and what are the things that you need to take in consideration because often that's one of the things that people ask me, like how to get there. And yeah, there are some more bureaucratic things to consider
to do while getting there. For example, having an interview with one of the team members of Flutter. But yeah, this is really described point by point in one of my blog posts, so I really suggest to also read that one. Awesome. I'll make sure to link to the blog post in the episode show notes. Are the things in Flutter changed?
Yeah, I mean, I think that... I mean, we were saying, right, that the whole framework seemed really mind-blowing when you tried, especially if you were experiencing other types of frameworks. I think that...
one of the key things was that it was declarative. And I think that that trend is also something that native frameworks are trying to get to that point. For example, in Android and iOS, we have Compose and SwiftUI. So I think that validate the way declarative is here to stay. So
And what I'm trying to say is that it really has a lot of benefits, Flutter. So it's really difficult to see how we can change things or things that we would like to see change. But I think that we must be...
for pushing more improvements in the framework, we must recognize that there are things that need to be addressed just to improve. And I think that probably the thing about state management could really improve. I mean, we have so many libraries nowadays that I think that
are here to stay, for example, Block or Riverboat. So I think that the decision of not taking something as a standard was right because community created these awesome libraries. But maybe investing, I don't know, like another iteration on how the framework provides you, for example, things that bindings could be useful. I think that those things are things that
Other frameworks had invested time on that. I think that navigation was something that was really difficult to grasp at the time, especially when Navigation 2.0 went out. But again, the community created the GoRouter package and then it was
acquired by Flutter itself, so now it's in the Flutter repository. But maybe for someone who doesn't know about the history of GoRouter and all that, it's separated from the framework, right? Because it's
It's a higher level of abstraction of Navigation 2.0. So maybe having something more seamless that doesn't require like an extra package could be something useful, I guess. So people doesn't have to install another package. I guess that in a way the framework has to provide all the low level APIs that it does, right? And they made a really good job in
I'm really good at working in providing the next navigation API. We only had navigation 1.0 back then. Having everything declarative is in line with what we were saying, that declarative is easier than...
imperative. But yeah, those could be some points. Also, we have to mention that, yeah, I mean, when we are talking about changes in Flutter, also we have to talk about Dart because at the end of the day, Dart is a programming language we use. So if we continue to improve the programming language Dart, that will obviously have an effect on how we build applications in Flutter.
I feel that nowadays probably we are relying so much in things that has underhood code generation, right? You probably had to use BuildRunner or, I don't know, things like JSON serializer that underhood are creating code for you.
And I think that the idea of having metaprogramming in Dart would be really useful because we, by only having annotations in the code, we will be able to, yeah, don't rely so much on actually generating code for things that are really standard, right? And it could really improve the experience of the developer. I imagine, for example,
stop using JSON or SLO for classes that I know that are going to be...
like handling data from an API, right? And probably that will improve the dev experience. But yeah, I think that those things are probably coming. Certainly we heard that there is investing an effort in how that kind of API and this metaprogramming thing. So yeah.
So yeah, I would say that that could be some points of improvement. But again, it's really trying to push things so we can continue having the best experience that we currently have by creating these applications using Flutter.
I agree entirely. I find SwiftUI to be very interesting to compare to Flutter. I'd love to see Flutter move in that direction. What I find interesting about SwiftUI is how out of the box, it's much more opinionated. To me, a good example is if in SwiftUI, you add text to a screen, it automatically puts it in the center of the screen, which is what the user probably wants.
Whereas with Flutter, it defaults to the top left corner. You can obviously configure it, wrap it in a center widget, it gets centered. There are a lot of examples where SwiftUI out of the box just does what you expect or maybe what you'd want in an application. It's nice that SwiftUI poses its opinion strongly, and it makes the developer experience a bit smoother. So we touched on Block and Provider a little bit, and RiverPod. Do you have any specific thoughts on state management?
Yeah, that's a really great question. I think that most of Flutter developers had asked these questions like, what about state management, right? It was almost the huge problem that we had. And I guess that became a problem basically because the framework itself offers you a
an API to deal with state, but it doesn't necessarily provide you with a way of doing more complex things or a framework to deal with the state management problem. So I think that being one of the early adopters of Flutter, I guess that when I was trying for the first time Flutter, I
I needed to have something for this problem because it is a problem of any front-end framework, right? And initially I was using React. So I thought, okay, maybe we have to use the same as React that at that time was Redux. And so I started...
thinking, okay, maybe I have to create or look at a package in the app dev that already provides me with all of the functionality or the features about Redux. But yeah, I started also seeing what was the opinion about Flutter because it is a new technology and probably it has a different way of solving things. We don't have to take everything that we knew from other technologies.
And it was really confusing because the first year, I guess that one of the presentations, the block pattern was something that was really highlighted. And so, yeah, that initially, like, kind of, I was thinking maybe, okay, I have to invest time in understanding the block pattern because now I'm doing Flutter. It's not like Flutter is going to move in that direction, right? And that's why I initially started...
I moved back from Redux in React to block in Flutter and it was really a cool idea, the block pattern, especially for all of these reactive programming, right? Where you have everything
displaying on every interaction of the user. But I think that it was kind of boring because you needed to invest so much time in boilerplate and also the fact that using streams, it was more or less complex. I mean, it's not something really complex, but
Maybe something that it didn't flow so much, it wasn't so smooth. You require things like RxStart for doing some basic things like combining streaming and streams. And yeah, I think that it was more confusing the next year. I think we're talking about 2019 now when the next presentation was pushing provider as a state management solution, right? So
So yeah, now at that time we had Block, Provider, also other types of state management solutions that we mentioned, Redux, MobX. So there were plenty of solutions back then and it was really confused what solution we need to adopt to, right?
But yeah, all of them had their trade-off. At the end of the day, I really feel like you need to choose whatever you are more comfortable with. But yeah, keeping the story, we started putting our attention in both block and provider. But when we discovered the block library,
This famous package that we all probably had used that was created by Felix. I think that really changed the way we created apps using the block pattern because it really had all of the complexity about using RxDart and streams and all that.
and all the boilerplate code needed for creating a basic feature that it was like a lot because you needed to invest so much time in your blog and all the streams and the syncs and all of that. And yeah, I think that by adopting that library, we really increased our productivity in creating apps and we really fell in love again with blog, right? That we thought it was the...
the correct way to create apps and to handle state management. But also in terms of provider, we always kept looking at the library. So recently, well, I think it was this year, RiverPoll was launched as a stable. RiverPoll would be like the continuation of
of provider and it really provides you better ways to handle all of the state management problems that you probably would have in any project that in any mid or large project, right?
But yeah, I think that nowadays I will really suggest to not invest so much time in continuous solving this problem, but try to use Bloq or Riverboat that really work well and also have had so many iterations and community also
was pushing those libraries to be better and they experienced a lot of changes that nowadays it's really easy to use each of them but yeah maybe I guess that if you want to do something more predictable more boring in a way and more easy and easier in my opinion I will go for blocked because
I feel that it's really straightforward to create a pattern by using the DAS library. And also, if you're thinking about that you still require a lot of Baudelaire code for creating a simple feature, you can get benefit of creating everything using Bricks in Mason. So if you don't know that tool, it's basically a tool to create
pre-built templates for any programming language, in fact. It's more focused in Dart, but the cool thing is that you can create templates, and in a way you can create your own template to create a blog that requires, for example, certain type of bullet blade with your state and your events. So in that way, it's not...
not improving your performance by using Flutter blog because you can actually automate all of the things that you do by using that library. But if you want to explore something probably that will have more impact on your UI code, I guess that RearBot could actually
change the way you think about state management. It's not so easy as having like blog because in blog it's really I guess it's really boring because in a way unpredictable because if you think as
state as a function, the UI as a function of state and all the state is changing by the events. And that is really clear when using block because you have ultimately your screen, your widgets,
Then you have your block and then the state and the events. It's literally the definition. But in real-world pod, it's different because you have other types of ways of solving a different problem. But yeah, I think that in a nutshell, those are the things that I will suggest to invest. Not worrying so much in trying to create a perfect solution, but try to invest time in
in seeing either a blog or a riverboat that are great solutions. And yeah, I mean, also understanding the basics about Flutter, I think, stateless widgets or stateful or set state, inherited widget, those are things that still need to be
address because are like the very fundamentals of Flutter and it's really useful to kind of know how the framework works and what happened when you code set state and how the framework rebuild the whole screen.
because it will let you understand more in depth how Flutter works. But yeah, about ZMaggio, I would really suggest to embrace one of the most famous libraries, like I mentioned. Those are good tips. Is there any advice you'd give someone just starting out?
Well, that's something that I was suggesting just now. I think that, yeah, connected to what I was saying, I guess that if you're starting out with Flutter, it's really easy to confuse yourself because on one hand, the framework is not so opinionated. So when you initially create an app, you'll see that it's really bare bone. Nowadays, we have different templates and
as part of the framework and we have a lot of open source projects that cover high quality industry standards but still when you initially download the project it's like really bare bone you create an app and
For the first time, you start thinking about what is the correct structure to put in my projects, what are the folders. We don't have a well-defined pattern like MVC or MVVM, so it's really confusing. So I will suggest to start for the basic things, understanding, for example, how stainless widgets and stable widgets work. Also, inherit the widget that is a really crucial part of the framework.
And also how set state can rebuild your entire widget, how the lifecycle of the widget work. Because if you understand that, you can then start investing time on learning more complex things or things that will ultimately...
make your life easier such as this state management libraries that we were mentioning or I don't know like dependency injection libraries or so on but
I consider that it's really helpful to understand those fundamentals of Flutter because if not, you're going to start with things that are more high level and whenever you have eventually a problem, you won't understand exactly how to solve it. And if you invest time in understanding, for example, what the build context is, you will have more context to solve those problems and
and that will be easier. And how to start? I think that Flutter has done a great job in defining the documentation. It's a really well-defined documentation, so starting from there will be just fine. I know that maybe it's not the most
fun way to start like reading the docs, right? But in the case of Flutter, I think that it's really helpful because it's really well structured. It really covers absolutely like the basics and the more advanced things.
And maybe choosing an app you like and try to recreate it using Flutter probably will encourage you to try more things, right? Not only having the basic vanilla features
or having the, I don't know, the to-do list application, but also investing time in seeing how, I don't know, micro animations work in Flutter and those types of things that will eventually allow you to understand more concepts about the framework. So yeah, when you already have that cover and you have more confidence, I would then suggest to
to try more libraries or complex things so you can understand what are the good practices that are used by the industry. That's great advice. Flutter docs are absolutely amazing. I can't think of another project that I'm using that docs are as good as Flutter. Is there anything else you'd like to add or promote?
Yeah, of course. So yeah, from my side, I would suggest checking out the meetups that we have in our community. As I said, I'm from Uruguay. Uruguay, we have the capital is Montevideo. So I would suggest to see the meetups that we have done in Montevideo as well in Buenos Aires, that is a city really near Uruguay in Argentina.
And also all of the communities in LATAM, we are really in contact with them. In fact, the next month in October, well, depending on when are you listening to this podcast, but in October this year, 2023, we are having a big conference in LATAM that will be held in Medellín, Colombia.
And we're going to see a lot of people from the Latam community and also from all over the world. And I'm really excited about this event. It will be the first one that will be of this magnitude in Latin America. There are people from the Flutter team that is coming that are going to talk in the event. So yeah, I highly suggest to
to keep in mind that event. Also, I would like to promote some of my work that I did, like talks, open source projects, samples that I have on my GitHub and blog posts in my Medium account, and also my company blog page.
And yeah, in fact, I think that, yeah, being working with so many talented developers in insomnia software in my company allowed me to also be in touch with people
different projects on how we can use Flutter to solve really fascinating use cases. And we also try to communicate that in our page whenever we can, either in meetups or in blog posts, so we can have real experiences on how to use Flutter in real-world scenarios, right? So, yeah, that would be what I would like to promote.
Nice. I'll make sure to include links to all the resources in the show notes. So if you're listening to the podcast, check out the website. Gianfranco, thank you so much again for the podcast. It's great to hear your story and thank you for listening. Yeah, thanks to you. It was really nice to be part of the podcast. I really enjoyed it. And yeah, I hope to keep talking with you in the future and hopefully be here again. Definitely. That'd be great. All right. Talk soon. Take care. Bye. Bye.