Hacker News new | ask | show | jobs
by eseidelGoogle 2828 days ago
(Disclosure: I'm the Eng. Mgr for the Flutter project at Google.)

In general Flutter takes the position that Flutter should not limit your choices and your apps should be able to do anything the phone can do. Flutter apps are just iOS or Android apps, you can always open up the ios or android sub-folders and write as much Obj-C/Swift or Java/Kotlin code as you like.

Flutter's core engine/framework are all about providing portable UI, and leave everything else up to "plugins" (the opposite of say the Web were everything is baked into the core platform). Lots of plugins exist today, but there are always more to write: https://pub.dartlang.org/flutter https://flutter.io/developing-packages/ https://flutter.io/using-packages/

Responses to your specific asks:

Showing arbitrary native views inline with other Flutter content is actively in progress: https://github.com/flutter/flutter/issues/19030 (already possible to show views to the side of/on-top-of a FlutterView of course).

Full inline Google Maps is similarly in progress: https://github.com/flutter/flutter/issues/73

There are several community authored plugins for geolocation e.g. https://pub.dartlang.org/packages/geolocator.

AR is not something I've seen any work on yet, but it's always possible to throw up a full-screen ARKit/ARCore view using ObjC/Java your otherwise-Flutter-built app.

Flutter includes BoringSSL as part of it's runtime, some encryption APIs are exposed, there is probably more for us to do here. There is also pure-Dart crypto, e.g. https://pub.dartlang.org/packages/crypto and of course always possible to write your own wrappers around iOS/Android APIs (which someone may already have done too).

Audio/Video plugins exist today, e.g. https://pub.dartlang.org/packages/video_player

Some storage plugins exist (e.g. https://pub.dartlang.org/packages/sqflite), definitely more to write here.

Always more to do. If there is something specific you believe my team should help provide, please let us know: flutter.io/support. Hope that helps!

1 comments

Thanks for response, I have high hopes from Flutter, however having spend years in cross-platform mobile development, I just want to avoid the most common pitfalls. I hope this comment doesn't come out as snarky, I just wanted to give an honest opinion.

Not having first-class Maps is a deal breaker for many apps, and having only Google Maps support is not what most developers want. I would like to port my current app, but without proper maps support Flutter feels like a cousin of Ionic.

What's the FFI story of Flutter? Could you please point me to the direction of using ARkit view using ObjC/Java FFI? From what I've seen we've to wire an OpenGL View to achieve AR capabilities, but I might be wrong.

While the crypto package is a good start, I was more interested in having access to the Trusted Execution Environment (TEE) on iOS/Android. Do you have any work being done in that area? Lots of apps (e.g. Fintech) have security audits and these things could be a deal breaker.

A cursory look the Audio plugins show that it's a wrapper around AVFoundation etc. and they are capable of playing audio/video, I would love to see an official plugin with 1-to-1 feature parity with iOS/Android AV API.

Flutter is a great project, but it seems to be plagued by the same issues that React Native, and Xamarin has.