Flutter will change everything, and is an excellent choice for iOS development
medium.com
medium.com
Has anyone with experience in React Native tried out Flutter/Dart be willing to share their experience and challenges?
[1] https://engineering.udacity.com/react-native-a-retrospective...
[2] https://medium.com/airbnb-engineering/sunsetting-react-nativ...
1. Version numbers are not that much of an indication to stability. RN is much more battle-tested. 2. Udacity and AirBnB both have been using React Native in a "use the bad parts" fashion. (Specifically, they have been using it with an existing app instead of from scratch). It is not really fair to React Native to be honest. However one thing from Udacity is quite fair, RN is much worse on Android in comparison to iOS.
I think giving it a try and having something new in your toolset is a nice idea. However, I doubt Flutter will be "RN is dead long live the new RN".
Finally, I really don't trust Google not to axe this project too on a spite. However that might be more personal so keep it out of the equation.
The development experience with Flutter is really excellent, I’ve found. Laying out UI is really nice and easy. I really like it.
Things I like better about Flutter:
- Cleaner upgrades. For mere mortals like myself, RN can be really painful to upgrade sometimes. This is imho the most frustrating part of working in RN.
- Navigation makes sense out of the box in Flutter. react-navigation is getting better, but there has been a lot of churn there and there's still no community consensus on the "right" navigation library for RN.
- More opinionated stylized components. It takes a lot less work to get something that looks good using the standard components in Flutter.
- Dart is typed (yes I could use TypeScript with RN, but at least when I started building my app in RN, Flow was in some circles the preferred typing system and it took non-trivial effort to get TS working in RN in earlier versions).
Things I like better about RN:
- I think the debug tools, especially if you're using redux is superior in RN
- Greater portability to the web. Yes, the Flutter team is beginning to address this with Hummingbird, but there are many more options with RN
- React is still my go-to for building webapps, and even though Dart is quite similar to JS, improvements/maintenance of React skills while working on a mobile app is quite nice.
personally i find flutter interesting, but i don’t like that, hot reloading is for ui only, and the “pyramid of doom” style inline coding isn’t my cup of tea...
I was recently replying to a similar thread
https://news.ycombinator.com/item?id=18629385
I wish these tactics of subliminal agenda pushes, would stop already.
https://chasegage.wordpress.com/2018/01/23/american-politics...
>Flutter will enable full cross-platform development across iOS, Android, desktop, web and beyond with one codebase.
I’ve seen desktop development mentioned a lot as well and was pretty excited, but right now it does not seem to support shortcuts, tabbing, drag and drop, multiple windows etc. Still, could be a very different story a year from now if Flutter starts to gather market share.
And given Google's extremely good track record on their product / services / and tools. I think I will take a pass for now.
https://github.com/johnno1962/InjectionIII (does not work with storyboards)
Is a beautiful dream... at that stage...
I think "Galaxy" was the name of the first commercial cross platform UI library I used. Back when ClearCase was the hot new thing.
I remember starting out so excited. That didn't last.
While a brief search shows no trace of "Galaxy", I did find this:
https://en.wikipedia.org/wiki/List_of_platform-independent_G...
[0] https://fsprojects.github.io/Fabulous/
[1] https://twitter.com/JasonImison/status/1072074268333228032
I couldn't find anything explicit -as far as a quick search went- for Flutter's limitations. Does anyone have experience with it enough to point them out?
This is common for most mobile development including Flutter.
Can it overtake RN?
Why would I learn Dart when JS is more widespread and a better investment?
Seems like astro-turfing to me.
Dart isn't much better than JS (as TS or Reason are) so switching doesn't give you too much gains, but a smaller eco-system.
Also, the canvas approach of Flutter feels kinda backwards.
I think it's artifically hyped by Google.
React will be much simpler with hooks and the RN updates will improve native inter-op.
But yeah, that's just my take and I'm often wrong with predictions xD
But let's suppose Google provides the contributors making up the bulk of the people with key responsibilities on the project for five years and then decides to withdraw them.
It's possible for the project to continue and be healthy, but you are going to face a large disruption. You're suddenly going to need to fill a lot of key positions -- developers, designers, managers, etc. The direction of the project could change radically as the new people controlling the project don't share the same vision for it as the old ones. All-in-all, it is likely to prove fatal or cause a radical transformation, and the resources for enhancements are likely to be much more modest.
One: If this is the best Flutter has to offer, it needs to go back to the drawing board. It's too verbose. 20 lines for a custom app bar. 7 lines for a contact list title. An entire page? Good lord, 24 lines.
The only part it got right was the data-driven-esque portion at lines 66-76. Most UI development should look like this.
But if you're telling me I need to write imperative code to set padding, much like the article complains about, you're wasting my time. In fact, most of the code shown here is imperative. It's not declarative in any sense. The entirety of the ViewController definition is imperative.
I've written UIs my entire career. Entire career. This isn't progress. It's why teenagers are having so much fun with web technologies, and in my adult years I've been dying to see something come out and replace them.
Two: You need an answer to the visual formatting model [1]. Yeah, you know, the W3C recommendation from 2011, which practically speaking has existed since '09, and frankly before that, CSS1 was great for a majority of work. Facebook's answer was Yoga. Great, but that's only the beginning.
Most UI examples seem innocent enough when you're providing samples only a few hundreds of lines of code long. But codebases are filled with these things into the 10s and 100s of thousands of lines of code, and all too often that's literally only for positioning elements around.
Separate from this, you need event logic in entirely separate files. Yeah, I know it's not really how people do things in React these days, but it's a hard step backwards. I firmly believe this. It's another reason why people are holding on to Vue, which, granted you can put an entire component's code in one file, but eventually you will really, really, not want this.
You'll eventually want to think of things in classical styling separate from logic, and logic from layout, which all coincidentally have been in place with HTML, CSS, and JavaScript for decades.
Apple isn't the target. They're a non-player. WHATWG and W3C are.
Anything else is acting like an athlete trying to compete with an old man.
Google uses a design pattern to helps to separate presentation from business logic, this allows them to share code across flutter and the web. https://pub.dartlang.org/packages/bloc
Here is the design bit from Flutter 1.0 live stream. https://youtu.be/NQ5HVyqg1Qc?t=5940