What's New For Mobile App Developers?

미연

·

2022. 5. 16. 12:40

Flutter version 3 was released, and version 3 sounds like a big new version that changes everything, or at least a lot, but whether it's really a big important new version and change for you,simply depends on what you're using Flutter for.If you are primarily using it for mobile app development for iOS and Android, as I'm doing, then it might not be that next big version that changes everything and introduces a ton of new features.If you are on the upper hand, exploring Flutter to build cross platform apps, most importantly also desktop applications for macOS, Linux and Windows, then Flutter 3 might be a major step up for you.Now to find out what's new in Flutter 3, let's simply explore the official announcement blog post, because that is probably the best source to learn which big new features were introduced.And if you take a look at that blog post, which is all attached to this post by the way, then you will quickly notice that it starts with desktop, Flutter for Desktop.It's now ready for production on all desktop platforms and especially Linux and macOS have reached stable support now, which means it should now be safe to use Flutter for building desktop applications for Linux and macOS.It was stable for Windows before version three already, but now it's basically stable for all desktop platforms.And that's why they released this new major version.Now you can argue about the versioning policy used by Flutter.They're definitely not following semantic versioning in the traditional sense I would argue, but that's up to them.Here, the major new version was released because now Flutter is stable for all desktop platforms.That's the main reason.And if you scroll through the rest of this announcement blog post, you in the end learn that there are more desktop related changes or features which are now ready for usage.And if we scroll down further, we then find the first pieces of information for Flutter for Mobile which is that now it supports foldable phones.So basically, tablets support which they had before, now also for tablets that can turn into phones, you could say, because that's basically what foldables are, you could argue.So they have better support for this now.They support iOS variable refresh rate.So their rendering engine is able to better work with that variable refresh rate, which is of course great.But if we read through that, we can clearly see that there aren't any changes yet that would really have an impact on your code if you are focusing on Flutter for Mobile.If we continue scrolling, we learn that there also are some updates for Flutter for Web, for example, it now should be able to render images more efficiently.Though I will say that personally, I'm still not 100% sold on using Flutter for Web, because I'm yet to be convinced that it really gives me the same performance and usability as a traditional web app built with traditional web technologies does, but that opinion might of course change in the future.Now, still, nothing major about Flutter for Mobile.And that's what I meant initially in this post.If you are primarily using Flutter for mobile app development, up to this point, there isn't any change that would really impact you.Now, if you continue reading, we also got performance improvements, which is always nice, but which you get for free, basically, no adjustments in code needed here.And then here at the end, we reach the parts that are most interesting to me, because here they're talking about Material 3 which is the next iteration of the Material Design Language, and the support for Material 3 in Flutter.And the important thing here is that now we have more widgets that support Material 3, so Material Design 3.But it's still opt in. It's not the default.The default still is the old Material 2 design, and we also still don't have all components or all widgets migrated to Material 3.Indeed, there is a link to a GitHub issue where you can track the Material 3 adoption of Flutter widgets.And in here, what you learn is whilst a lot of widgets have been migrated already, there also are many widgets which have not been migrated yet.And that is what matters most to me because that's actually a part I'm looking forward to and which I then will probably also use as a trigger once we have all those widgets migrated, and once Material 3 is the default for me to for example, rerecord my Flutter course, if needed which probably will be the case, but right now we're not there yet.Right now, we're still using that old Material 2 Design Language or those old Material 2 widgets, and the old Material 2 theming as a default.And Material 3 which is the new Material version is not fully supported by Flutter yet.And therefore, if you are primarily into mobile development with Flutter, that's actually a thing I'm looking forward to because I like working with Material, and right now I can't use that latest version because we don't have full support for it here in Flutter yet.And this issue by the way which is all attached to this post, is a great place to stay updated with the support of Material 3 in Flutter.So, Flutter 3 does not have full support for Material 3 yet.And if you wanna use it, it's opt in and only certain widgets support it.We have to wait for a future release for Material 3 to be the standard default for Flutter, and for all widgets supporting Material 3.Now a nice feature we do get with Flutter 3 are theme extensions, which makes theming a bit more convenient and which makes customizing themes a bit more convenient.And I will explore this feature in my course in the future as well, because I'm interested in this as well, but I first have to work with it a bit more.But the idea basically is that it should get easier to add custom colors and custom color names to a Flutter theme to then use it throughout your entire Flutter app, so that you're not stuck to the default colors, or adding your own colors is super tricky, but that that instead gets a bit easier.So that's a nice feature which should make Flutter apps more customizable in the future.We then also got a list of some breaking changes.So, adjustments you might need to make to your code to make sure that it still works with Flutter.And for example, we got some deprecated APIs, which were deprecated in the past, which now should be removed with the release of Flutter 3.Now we find a list of those removed APIs here, and there are some niche APIs.The most important API that seems to be removed right now are the old buttons; flat button, raised button, outline button.I'm saying seems because at least for me, I upgraded to Flutter 3 and I created a new Flutter project, and I was able to use those old buttons without issues in there.Sure, I got the deprecation warning, but I was able to still use them.So maybe they weren't really removed or they forgot it, whatever.You can of course easily switch to those new buttons.For example to switch from raised button to elevated button, it's basically a code change like this.And if you had some styling or a custom color attached to the raised button, then switching is as easy as setting the style value, style argument for the new button, and then setting it to a style like this.You also have an official migration guide which you find here, which gives you all the details about those new buttons and how to migrate your code from the old buttons to these new buttons.And that is basically it.We got more removals here, as I said, many of them for niche configurations or features, which you might have not used too often.Noteworthy is probably the Scaffold change here that you should use Scaffold Messenger instead of Scaffold now, if you wanna show a SnackBar, but that's a really tiny change.It's just the name that changed as you can see here.But other than that, there aren't any major changes for Flutter developers that are primarily targeting mobile.Now don't get me wrong.Flutter 3 is a major milestone because being able to use one at the same code base with minor adjustments in the code maybe, to then ship applications for all platforms, mobile, desktop, and web is huge.And Flutter got so far over the last years.That's really amazing. It is an amazing technology.I'm personally not that much into desktop application development, but just because I'm not does not mean that no one is of course.And if you are interested in building cross-platform desktop applications, then Flutter 3 of course is a major step forward, and you might wanna play around with it to explore how you can build desktop applications for macOS, Linux, and Windows with it.If you're primarily interested into mobile development, then it's probably some future release of Flutter that gives us more nice features, like Material 3 support.This is your weekly update on the coolest developer news from Google.Google IO took place on May 11 and 12.And in case you missed it, here's what you need to know from this year's online event.First up is AR.And the future of augmented reality is looking bright.Now, the new ARCore Geospatial API is here to use.Developers can easily create immersive experiences on Android and iOS at no cost and make them available in 87 countries.You can also place AR content in real world locations without being there or having to scan the physical space.With ARCore, developers have access to tools they need to build experiences that seamlessly blend the digital and physical worlds.We're also releasing Balloon Pop, an open source demo to give you an easy way to get started.Have fun extending Balloon Pop for your own applications.Over in Android, Wear OS is here.In collaboration with our joint platform with Samsung, the Google Pixel watch is coming this fall, bringing together the best of Fitbit and Wear OS.We're also announcing the beta of Jetpack Compose for Wear OS.Now, with Compose Wear OS, you can bring your skills to build across form factors, from larger screens all the way down to the screen on your wrist.We've also added components such as navigation, Health and fitness are also popular apps on wearables.And Health Connect, a new platform simplifying connectivity between apps can help make it easier to reach more users with less work.Use a single set of APIs to securely access and share health data on all Android devices.Samsung Health, Fitbit, and Google Fit will all be adopting Health Connect.You can download the Health Connect SDK available as a Jetpack library.We can't forget about the large screens either.In 2022, we'll see more than 75 new Chromebook models.And coming next year will be the Pixel Tablet.And of course, for updates on developer productivity and Android, like multi-screen API, screen mirroring, and live edit, make sure to watch the full IO recap linked in the description.Up next is web.dev, where you can find updates to Chrome's performance improvements which translate to faster experiences for you and your users.In the latest Chrome release, you can also find a new performance insights panel to DevTools.It provides contextual guidance right in your code on improving your vitals, making it a great companion to web.dev.And finally, we're working on the privacy sandbox to rethink online privacy and enable personalized experiences that don't rely on tracking users across apps or sites.Trial versions of the privacy sandbox APIs are currently being tested in Chrome.Moving on to Flutter, we're announcing Flutter 3, where you can build high quality experiences for all six platforms, all from a single code base, giving unparalleled productivity.There's also new performance tooling, Material 3, foldable device support, and new Dart language features that we think you'll enjoy.Flutter also unveiled the Flutter Casual Game Toolkit.It's a starter kit of resources including a simple game, learning materials, community spaces, and more, all so you can go quickly from a great idea to a published game.And lastly, Flutter support in Crashlytics is here.Track fatal and informational errors with the same set of features that are also available for iOS and Android.This will help resolve critical issues quickly before they impact a large number of users.Take advantage of these updates by adding the latest version of the Crashlytics for Flutter plug-in to your app.Check out the post to find all the updates to Flutter.Let's get into Firebase where we're launching the new app quality insights window in Android Studio.This will help you discover, investigate, and reproduce issues reported by Crashlytics, so you no longer have to switch between tools.Firebase Extensions events are also available, allowing you to customize an extension with your own custom code.This way, the extension becomes the baseline for your integration while still allowing you to make it your own.To get started, visit the extensions page on the Firebase website.And lastly, Firebase App Check is now generally available where you can help safeguard your data, protect your users, and control who has access to your resources.You can use these App Check protections with Firebase, Cloud, and even API endpoints on your own custom servers.Speaking of Cloud, there are some new updates here as well.With the newly announced Cloud Run Jobs, you can execute code to completion on the same highly scalable Cloud Run platform, only paying when your jobs are executing and without managing infrastructure.AlloyDB for PostgreSQL was also spotlighted.It's a new powerful, relational database from Google Cloud that is fully PostgreSQL compatible.AlloyDB is also highly available and is more than four times faster than standard PostgreSQL for transactional workloads.With ML-Powered automated systems, you don't have to provision storage, manage memory, or worry about performance tuning.To learn more about all the Google IO announcements and updates, check out the full developer recap post, which will be linked in the description box below.Please remember to like, subscribe, share, and stay safe.I'm Emma for "The Developer Show."Thanks for watching, and we'll see you next week.Crashlytics, so you lo, no longer.Low nonger.