9 ms·
Flutter: UI platform designed for ambient computing
- yesimahuman 7y agoBizarre reading the vision for this "ambient computing" platform given that the web platform has already been doing that for years and you could imagine the Chrome team using nearly identical terms to describe what their mission is.
- arkanciscan 7y agoIf only someone at Google could figure out how to put a web browser on a Nest Hub!
- pjmlp 7y agoIf you haven't done so, you should spend some time watching the tracks from Google IO. The way some presenters speak, it seems that other OS or framework groups are competition that belongs to another company, instead of teams that work for the same employer.
- skybrian 7y agoApparently a few of the folks working on Flutter used to work on Chrome and started thinking about what they could do if they could start fresh. There are still a lot of older api's that web browsers have to support.
- IshKebab 7y agoSure, but the web is never going to be a great platform for apps on mobile or embedded devices.
- yesimahuman 7y agoYou'd be surprised how many popular and widely used mobile apps run a significant portion of their experience with web tech. Depending on who you ask it is a great platform for mobile apps (not that it can't be improved of course!)
- pjmlp 7y agoWhile I agree that overall native apps are a better experience, and strive for using them, many apps on the store are perfectly doable as PWAs. Just like many games that people play on the train, which are yet another variation of matching stuff, are easily doable with WebGL.
- arkanciscan 7y agoScanned the whole article, still don't know what "ambient computing" is. I suppose they mean writing apps that run on the little microphones they want us to put all over our houses. Seems like I remember there being a platform that was built in the '90s to run on any device. What was it called..
- coldtea 7y ago>Scanned the whole article, still don't know what "ambient computing" is. As TFA says: "In this emerging world, the focus starts to move away from any individual device towards an environment where your services and software are available wherever you need them. We call this ambient computing". In other words, going from devices as siloes you use one at a time, each with each own apps, accounts, data, and so on, into using a plethora of devices that play together, can run appropriate versions of the same apps, give you access to your data from wherever you are, switch your workflow from one to another, and so on. So like multi-platform apps + cloud storage + what Apple calls "Handoff / Continuity" or MS calls "Timeline" + IoT...
- erokar 7y agoIt's just a re-branding of run everywhere, i.e. they are trying to replace JavaScript.
- soneca 7y agoNot sure if it is counter-intuitive, but I was deciding between React Native and Flutter for a project and this announcement nudged me to decide on React Native. I am pretty sure I just want my app to run on Android, iOS, and web. If Flutter's vision is making it possible to also design to TVs, smartwatches, thermostats, doorbells, fridges, etc it means that there will be trade-offs, added complexity, overhead, design choices to support that "ambient computing" vision. I don't want any of that, and it is good to know that in advance. RN it is.
- christocracy 7y agoI’m a professional plugin developer. I make plugins for Cordova, React Native and Flutter. Flutter is my favorite. You should do a hello world at least.
- mac_was 7y agoWhere do you sell Flutter plugins? How do you come up with ideas?
- christocracy 7y agoOver 5 years ago, I created a background-geolocation plugin for Cordova. I later ported it to React Native and now flutter. It’s not every plugin that could be monetized. Geolocation, especially in the terminated state, is a special case. https://github.com/transistorsoft/flutter_background_geolocation https://github.com/transistorsoft/flutter_background_geoloca... Background geolocation for iOS / Android is all I do.
- kd22 7y agoIs building plugins faster/easier than building apps (using Flutter)? Looking to learn flutter so wondering if I should build a plugin or app when going beyond hello world.
- christocracy 7y agoBuild an app. There are many things in the plugin api that you don’t interact with in the app. The plugin api is the bridge between the front-end and native iOS / Android apis.
- whytaka 7y agoThis is what I understood from all the hubbub around Fuchsia with Flutter powering the interfaces.
- kyrra 7y agoIt's not called out in this blog post, but back at Google I/O earlier this year, they did say Fuchsia is powering the Nest Hub and Nest Hub Max. So those smart displays Google is making are Fuchsia + Flutter.
- jasonvorhe 7y agoActually, both Nest Hubs run on the Chromecast-platform, not on Fuchsia[1]. However their UI is actually made with Flutter[2]. However, both devices (as Sherlock and Astro respectively) exist in the Fuchsia repo and so it's safe to assume that they're developing Fuchsia on them and since Flutter is multi-platform they can replace the OS underneath via software update, if they chose to. [1] https://www.reddit.com/r/Fuchsia/comments/blyutb/the_nest_hub_devices_are_built_on_fluttercould/?utm_medium=android_app&utm_source=share https://www.reddit.com/r/Fuchsia/comments/blyutb/the_nest_hu... (See top comment) [2] https://twitter.com/timsneath/status/1125868510645669888?s=20 https://twitter.com/timsneath/status/1125868510645669888?s=2...
- kyrra 7y agoAhh, good to know, thanks!
- modeless 7y agoThe Nest Hub has one of the laggiest touchscreens I have ever had the displeasure of using. Not a good showcase if you ask me.
- DonHopkins 7y ago31 years late, Google attempts to re-brand "Ubiquitous Computing" (aka "Calm Technology") as "Ambient Computing". At least it sounds more mellow, less intrusive, unwelcome, penetrative, and phallic than the other attempt at rebranding UbiComp as "Pervasive Computing" in order to sell it to the military. https://en.wikipedia.org/wiki/Ubiquitous_computing https://en.wikipedia.org/wiki/Ubiquitous_computing https://en.wikipedia.org/wiki/Calm_technology https://en.wikipedia.org/wiki/Calm_technology https://www.researchgate.net/post/What_is_differents_between_Pervasive_Computing_and_Ubiquitous_Computing https://www.researchgate.net/post/What_is_differents_between... https://internetofthingsagenda.techtarget.com/definition/pervasive-computing-ubiquitous-computing https://internetofthingsagenda.techtarget.com/definition/per... >The term pervasive computing followed in the late 1990s, largely popularized by the creation of IBM's pervasive computing division. Though synonymous today, Professor Friedemann Mattern of the Swiss Federal Institute of Technology in Zurich noted in a 2004 paper that: >Weiser saw the term 'ubiquitous computing' in a more academic and idealistic sense as an unobtrusive, human-centric technology vision that will not be realized for many years, yet [the] industry has coined the term 'pervasive computing' with a slightly different slant. Though this also relates to pervasive and omnipresent information processing, its primary goal is to use this information processing in the near future in the fields of electronic commerce and web-based business processes. In this pragmatic variation -- where wireless communication plays an important role alongside various mobile devices such as smartphones and PDAs -- ubiquitous computing is already gaining a foothold in practice. You say pervasive, I say perversive. Let's call the whole thing off.
- losvedir 7y agoWow, talk about burying the lede. I'm not sure how I feel about Google's so-called "ambient computing" idea that they were all about at this year's Google I/O, but Flutter being championed for desktop and web are huge! Does this mean the end of Electron, finally? They say it runs on macOS, I hope they get to Windows and Linux soon. I built a little Android/iOS app in Flutter and it was a real delight. I didn't especially like Dart at first, but it was easy enough to pick up and then got out of the way more or less. I'd love to be able to easily run an app like that on the web. I know Dart's original vision was to replace JS but it seems they backed off that a bit. But it sounds like it's back on the menu! I don't know if this changes anything exactly, in terms of what Flutter can do right now. I think web/desktop have always sort of been there. But what's new for me is this perspective that they intend to support other devices beyond mobile. I wasn't really sure about that before, since it seemed mostly tailored to just iOS/Android when I was working with it.
- ZeroCool2u 7y agoLast year I was able to get a simple HN browser app running on both desktop Linux (Ubuntu) and Windows 10 as well. They weren't perfect, but I'm certain support is even better now.
- thosakwe 7y ago> I know Dart's original vision was to replace JS but it seems they backed off that a bit. More than "a bit" - replacing JS hasn't been the goal for several years now.
- pjmlp 7y agoMicrosoft's team for "React Native for Windows" and now "React Native for macOS", keep showing benchmarks how resource hungry Electron is versus C++, C# and React Native. So I keep hoping that they could eventually trigger a move from Electron to React Native for VS Code, the only Electron app I care to waste my time on.
- ttcbj 7y ago+1 for flutter being really fun to work with. Its the most fun I have ever had working on mobile.
- erokar 7y agoWhat are people's impression of Dart as a language, compared to e.g. Typescript? Reviews so far seems lackluster. Does Dart have anything that sets it apart from JS, like immutable data structures out of the box? How's the support for functional programming, e.g. first order functions, closures, higher order functions like map, filter, reduce, etc? How advanced is the typing system, are we talking Java level or significantly more powerful?
- pjmlp 7y agoLess than Java, while doing the @Override mistake instead of doing a proper keyword.
- gresrun 7y agoFull disclosure: Google employee As an engineer that's written a lot of (old-skool) JS, Java, Obj-C, C++, and PHP, it is a real pleasure to develop web frontends with Dart. Immutable Data Structures: Not out-of-the-box but we use the BuiltValue[0]/BuiltCollection[1] libraries extensively internally Functional Programming: Dart's Iterable[2] and Stream[3] classes have all the standard higher-order functions, like map, filter/where, reduce, fold, etc. Type System: With Dart 2.0[4], the type system is really great. Expressive with good type-inference, support for generic types, mixins, & typedefs. It's actually better than Java, IMO. Also, the async story is fantastic! JS has caught up with Dart in some areas recently but Futures, Streams, async/await, & async*/yield, have long been first-class members of the Dart language.[5] [0]: https://github.com/google/built_value.dart https://github.com/google/built_value.dart [1]: https://github.com/google/built_collection.dart https://github.com/google/built_collection.dart [2]: https://api.dartlang.org/stable/2.7.0/dart-core/Iterable-class.html https://api.dartlang.org/stable/2.7.0/dart-core/Iterable-cla... [3]: https://api.dartlang.org/stable/2.7.0/dart-async/Stream-class.html https://api.dartlang.org/stable/2.7.0/dart-async/Stream-clas... [4]: https://dart.dev/dart-2 https://dart.dev/dart-2 [5]: https://dart.dev/codelabs/async-await https://dart.dev/codelabs/async-await
- leonidasv 7y agoHow would you compare Dart to Kotlin, in both typing system and functional programming support?
- s_y_n_t_a_x 7y agoUgh, another Flutter media campaign. Why would you ever learn a Google language and use a Google framework, especially a framework that has to emulate all other platform UIs. How long until it's shut down?
- pjmlp 7y agoFor the same reason people learn Android Java, and use Android to publish Android apps.
- s_y_n_t_a_x 7y agoBut this is to prevent having to learn Java to publish Android apps.
- pjmlp 7y agoAndroid uses a Java dialect, now replaced by Kotlin.
- jasonvorhe 7y agoFlutter has been introduced in 2015 while Dart has been around since 2011. Since Google seems to have bold plans for their Fuchsia operating system to replace Linux for mobile, laptop and smart home devices and is using the framework for actual devices they already ship to customers, I'd say it's safe to assume that Flutter and Dart won't be abandoned anytime soon.
- s_y_n_t_a_x 7y agoIt's not safe to assume if it's not part of their core business, especially if it's what you build your software from. Bold plans are usually where Google fails.
- Hixie 7y agoWe don't really "emulate" the UI on Android, FWIW. We have one of several implementations of Material design, another of which is designed for the Android View hierarchy, another is designed for JS on the Web, and so on. In some respects Flutter's implementation is actually ahead of the others, so if anything, they're "emulating" us. :-)
- pjmlp 7y agoI guess the folks doing Jetpack Compose better hurry up getting a stable version out.
- ble52 7y agoAm I the only one who sees all these Electrons, React Natives, Flutters, etc. as mostly middle-management-pleasing technologies made for crunching cookie-cutter apps with the least amount of outsourced developers as possible? Whenever I see Slack, Spotify, VS Code, or any other "universal" app, it always strikes me as a completely out of place it looks and behaves, no matter what OS it's running on. Yes, it's relatively easy to make a multiplatform app with these technologies, ticking all the boxes specified by bean-counters, but in the process it usually completely sacrifices all the little details, integrations, patterns, etc. that make platform-specific apps such a pleasure to use. If you're used to apps behaving in a predictable manner, e.g. having similar shortcuts, similar icons having the same meaning (and other way round - similar actions having the same icon), then e.g. seeing a Material Design on macOS is just weird and looks completely out-of-place, not mentioning event UX aspects. I know it's hard to quantify this in an Excel spreadsheet, but in my opinion following interface guidelines of the target platform and properly using its native technologies makes for a much better user experience (I'm talking here about the basic meaning of this phrase). For example, just look at Google Docs app for iPad - for sure it's written using some Google's weird "universal" technology, but every time Apple announces new iOS (now iPadOS) features, like split screen, multiple windows, etc. it taks Google months to provide support for them. At the same time, developers that follow Apple's guidelines and recommendation, they usually get these features in their apps "for free" or with relatively small amounts of work required. I'm simplifying the whole situation here, of course, but I think trend of making all apps in Flutter et al. might be good for some people, but end-users are usually not one of them.
- erokar 7y agoI don't think the majority of end users care much. They have gotten used to web apps more than anything, a unified web-like UI across platforms might even been seen as a positive by them.
- LocalPCGuy 7y agoUsing Flutter has been extremely helpful for us in a startup environment, getting apps built for both iOS and Android in half the time (or less) compared to doing both. Our team has plenty of native mobile experience and has built separate native apps that mirror functionality in the past. Flutter was so much more efficient, it actually lives up to the promise of write-once, build to multiple platforms. As for design, we have a very custom design and in Flutter you are in no way locked into Material design.
- deleted 7y ago[deleted]
- g5becks 7y agoIt would be really nice if Google would get something going for dart on the server-side. I personally would make the switch to using dart full time for my side projects if I got the same benefits as I do with using node / react.