Together with colleagues from the Flutter community, we are making a podcast about Flutter. The first episode aired on January 29, 2019. Since then, every month we have been inviting colleagues from the Flutter world and other IT areas: we discuss news, events, technical nuances, give advice from combat experience - in general, we look at Flutter from different angles.
How and why we are doing the podcast, I spoke in detail on vc.ru . In this article, I reviewed the most interesting and popular episodes of the Flutter Dev Podcast.
I came to Flutter from Android: I learned about the new technology on the sidelines of the conference from Zviad Kardava, Developer Relations from Google Russia, who later became the first guest of our podcast. The idea to create a media about Flutter arose because we were one of the first in the country to start doing something on this framework: the niche was free.
Flutter is a cross-platform application development technology for iOS, Android, web and desktop from Google.
I launched Flutter Dev Podcast with my colleague Artyom Zaitsev - we work together at Surf . At that time, we practically did not know anything about Flutter, and, one might say, we grew up along with the podcast. In parallel with the podcast, Flutter was developed in Surf. We now have a whole Flutter department with 13 people . The guys and I maintain a public SurfGear repository on GitHub , where we post all sorts of usefulness for developing on Flutter: a set of libraries, standards, tools.
Thanks to Google and personally to Ekaterina Vinnichenko and Zviad Kardava for supporting our podcast and for inviting me to review the episodes on the Google blog.
Flutter Dev Podcast Releases: Fresh to Early
"A whole platform for earning all kinds of people"
# 19 Yandex.Pro
Gennady Evstratov: "The global goal is to make a huge Frankenstein, in which the percentage of Flutter will grow, grow, grow, and you can just take the Android code with a small spatula, throw it out and leave just a Flutter application."
The Flutter team from Yandex are regular guests of the podcast. In early issues, they talked about Yandex.Taxometer - this, by the way, also got into our review. Now Yandex.Taxometer has been reborn into Yandex.Pro. The iOS version is written purely in Flutter, and the Android version is a hybrid: the purely Flutter version has not yet caught up with the functionality of the Android version, so it cannot be thrown out yet.
Guests from Yandex tell why and in what form Flutter penetrates into the company's projects: the framework is already used for individual modules in Yandex.Lavka, Yandex.Taxi, Yandex.Go. They talk about what prevents to switch entirely to Flutter right now, what problems were revealed when working with Fish Redux due to scaling, and what a developer will need to go through in order to integrate Flutter into a native application.
"I do a lot of things on the Flutter team, but my main concern is that external developers have a good experience."
# 17 Flutter Day 2020
Chris Sells: “You can always write native code in your application or even create your own plugin. If you write your own plugin, and we don't have one, please share it with the world. This is how the Flutter ecosystem grows. "
This is an unusual episode in many ways: for the first time we hosted a part of the podcast in English and for the first time we made an online broadcast on Youtube.
Chris Sells, a product manager from Google, came to visit the Flutter Dev Podcast: together with the Flutter team, he is developing Flutter. We discussed various things: the ability to simultaneously debug on a large number of devices and emulators, where did Dash - the Flutter symbol come from, what problems the Flutter command has in remote work mode.
Chris talked about how Null safety will be implemented and what affects the application architecture the most (and this is not a choice of State management). You will find out whether Flutter will have its own Jetpack, why the Reflection API was removed from the early versions of Dart and whether it will be added back, whether it will support data value objects. The presenters also discussed with Chris compiling Flutter applications for Arm processors in new Apple devices, which prevents the release of an alpha version of Flutter with support for building applications for Windows and Linux and whether Flutter will have dynamic code loading.
"Media is the type of human activity where everything always goes wrong the way you want it to."
# 16 Meduza
Boris Goryachev : “I met the resistance that I always meet with native developers. When they hear something about a cross-platform, they immediately get into a pose, they say that it sucks, that everything works poorly, everything is slow and generally sucks. Their arguments are something like this:
- What if you need to show this, this, this?
“But we won't have to show it.
- No, but what if you have to?
- Very unlikely.
- Well, bad performance!
- Well, sort of like not.
- No, well, bad, on native it will be faster.
The new Meduza app is written in Flutter from scratch. In Episode 16 of the Flutter Dev Podcast by CTO Meduza, Boris Goryachev explains why Meduza needs it. We start from the beginning: we discuss why the concept of mobile first failed in 2014, we talk about difficult relationships with native developers, the amazing world of media development, games with fonts, the hardships of working with WebView and Backend Driven UI. And Boris also responds to the claims of Artemy Lebedev.
Detailed retelling of the Flutter Dev Podcast release with Boris Goryachev
"I originally wanted to do something similar to VS Code, but better."
# 15 Flide - IDE on Flutter
Andrey Lesnitskiy: “I started a product for myself in order to increase my productivity. If it increases my productivity, it can also increase the productivity of all developers in the Flutter ecosystem. "
Andrey Lesnitsky from Minsk writes a development environment in Flutter. He was inspired by Android Studio and VS Code, and tries to take the best of them - but wants to make the IDE his own. Why did he choose Flutter for the project: is it a challenge or a special idea? How was the product conceived and how did it turn out?
In the episode, Andrey tells how he came up with this idea, what the main challenges he faced and what is the state of the project today.
“I really enjoyed being a taxi driver. If the rates were higher, I would retrain "
# 11 Yandex.Taxi
Gennady Evstratov: "The security service said: 'React Native - only through their corpse'."
The Yandex.Taxi team makes a "software package for the taxi service" on Flutter - the Yandex.Taxometer application. In the issue, they tell why they first sawed a project in React Native, but then switched to Flutter, why Yandex employees tax at night and due to which the application on Flutter is made two and a half times faster than on Android. And also about the hieroglyphs in the Fish redux documentation, the Yandex Map Kit integration and its own widget pack.
"CI / CD will do everything for you, even if you don't have Apple technology"
# 9 CI / CD - Jenkins, Bitrise, Codemagic
Mikhail Tokarev: “When we talked with the Flutter Team about CI / CD, they said very clearly:“ We want to see CI that even my grandmother could use ”. It was with this setup that we started making Codemagic. "
Together with CTO Codemagic, we figured out why we need CI / CD, at what point it becomes clear that we cannot do without it, and what local builds are fraught with. We compared Jenkins, Bitrise and Codemagic in all the parameters they could reach: features, limitations, stability, customization, prices. We found out where Codemagic came from and why it is positioned exactly as a CI / CD for Flutter, and not for everything in a row, what is its difference from other tools and what compensation is due to the user if the assembly fell due to the fault of the tool.
"Works on everything with a screen"
# 7 Everything about the cross-platform
Maxim Salnikov: “Stakes from our process just drop out, we just don't need them. This is a common web application that you can take and install on your device if you want. "
Maxim Biyanov: “Xamarin has approached maximum maturity. To the state when all the main problems have been solved and extensive development has begun. There are chips that are hardly noticeable. The focus is now on native iOS. "
Alexander Fedorov: “React Native is an intermediate solution between native and web. The native is faster, the web is slower. Something in between is React Native. Probably the biggest plus is that it is written in JS. There are a lot of JS developers, the entry into development is fast. React isn't very complicated either. "
Artyom Zaitsev:“The key difference between Flutter and React or Xamarin is that it has its own engine under the hood. And he doesn't use native elements, he just draws the same. "
Roman Yatsyna: “Kotlin Native as a whole is the same Kotlin, just restricted. Nowadays it is very difficult to find someone who would agree to write in Java. Many people leave their companies outright because there is no Kotlin there. "
Alexander Efremenkov: “Let's start with the fact that this is C ++. C ++ is not worth learning if you don't want to dig into how memory is allocated, how it works, and try to delve into the close work with hardware. "
React Native, Xamarin, PWA, QT, C ++, Kotlin Native, Flutter ... Cross-platform is a fairly general word, behind which there are many different technologies.
Why take a technology, scope, threshold of entry, pros and cons - in this issue we discussed the criteria for choosing technologies for your stack.
"Mobile developers came to Flutter, looked at async / await and were horrified."
# 6 Asynchronous
Evgeniy Kot: "To understand streams, you need to understand how plumbing works."
There is async / await, Future API, Stream API, there is a Compute method, there is even RXDart. How to understand from this diversity what should be used from this and what should not. What to do with all this async if you come from the world of iOS or Android. Why isolate is like a pie off the shelf, and how Flutter handles asynchronous operations when Dart is single threaded.
"All virtual machines really look the same"
Listen to episode # 5 of Dart VM
Vyacheslav Egorov: “You can start with the Dart VM name - it's a little wrong. It is correct to call it Dart Runtime, because it does not always represent a virtual machine. People who imagine a virtual machine, they imagine that inside some bytecode is executed. It’s probably more correct to call it the Dart Runtime. ”
Vyacheslav Egorov, developer of Dart VM, tells why Flutter is written in Dart, what black magic Hot reload uses, what are the features of Garbage collector. About compilation from the 90s, hot functions and Flutter-web. How do isolates in Dart relate to multithreading, what a Flutter application is compiled into in a release build, and what Flutter has reverse engineering.
All Flutter Dev Podcast on Soundcloud