Google Bridges Android, iOS Development With Flutter 1.0 (arstechnica.com)
Google has launched Flutter 1.0, the first stable release of its open source, cross-platform UI toolkit and SDK. "Flutter lets developers share a single code base across Android and iOS apps, with a focus on speed and maintaining a native feel," reports Ars Technica. From the report: Flutter enables cross-platform app code by sidestepping the UI frameworks of both Android and iOS. Flutter apps run on the Flutter rendering engine and Flutter framework, which are shipped with every app. The Flutter platform handles communication with each OS and can spit out Android and iOS binaries with native-looking widgets and scrolling behavior if desired. It's kind of like applying a "video game" style of development to apps: if you write for a game engine like Unity or Unreal, those engines are packaged with your game, allowing it to run on multiple different platforms. It's the same deal with Flutter.
Flutter apps are written in Dart, and the SDK offers programmers nice quality-of-life benefits like the "stateful hot reload," a way to instantly make code changes appear in the emulator. For IDEs, there are plugins for Visual Studio Code, Android Studio, and IntelliJ. Apps come with their own set of Flutter UI widgets for Android and iOS, with the iOS widgets closely following Apple's guidelines and the Android widgets following Google's Material Design. Flutter is designed to be fast, with its custom app engine running on Google's hardware-accelerated Skia engine. This means 60fps apps on Android and iOS and a path for 120fps apps in the future. This is a bigger deal on Android than it is on iOS. The Google Ads app is already built on Flutter, which means Google "thinks Flutter is ready for prime time," writes Ron Amadeo. There's a list of other apps built on Flutter, too. Amadeo goes on to suggest that Flutter may be the path to Android's replacement. "Flutter ships its own app engine on Android and iOS, but in secret, Google is also developing an OS called 'Fuchsia' that runs these Flutter apps natively," writes Amadeo. "With Fuchsia, Google would switch from the Android apps written in Java to Flutter apps written in Dart..."
Flutter apps are written in Dart, and the SDK offers programmers nice quality-of-life benefits like the "stateful hot reload," a way to instantly make code changes appear in the emulator. For IDEs, there are plugins for Visual Studio Code, Android Studio, and IntelliJ. Apps come with their own set of Flutter UI widgets for Android and iOS, with the iOS widgets closely following Apple's guidelines and the Android widgets following Google's Material Design. Flutter is designed to be fast, with its custom app engine running on Google's hardware-accelerated Skia engine. This means 60fps apps on Android and iOS and a path for 120fps apps in the future. This is a bigger deal on Android than it is on iOS. The Google Ads app is already built on Flutter, which means Google "thinks Flutter is ready for prime time," writes Ron Amadeo. There's a list of other apps built on Flutter, too. Amadeo goes on to suggest that Flutter may be the path to Android's replacement. "Flutter ships its own app engine on Android and iOS, but in secret, Google is also developing an OS called 'Fuchsia' that runs these Flutter apps natively," writes Amadeo. "With Fuchsia, Google would switch from the Android apps written in Java to Flutter apps written in Dart..."
Microsoft purchased Xamarin, a native cross-platform engine, that could export to iOS and Android (and Windows Phone). They gave it to everyone for free. Yet, it still wasn't enough to make people to develop enough software for Windows Phone to make it viable in the marketplace. I tend to think Fuscia is going to suffer from the same lack of software.
A major difference is, unlike Google, MS supports their product line (you can still get Xamarin free). Whereas building an app on something that won't exist in 5 years seems silly. Also, Xamarin runs on .NET; this runs on Dart. I can find .NET programmers easily.
So, I don't think this is going to work. But I wish them luck.
Your ad here. Ask me how!
I just want to get apps out of my HTML. Why can't we have a way of communicating over the internet that's safe and static. That way, I don't have to arbitrarily run code from 100 included sites (any of which may get compromised) to read your damn article.
I'm all for SPAs like Facebook existing... and even running in the same browser. But I just wish they could have just been .js files navigated to (or whatever), so I can tell my browser not to go there unless it's whitelisted.
Your ad here. Ask me how!
Actually this compiles to native and uses the native look, running at about 60FPS. I've been developing in Flutter for about 6 months now and it works really well.
There are major problems with this. Even tough Java isn't the greatest programming language (but then again no programming language is). The greatest benefit of using Java is that there are now gazzillions of libraries and utilities to do everything under the sun, no matter what you need to to do you know there exists some library available to do it, so you don't have to code absolulety everything from scratch. If you switch to a spanking new language it takes probably a decade or so for the community to get up to speed with available libraries and that is only if the language is popular.
I hate all these new languages that are popping up, because there is nothing special about them, anyone can make a new programming language, that isn't the hard part. But the actual value of a programming language is in the availability of pre written solid working code that you can use in your projects.
I've been working with Flutter since it was announced at Google I/O this year. I've been very impressed with the performance. In my opinion, it's bit slower than a Swift based iOS app, but actually faster than a Java or Kotlin based Android one due to the fact that it's 100% AOT compiling and there's no JIT involved.
It's getting faster over time too. When I first started working with it, it was completely unusable on a GPU-less Android Things developer board I had. I tried recompiling yesterday. It's still slow (which is to be expected on a GPU-less developer board), but it's actually usable now.