17 ms·
Flutter – Cross-platform mobile framework from Google
- prohor 11y agoAnd at the same time another group at Google is working on Singular, again cross platform development for Android, iOS & Web (web is not for Flutter), which works in AnuglarJS-like fashion. There is a difference though, Singular doesn't go into widgets (you should use platform specific). Maybe they will be able to merry them, but I doubt, so we will need to choose. https://www.youtube.com/watch?v=DdPP3ldo1ww https://www.youtube.com/watch?v=DdPP3ldo1ww https://news.ycombinator.com/item?id=9010424 https://news.ycombinator.com/item?id=9010424
- devsquid 11y agoInteresting, I had not heard of this. Personally I find HTML to be the best layout system there is, besides animations, and I'm not even a web developer. I like Dart, but its not statically typed and Flutter uses its own layout system.
- pjmlp 11y agoDeveloping native GUIs since the mid-90's, I think there have been quite a few better solutions.
- Rapidwire 11y agoAnd those "few better solutions" would be?
- pjmlp 11y ago- XAML - XUL - Layout managers like Motif, Swing, Tk, ... I never had with them half the problems I do have making HTML/CSS work properly across browsers.
- zghst 11y ago...well you wouldn't have those problems with XML tags/HTML being used in an app with a framework that uses a custom layout system.
- pjmlp 11y agoBut that isn't the W3C way anymore. True, the XHTML + XML modules would have brought us there, but another path was chosen.
- Nitramp 11y agoSwing didn't have baseline alignment until Java 1.5 iirc, so you couldn't put a label next to a text box without it looking dorky. And the controls felt slightly uncanny on every platform. No thanks, wouldn't buy again.
- pjmlp 11y agoSwing is great if one bothers to learn how to use it, instead of relying on the default control behaviours. What I mean by that, was being aware information like "Filthy Rich Clients" blog, http://filthyrichclients.org/ http://filthyrichclients.org/ I have been out of the CSS loop in the last three years. Can we finally center vertically without lots of tricks in a good way across browsers? I am not a designer and never managed to control layout in HTML/CSS, as easily as, I do in all the native toolkits I have used thus far.
- stephen 11y agoI'm cautiously optimistic about Singular; they've "gone dark" and are implementing it internally, which is kind of disappointing. But for someone (e.g. me) who: a) thinks the skill set reuse of React Native is genius (reuse the UI framework/mental model, and purposefully not the widgets), but b) doesn't like Javascript, I think Singular has the best chance at winning my personal mind share. Of course, "doesn't like Javascript" is a minority mindset these days, so in terms of community/etc. I'm sure React Native is going to be very strong. In terms of Flutter/Singular, Flutter trying to play the "write one app for N devices" is interesting...AFAIK, that's something React Native/Singular are explicitly trying to avoid, since historically it's resulted in sub-par UIs on each device. But it would be an interesting coup if material design meant developers (and users) really did want/expect the same exact L&F on both Android and iOS.
- invalidname 11y agoI am never basing architecture on small Google projects again. We use app engine which has horrible support and billing. We used to use GWT which is no longer maintained. I just don't trust Googles commitment to anything it releases. They throw stuff against the wall to see if it sticks and I ended up with sludge on the floor one time too many.
- stephen 11y ago> We used to use GWT which is no longer maintained I understand where you're coming from, but FWIW this is incorrect: Google has a team of ~4-5 engineers still actively making changes to GWT, and even currently prepping/testing a new release.
- unicornporn 11y agoYet an example where Windows (10) Mobile is left out. I think we might have to get used to two monoliths in this market.
- afsina 11y agoSupporting Windows requires a lot of resource allocation and unfortunately their global mobile market share cannot justify it yet (http://www.idc.com/prodserv/smartphone-os-market-share.jsp http://www.idc.com/prodserv/smartphone-os-market-share.jsp). Microsoft can give a hand though, since it is open source.
- pavlov 11y agoWindows 10 Mobile can run Android apps using "Windows Bridge for Android", a.k.a. Astoria. I've tested it with some simple apps, it works as advertised. The Windows device shows up in Android Studio as if it were a KitKat phone. Since Microsoft has done all that work already, I don't think it makes sense for 3rd party frameworks to bother supporting Windows 10 Mobile separately anymore.
- Eridrus 11y agoI doubt this will work for Flutter given the use of the NDK.
- pcunite 11y agoI'm not ready to throw in the towel just yet. The security issues and user updates with Android are making me consider Windows. If Windows 10 can run Android apps (as rumored), that will be icing on the cake. The thing people need to realize is that Microsoft has been around for 40 years. They're in this for the long haul. Until Microsoft quits, it is not game over.
- 0xFFC 11y agoYou mentioned my point , Microsoft is too big to fail, in software development term they are bigger than Google and Apple combined . They are one of leaders in gaming industry (which is pure money, even profitable than web). They controlling Windows which dominate whole pc market without even competition(don't get me wrong , I have been on fedora for years and I am on fedora right now, but thats it truth , Microsoft is absolute leader of PC's).And after this new smart CEO they understand what was wrong about their approach and they are fixing it right now. they are pushing cloud as fast as possible. they are dead serious about edge.they are bringing ssh and whole another tools to make windows more developer friendly.They are pushing windows 10 for internet of things more than google pushes android for internet of things.(Because they know it will be a revive for Windows phone) and whole another things. If I were google. I would be very stressed , Nadella's Microsoft is not ordinary company and it is attacking google in every front. Google's biggest mistake was their hesitate to beat windows on desktop(I would say recent news about chrome/android desktop version is related to their analysis from Microsoft approach). We all know it does not matter where goes computing. Desktop will be there ! even for 10 % of users (developers). but desktop will not dead (there is no way , absolutely ).And until desktop is alive , Microsoft is like snake with venom , ready to attack. I am betting on Microsoft ( despite being linux guy ). Microsoft coming back and they compete vigorously , because they have resource , they will win !
- cageface 11y agoI wouldn't be surprised if this is Google's longer-term solution to the Java problem. It's clearly not tenable for them to stay on Java 6 forever so they either need to make web-based apps first class citizens on Android or put forward their own new stack.
- grrowl 11y agoIt's this, or Native Client ported from Chrome OS to Android
- pavlov 11y agoThe git repo has some examples of what Flutter apps actually look like (just the code I mean, not screenshots): https://github.com/flutter/engine/tree/master/examples https://github.com/flutter/engine/tree/master/examples
- deleted 11y ago[deleted]
- TheMagicHorsey 11y agoWhy not a native app framework for Go on Android? Sigh. Been waiting so long.
- afsina 11y agoOne reason is that because hordes of Java developers would not like the looks of it.
- piggybox 11y agoSad but true
- aikah 11y agoAin't going to happen. There is no real support for Go on Android at first place, sure you can compile Go programs on Android , but that's about how useful Go is on that platform. And frankly have you ever tried to write a desktop app with a GUI in Go ? Because you'd know how painful it is.
- SoreGums 11y agoThe app I want to write is basically a service that just does stuff (with files) based on signals from other devices/services. The UI is actually client side webapp. So I was hoping to write the service bit in Go which then would run on Linux, Windows, Mac, Android. Oh well.
- afsina 11y agoDart can do this already. It works in Server Side just fine (Win, Mac, Linux - x86,Mips, Arm).
- xxgreg 11y agoFlutter is build on top of the mojo. This exposes IPC interfaces to the devices. There are Java, Dart, C++, and I believe also go bindings for this. Not sure if this is in a usable state - but worth a look. https://github.com/domokit/mojo/tree/master/mojo/go https://github.com/domokit/mojo/tree/master/mojo/go https://groups.google.com/a/chromium.org/forum/#!forum/mojo-dev https://groups.google.com/a/chromium.org/forum/#!forum/mojo-...
- joeld42 11y agoThis looks really nice. I like Dart a lot (used it for the "edit in browser" feature of The Brainstormer app). This seems pretty well thought out too. If it's easy to mix with native code, this could be really useful to me.
- NKCSS 11y agoAlways nice to see a Cross-platform mobile framework that's not cross-platform itself :) *nix only for now.
- deleted 11y ago[deleted]
- aikah 11y agoTo be fair , so is React Native, calling itself cross platform but not running on Windows ( not even sure it runs on Linux either, AFAIK it's mac only ).
- namuol 11y agoThis is due to Apple's proprietary toolchain which is required to develop for iOS.
- oblio 11y agoThere's a React Native for Android, which has the same problem.
- vjeux 11y agoWe're making progress towards linux and windows fyi http://facebook.github.io/react-native/docs/linux-windows-support.html#content http://facebook.github.io/react-native/docs/linux-windows-su...
- arrayjumper 11y agoDo you have any news on when Linux will be supported in the stable release?
- smt88 11y agoCross-platform on mobile isn't the same as cross-platform on desktop, so there really isn't any irony there. Android, iOS, Linux, and OS X are all Unix-like, and Windows is... Windows. There's a ton more work that goes into supporting Windows than a *nix variant.
- firloop 11y agoIt's funny that due to the fact that the iOS code is compiled, it can't self update like Android can, despite iOS having significantly more update friction.
- RyanZAG 11y agoIt's not funny. iOS has significantly more update friction because of policy rules forbidding you from self updating. It's the whole reason.
- firloop 11y agoI did a poor job explaining - the policy rules are the friction I was describing in my original post.
- eklavya 11y agoI am wondering in what world self app updates would be considered a good thing. As an end user it terrifies me. Although in android you have to declare permissions beforehand, does it cover that? With android 6 would you be able to update to require anything and just ask on demand? Is the fear irrational?
- oblio 11y agoAren't you annoyed by apps that can't update themselves on desktops?
- eklavya 11y agoNot if they can be updated from one place like in case of mobiles.
- Eridrus 11y agoDo you have any way to actually scrutinize app updates? About the only thing the constant update notifications do is cause me to uninstall apps that I'm not using any more.
- wiradikusuma 11y agoLooks like it's more suitable for making games, since it "uses its own high-performance rendering engine to draw widgets" -- non-games typically don't reinvent widgets.
- robbrown451 11y agoWell, it's Google that is reinventing the widgets, not the app developer. They say it is especially good for Material Design apps, which would seem to indicate non-game apps. Admittedly it might look a bit out of place on iOS, but hopefully they've done a reasonably good job at making widgets that look at home on iOS.
- declan 11y ago>Admittedly it might look a bit out of place on iOS Since last year, Google's iOS apps have gradually adopted more and more elements of Material Design, including the color palette, the app bar menu, the MD iconset, the floating action button. And they typically remain best in class; it turns out that Material Design works well on iOS too. (Note Google's implementation is not necessarily consistent--just look at the different button tap effects for Calendar vs. YouTube on iOS. Sigh.) We've also borrowed MD concepts for the iOS version of our new app (https://recent.io/ https://recent.io/) without user complaints.
- bluthru 11y ago>And they typically remain best in class; it turns out that iOS users enjoy Material Design too. Ugh, no thanks. Please keep the low information density, searing color blocks with white text, FAB covering content, drop shadows, and overdone animation away.
- declan 11y agoNot only are you right, but Google realized you're right. They've removed some of the overdone animations--tap on some of the buttons on iOS Hangouts and you'll see. And the color blocks aren't quite as searing anymore (didn't the original version of the spec call for FABs in a contrasting accent color, like bright yellow?). I view the YouTube iOS app as a good example of the direction Material Design is headed; it's even dropped the hamburger menu, which was a big part of the original spec.
- CodingGuy 11y agoThere are so many python developers out there who are not (yet) mobile developers, so why doesn't Google support kivy?
- sandGorgon 11y agoThe engine’s C/C++ code is compiled with Android’s NDK, and the majority of the framework and application code is running on the Dart VM. The Dart VM generates JIT-compiled optimized native code on the device. (In other words, the Dart VM is not an interpreter.) So Google is officially making its stand as Dart being the future of Android (the Swift of Android?). Anybody who has worked on this and Kotlin, care to compare ? EDIT: how does this work inside Google ? I mean you have legendary heavyweights behind Go. Were they designed as domain specific (Go for server and Dart for mobile)?
- kibwen 11y ago> Dart for mobile Dart was originally designed for the client-side as a challenger to Javascript, and I consider it to have generally succeeded in its ulterior goal of spurring the Javascript standardization committee into greater velocity out of threat of competition. Recently it's pivoted towards server-side programming, though I could see it finding a home in mobile app development. Given its familiarity to Java, it was always more likely than Go to succeed Java on Android (though IMO less likely than a typed variant of Javascript). To be clear I don't think this is an "official stand" proclaiming Dart as the future of Android (and regardless of Oracle's asshattery, I don't see Google outright removing Java support any time soon). As other commenters have pointed out, Google has more than one ongoing initiative in this area.
- sandGorgon 11y agoAm I wrong in thinking that Dart VM on Android is the only other VM that has been officially released by Google ? Doesnt that make for a pretty strong statement ?
- shadowmint 11y agoNo. This isn't the same thing at all. The C# runtime on android is used by thousands of apps; this is simply a dart runtime that runs on android. This is a cool project; and its great to see people trying to do interesting things with dart; Dart as it currently stands is a total and abject failure in all of its goals as a replacement for javascript. New goals for it to live as a mobile platform might give it a breath of fresh air. Pretty nice to see; it's a nice language with a good ecosystem, if it gains traction as a 'app' language, it could go places. ...but this is absolutely not Google saying 'the future of android is dart'.
- declan 11y agoWhat struck me from the FAQ is this: "Flutter is optimized for 2D mobile apps that want to run in both Android and iOS. Apps that use Material Design are particularly well suited for Flutter." Which means that, if Flutter succeeds, iOS users should expect to see more and more apps built using Google's Material Design language. It's already happening for some of Google's iOS apps--the floating action button in Calendar, Hangouts, Photos, Docs, the iconset in most of their iOS apps (Gmail and Chrome are partial exceptions), etc. In other words, Material Design is making significant inroads into iOS. But Apple's design language isn't doing the same in Android world. Disclaimer: I'm a cofounder of Recent News (https://recent.io/ https://recent.io/), and we borrowed some Material Design concepts for the iOS version of our app.
- mwilcox 11y agoIt's similar to the strategy they're running on Web Components with Polymer: http://polymer-project.org http://polymer-project.org. They have a number of Material Design web components that are very easy to integrate into your site but also more difficult for people to override.
- MCRed 11y agoApple is making significant inroads to the android wold by converting significant numbers of Android users to iOS users.
- mbrock 11y agoI'm very amused by the recent trend of redefining "disclaimer" to mean "advertisement."
- mbrock 11y agoSo amused, in fact, that I did a big grep from the Algolia API: http://mbrock.github.io/disclaimer.html http://mbrock.github.io/disclaimer.html (https://news.ycombinator.com/item?id=10521578 https://news.ycombinator.com/item?id=10521578)
- jbigelow76 11y agoif Flutter succeeds, iOS users should expect to see more and more apps built using Google's Material Design language You may see that for big must have apps from Google like gmail or Maps where the user has little choice. But if indie developers try pushing Android-y looking apps on iOS I would suspect most of them would lose out to an app that utilizes the native design language.
- archagon 11y agoOptimized 2D engine? Hmm, is there any chance that there's a hardware-accelerated version of Skia somewhere in there? A while ago I was looking for a nice OpenGL vector (read: path rendering) library for an iOS app I was working on, but none of the available options at the time were good enough. Ended up hacking together a custom implementation in Cocos2d. (Actually, still hacking...)
- napsterbr 11y agoLooks like so, as per their architecture diagram: https://docs.google.com/presentation/d/1cw7A4HbvM_Abv320rVgPVGiUP2msVs7tfGbkgdrTy0I/edit?usp=sharing https://docs.google.com/presentation/d/1cw7A4HbvM_Abv320rVgP...
- archagon 11y agoLooks like it's there but I don't think it uses OpenGL. (Also, the page states: "Today we don’t support for 3D via OpenGL ES or similar. We have long-term plans to expose an optimized 3D API, but right now we’re focused on 2D.") Still, this is very promising!
- fit2rule 11y agoMOAI has some nice features that make OpenGL-based path rendering interesting: https://github.com/moai/moai-dev/blob/develop/samples/vector-svg/svg.lua https://github.com/moai/moai-dev/blob/develop/samples/vector...
- kllrnohj 11y agoSkia has an optional OpenGL backend. It's used by Chrome for things like <canvas>
- pjmlp 11y agoUntil I see this as an official Android SDK language, or presented at Google IO as such, I will ignore it. The Android team has been very clear where they stand.
- sandGorgon 11y agoand this: We are building a Flutter plugin for Atom. Today, it can syntax highlight, code complete, refactor, launch apps, create new apps from a template, show type hierarchies, jump to definition, and more. Why not Android Studio ? this release announcement is weird. it seems to be as much political as technical.
- 0xFFC 11y agoI think they are trying to be more friendly to non-android developers , and you may noticed this is platform for both iOS and Android . If it were for only android they you were right, but as it stated they targeting iOS too, then we can deduce they are trying to be more like React or Cordova(if I spell correctly). p.s. It seems that is their approach , does not mean I agree with that.I would prefer android studio support. Then they can advertise android developer can produce iOS version of their app in android studio too.But clearly they want be more like react.
- afsina 11y agoIntellij Idea and Webstorm already supports Dart as language. I am guessing they wanted something lightweight initially. Since Flutter is in pre-alpha state, support for Android studio may come later.
- segphault 11y agoWell, I guess Google had to find something to use the Dart VM for now that they aren't trying to cram into Chrome anymore. Some interesting ideas here, though. It's strange how much it looks like web development, with route handling for navigation etc.
- moonchrome 11y agoDart has such a strange story. When it started out it was completely uninteresting as a language and it's only selling feature was that it someday might find it's way in to browsers and that it compiles to JS. Now that it's ditched the whole "replace JS in browser" the language has actually matured enough to the point where I would code in it outside of browser use case and the VM quality puts it in a unique performance/productivity spot. It is very much a hybrid of C# and Python in good ways with a decent package manager built in. It's much more suitable to be viewed as a high performance Python replacement - unlike Go it's dynamically typed but offers optional static typing so the level of abstraction is much closer to Python - in fact I would argue that the static typing built in from start makes it more productive than python for project you need to scale up to multiple people. But it was built by a VM team that knows how to get performance and knows the bottlenecks that prevent JS optimizations - so it's probably faster than V8 and the likes - not CPyhon level. The VM/class library is small and embeddable which separates it from Java. And finally the compile to browser was a design choice from the start so compile to JS is much simpler than existing languages (eg. Python/Java) It's a great language for client side programming and it's usable in server side if you are already using it for client side and want same languages on both server and client.
- randomfool 11y agoDart is still much much closer to JS than C#, specifically in terms of threading, native interop, value types, etc. Until these are all improved I just don't see a compelling mobile story for Dart when compared to Java. Furthermore, TypeScript, Facebook's Flow etc provide stronger static analysis than Dart.
- 11y ago
- anjanb 11y ago"Windows: Stay tuned, Windows support is in the works." waiting!
- aexaey 11y agoWhat's wrong in running Ubuntu/Fedora in a VM, if you really interested in trying it out?
- anjanb 11y agoNothing wrong -- except I don't have enough juice on my laptop to run VirtualBox, etc. Want to attract 70% developers, have something to run easily on windows.
- thebosz 11y agoIf you're feeling adventurous, it's possible to build and deploy apps using Windows. Most of the major hurdles are fixed and now it's just a matter of some clean up and documentation.
- skratlo 11y agoHow much attention would this get without the Google label?
- fit2rule 11y agoI've been using MOAI (http://getmoai.com/ http://getmoai.com/) for the same basic thing. Its going to be interesting to see what Dart has to offer that Lua doesn't.
- afsina 11y agoBetter debugger, profiler, code analyzer, formatter, IDE support and familiar syntax for Android developers.
- invalidname 11y agoI think its a different thing. Its more like Codename One https://www.codenameone.com/ https://www.codenameone.com/ for apps that have widgets and not as much for games. Although you probably could create games with it in a pinch.
- suyash 11y agoAndroid development as of today is painful and application logic is complicated and bloated. Dart and Flutter may be a good option to current way of things.
- 72deluxe 11y agoHow is the application logic going to be different in a different programming language? I mean, if this then do that is a common construct in all languages, surely?
- kaendfinger 11y agoI think he means the APIs for UI and execution of logic.
- ergo14 11y agoSo, are they reinventing haxe and openfl? From the description it kinda looks this way.
- devit 11y agoFor some reason the website fails to prominently mention the two defining characteristics: it's based on Dart and it uses its own widget implementation. Honestly, between the use of a relatively exotic language of dubious quality with types that are "optional and unsound" (https://www.dartlang.org/articles/why-dart-types/ https://www.dartlang.org/articles/why-dart-types/), their custom widget implementation that who knows how well is going to work, and lack of web support, it doesn't seem very attractive. React-native seems a much safer bet.
- headmelted 11y agoJust what I was thinking. What problem is this trying to solve? The big draw of React-native is that I can reuse largely the same core code everywhere, and for the parts I can't (mobile UI), I'm at least working in a language that everyone on my team is familiar with, with the same pattern as elsewhere (react/flux). This to me sits in a weird middle ground between RoboVM/Xamarin and Cordova, but has the benefits of neither (it uses a language that I'm not already familiar with, and doesn't give me access to native controls). Am I being unfair? (Is there a killer feature here I'm not seeing, beyond being backed by Google?)
- moonchrome 11y agoI've only had a short look at this but here are my impressions : It doesn't pack a huge VM/class library like RoboVM/Xamarin and doesn't try to gap two VMs/GC like Xamarin on Android - instead it uses IPC for talking to system services using it's custom service definition language to define the IPC API/schema in cross language way. Dynamic language/custom VM lets them do a better job at development experience (dynamic code reloading) as opposed to buggy/complex one you get from trying to statically compile bytecode or bridging two VMs to share objects. IPC architecture then lets you write performance parts in portable native code (eg. C/C++/Rust) or system specific language (eg. Java/Swift/Objective-C) and it should be easier to make cross platform - hiding the dirty FFI crap. Dart is much closer to C# than you think, go look at some examples - it's quite a productive language from my experience with it so far. Custom GUI framework means it doesn't behave/look the same as native framework (just like webview tech) but at the same time it can also mean higher performance (certainly better than WebView), consistent behavior between platforms and versions (faster development), etc. Overall I like it, I can see a GUI framework on same tech built for desktop (custom widgets but same rendering principles) and doing client side development in Dart sounds great - fast prototyping and iteration because of it's dynamic nature but the optional type system gives you same guarantees as C#/Java type systems.
- jnpatel 11y ago"[Flutter] is familiar to anyone who has done Java or JavaScript" At a superficial level, seems like a strange statement to make since those languages are quite different. Unless the point is that Flutter is C-like?
- SolarNet 11y agoI think it's because it's on Dart (aka the C# (aka the Java of Microsoft) of Javascript).
- shade23 11y agoDon't we have enough cross platform dev kits anyways?I fail to see the need for so many more platforms.The state of the ART/DVM is going to become like that of the JVM. Maybe as devices become more powerful,it would be capable of handling such needs.But why would you want to develop such apps which you would have to wait till the native platforms release updates which are then ported to these platforms.Android updates happen every 3 months.Maintaining evergreen apps in such cycles is a task in itself. I understand the evolution of Javascript based frameworks considering the large number of developers available.But now days you have to spend more time learning a framework in comparison to developing something with it. The only feature which seemed to grab my attention was : > Can I update my app over the network, outside of the Play Store? Yes. On Android, you can update your app over the network (via HTTP), without first publishing to the Play Store. This can be useful because it doesn’t bother the user with a notification, ensures your users are on the latest version, makes it easier to run A/B experiments, and more. This would be extremely useful. But I think there would be a catch to this too.I am actually tired of seeing new frameworks come up everyday,especially orgs like Google.
- BinaryIdiot 11y ago> Don't we have enough cross platform dev kits anyways? Absolutely not. Right now the choices are very, very small for the platforms you'd actually want to use. React-native, before Flutter, was the only one (that I know of at least) that uses real, native components but uses a different language for orchestrating them. Beyond that everything else is either "shove html in a web view" or the xamarin approach which, and please correct me if I'm wrong, is closer to the approach of QT in that it renders all its own controls. We need more options in the first camp, the one where real native components are used but can use a common language across the mobile operating systems. I only wish react-native and this supported Windows Phone. It's such an awesome OS but no one will ever use it because of the lack of apps :(
- insulanian 11y agoI only wish react-native and this supported Windows Phone. It's such an awesome OS but no one will ever use it because of the lack of apps :( What do you consider awesome in Windows Phone comparing to Android and iOS?
- lucio 11y agosemi-off topic, but the guy who wrote the style guide needs a little more experience in the real world. Not using braces is an accident waiting to happen. https://github.com/flutter/engine/blob/master/sky/specs/style-guide.md https://github.com/flutter/engine/blob/master/sky/specs/styl... if a flow control structure's statement is one line long, then don't use braces around it, unless it's part of an "if" chain and any of the other blocks have more than one line. (Keeping the code free of boilerplate or redundant punctuation keeps it concise and readable.) For example, if (children != null) { for (RenderBox child in children) add(child); } ...rather than: if (children != null) { for (RenderBox child in children) { add(child); } }
- TeeWEE 11y agoAre there any demo apps i can download?
- idibidiart 11y ago"Unfortunately, due to iOS restrictions, updating your Flutter app over the network is not possible. We are curious how much you use this feature, please let us know at flutter-dev@googlegroups.com." React Native 1, Flutter 0. Same for use of OpenGL ES. Same for use of the phone's native UI components. Dart?! Really?
- untog 11y agoI'm not sure how long Apple will let the current situation stand. As it is, developing with React Native is more flexible than with their own frameworks, which I can't imagine they're too happy about.
- idibidiart 11y agoNot according to this account: https://www.quora.com/What-does-Apple-think-of-React-Native https://www.quora.com/What-does-Apple-think-of-React-Native
- kaendfinger 11y agoDart might not be for you, but it's definitely for me. If everyone uses the same platform, things would never be fun.
- thawab 11y agoThis framework used to be called Sky[0], here's a demo video from 6 months ago https://www.youtube.com/watch?v=PnIWl33YMwA https://www.youtube.com/watch?v=PnIWl33YMwA [0]https://www.dartlang.org/mobile/ https://www.dartlang.org/mobile/
- nickysielicki 11y agoI recorded two webm's of playing with the examples on a Nexus 6. It's quite early to call it either way but in my quick testing it seemed not any more performant than a webview for traditional tasks like scrolling through lists of "material-design" elements (eg: text), but then it surprisingly did very well with 2D graphics. A bit of lag in the game, a bit of lag scrolling, but maybe it'll get better. http://webm.host/d737b/vid.webm http://webm.host/d737b/vid.webm http://webm.host/9c254/vid.webm http://webm.host/9c254/vid.webm
- elcct 11y ago"scalable language" but is it web scale? ;)
- jankins 11y agoUnfortunately I don't see how a system like this could be accessible using the native accessibility tools like voiceover, and so IMO is a non-starter. The FAQ doesn't seem to address it.
- mcintyre1994 11y agoThey don't mention it and might not have it, but is this that different to React Native? They have a reasonably thorough looking integration so this might just be a case of waiting on Google to implement here? React docs for it: https://facebook.github.io/react-native/docs/accessibility.html https://facebook.github.io/react-native/docs/accessibility.h...
- lisperforlife 11y agoLooks like we are trying to rediscover Java AWT in the mobile space.
- invalidname 11y agoNope. AWT used native widgets, this is more like Swing without the PLAF or really Codename One which already does that on mobile and far more...
- untog 11y agoI investigated Flutter some time ago after seeing it mentioned on HN, and it is quite fascinating - as an Android user. It has a stated goal of 120fps on all UI elements, which would be a huge step in bringing sluggish-feeling Android up to the levels of iOS. But Flutter is also intended as a cross-platform framework for iOS too. That part I'm less sure about, though if it lives up to its promise, it would be great. Overall though, far too early to tell. Using Dart might not be popular, but if you don't already know Objective C/Swift and Java, it might not be any worse than today.
- andy_ppp 11y agoIt's astonishingly similar to react: * StatelessComponent ... (props) => (<Tags />) * Widget build() ... render() * setState() ... setState() etc. Not quite sure how props are passed but it does have that concept... anyway if you're going to copy something might as well change some of the names of the functions :^) I'd say React benefits from not having a bundled UI library, instead using native components (and obviously includes web). Google would have been better to go with embrace and extend on this one.
- mbrock 11y agoReact Native's basic navigator component is non-native and implemented in a way that has fundamental performance problems. There is also a native navigator component for iOS, but it's buggy and unmaintained to the point of being unusable. The list view also has issues. See e.g. issues like these: https://github.com/facebook/react-native/issues/3452 https://github.com/facebook/react-native/issues/3452 https://github.com/facebook/react-native/issues/567 https://github.com/facebook/react-native/issues/567 https://github.com/facebook/react-native/issues/3049 https://github.com/facebook/react-native/issues/3049 https://github.com/facebook/react-native/issues/2569 https://github.com/facebook/react-native/issues/2569 The marketing claim on their main web page that "React Native apps are naturally fluid and responsive" needs qualification. These pages are essential reading for anyone considering using React Native for a project with deadlines: https://facebook.github.io/react-native/docs/performance.html https://facebook.github.io/react-native/docs/performance.htm... "Many people have noticed that performance of NavigatorIOS is better out of the box than Navigator. The reason for this is that the animations for the transitions are done entirely on the main thread, and so they are not interrupted by frame drops on the JavaScript thread. (Read about why you should probably use Navigator anyways.)" "... As mentioned above, Navigator animations are controlled by the JavaScript thread. Imagine the "push from right" scene transition: each frame, the new scene is moved from the right to left, starting offscreen (let's say at an x-offset of 320) and ultimately settling when the scene sits at an x-offset of 0. Each frame during this transition, the JavaScript thread needs to send a new x-offset to the main thread. If the JavaScript thread is locked up, it cannot do this and so no update occurs on that frame and the animation stutters." https://facebook.github.io/react-native/docs/navigator-comparison.html https://facebook.github.io/react-native/docs/navigator-compa... Regarding the native-styled and higher-performing NavigatorIOS: "Development belongs to open-source community - not used by the React Native team on their apps. A result of this is that there is currently a backlog of unresolved bugs, nobody who uses this has stepped up to take ownership for it yet." Disclaimer: this comment is written by a consultant undergoing high levels of frustration and may have traces of FUD. If React Native works well for you, I would love to hear about it. Edit: I was really hoping to do some good work on the app today. The frustrating problem this time is that the devtools are entirely broken due to a commit made back in September. https://github.com/facebook/react-devtools/issues/229 https://github.com/facebook/react-devtools/issues/229 "I don't know how to fix this. I now remember that this is why we didn't merge that RN pull request originally." UGH. Shoot me.
- merb 11y agoNo Windows Phone Support. Oh man this platform is so forgotten. Btw. I don't care about the language, but I care about support of IDE's and Tooling and I hope that you built around the Dart Tooling of IntelliJ, then I would give it a try!
- Artemis2 11y agoIt doesn't help that it's Google, that despises the platform.
- ladzoppelin 11y agoIt also makes Ms look extremely relevant and powerful which is weird..
- Zikes 11y agoHonestly, though, what sort of market share does Windows Phone have? Surely it's a single digit percentage. How could anybody justify developing for that platform without having a significant interest?
- Eridrus 11y agoMS is trying to make iOS and Android applications easy to port to windows phone apps, so hopefully having an easy path from your existing app to windows phone will be almost a no brainer, but Windows Phone 10 dev tools or phones are not out yet afaik. Given that WP10 and Windows 10 should have a similar "universal" runtime, maybe once you are done with your android/iOS to WP10 port it will work quite nicely on Windows 10 after you update the UI to support larger screens. So, hopefully once enough people are on Windows 10, the windows (phone) 10 ecosystem will be attractive enough that people want to build things for windows 10, rather than the web. I have no idea if this strategy will work out, but it's what I sort of expected windows 8 to be, but hey, maybe the ship hasn't sailed so far as to make this pointless. I used to work at MSFT though, so this please excuse the bleakness shrouded in the unwarranted optimism.
- munificent 11y ago
- astannard 11y agoThis is very new from the looks so who know how it will play out, at the moment I am not excited about it. Sounds like Java swing where you could create cross platform apps but the UI was not the platforms native components and so never quite felt right.
- mavelikara 11y agoI agree. By choosing an emulated widget set, Flutter will have all the downsides of Java Swing. "Those who cannot remember the past are condemned to repeat it": George Santayana
- trishume 11y ago"Flutter is unique technically because its rendering implementation uses neither WebView nor OEM widgets. Instead, Flutter uses its own high-performance rendering engine to draw widgets." Factually incorrect since http://www.qt.io/qt-quick/ http://www.qt.io/qt-quick/ has done this for a while and has a very mature fast mobile reactive amazing UI engine.
- sethladd 11y agoThanks for the comment. We'll change our FAQ. Issue filed here: https://github.com/flutter/flutter.github.io/issues/55 https://github.com/flutter/flutter.github.io/issues/55
- invalidname 11y agoCodename One also has that architecture but its pretty old. Swing has it as well as JavaFX and both took it from SmallTalk libraries that inspired them (and Trolltech of QT fame).
- hippich 11y agoOne thing to remember, "from Google" is not equal "the only framework to solve X from Google".
- aabluedragon 11y agoOnce streamlined, it will probably be the best mobile framework world wide (IMHO). Great job dartisans, Good Luck! I also hope to see it running deaktop apps, something like NW.js
- outside1234 11y agoWhy can't Google just contribute to React Native?
- korm 11y agoA lot of people are worried or put off by Dart's type system, but it now also supports strong mode https://github.com/dart-lang/dev_compiler/blob/master/STRONG_MODE.md#strong-mode-type-system https://github.com/dart-lang/dev_compiler/blob/master/STRONG...
- sethladd 11y ago(disclaimer: I work on the Flutter team) Yes, strong mode is something the Flutter team uses to help check their code. Dart is pretty cool this way: you can scale up or down how much "typiness" you want. As your program matures, you can dial up the static type checking. Hence: strong mode.
- zeckalpha 11y ago> I heard Apple rejects apps built with third-party frameworks, is that true? Where did this rumor come from?
- ecthiender 11y agoSo this is like Adobe Flash but for mobiles, by Google!!??
- _jp__ 11y agoThey worked hard for a AOT framework, and suddenly google offers you a JIT with all its drawbacks for a high performance development....
- kaendfinger 11y agoActually, it's has both AOT and JIT. You can 'pre-compile' your app/code into a 'pre-compiled snapshot'.
- _jp__ 11y agoThanks for the info. I went through their FAQ: How does Flutter run my code on Android? they say JIT there while in IOS says AOT.
- invalidname 11y agoA JIT would be illegal on iOS (self modifying code) if they allow native code JIT's on Android this is a hack waiting to happen...
- elchief 11y ago"React Native is taking off" "Crap. Anybody got anything?" "Jimmy has a brainfuck to Objective-C transpiler" "Anybody else?" "How about non-native controls with a language no one cares about?" "Ship it"
- korm 11y agoWhere would we be without alternatives for developers? Should C# never have existed because of Java? Or any language for that matter? Flutter exists because some people (also internally at Google) enjoy writing their stuff in Dart, so they created this tool for themselves, which they released in public. People shouldn't get upset nor should they feel threatened by alternatives to their preferred tools.
- andrewmcwatters 11y agoFlutter is a great example of tech to ignore in a world where everyone is releasing something on a weekly basis.
- kaendfinger 11y agoWe can just ignore different things then. I ignore JavaScript, and you ignore Dart, and we will be on our way.
- invalidname 11y agoAmusing ;-) Although I think this gives Google too much credit of forethought. Most of these projects are as Eric Schmidt used to say "throw stuff against the wall and see if it sticks".
- daguava 11y agoWas really hoping for a prominent example, but the page only offers "You can see an example of that at [[docs coming soon]]." I understand that examples exist elsewhere, but better to have a few linked up for launch than a placeholder.
- kaendfinger 11y agoThe amount of JavaScript-is-God philosophies on here is excruciating.... I respect everyone who likes JavaScript, but just because Dart isn't what you like doesn't make it inherently useless or bad. The world is all about diversity, how about some language/preference diversity? In my opinion, JavaScript is a large flame, and all the languages that were inspired by it are the sparks. Eventually the JavaScript flame might die out, but the sparks it makes can still burn, and create their own flame. I'm a huge lover of Dart, and I generally dislike JavaScript. My advice is to welcome Flutter. If it works out, it will work well, if it doesn't work out, it will fade away.
- niutech 11y agoWhy no luv for the web? What about Firefox OS?
- krupal55 11y agoDo we really need cross-platform app development framework? No, It should only be focused on Android. Why the hell iOS? There are other frammeworks for them.
- morfy50 11y agoDart? Come'on. Typescript or go home
- lavelledumetz 11y agoDavid dumetz and his money grubbing family used this wonder program to ruin endless devices .put fake social sites up and put my family's info on the web.Diane dumetz u knw I know all ur lieing to disability .wat ur husband makes .play time is over.