3 ms·
EDIT: formatting Almost everyone here talks about abandonment. It's become a sad Google reality, but I'd hazard that some people are posting from Google Chrome
by nevi-me 8y ago
EDIT: formatting
Almost everyone here talks about abandonment. It's become a sad Google reality, but I'd hazard that some people are posting from Google Chrome, which would defeat the point about worrying.
I use Flutter, I've released an app that's been in prod for about 5 months now. Flutter runs on Dart, which is a Google-bred language. From my little knowledge, most/some of the people working on Dart are the team in Aarhus that work(ed) on V8. Our Vyacheslav Egorov (mraleph) being first that comes to mind.
Is Google going to abandon Flutter, what about Dart? Should I not learn Go because they'll also abandon it? Heck, should I not develop for Android because they'll abandon it too?
The fearmongering is a bit excessive. I'd think Google has a better track record with software platforms. I separate Google into:
- Products - come for free, can be abandoned any time
- APIs - come for free, don't build your business around them in case MapsGate price surges come your way. Or, if you rely on them out of being "free", always have contingency plans to switch. After all, if they build a market then destroy it, it's a good space for smaller players to join in.
- Software & Platform Tools - feels safer, unless very experimental.
___
Flutter allowed me to do in a few days what Java/Kotlin was taking me weeks. Why? It makes developing UIs much easier. As one can see from the RP2 announcement, background execution looks hairy, app size is improved but the build process still lacks what native has (e.g. updates to an app result in user downloading whole apk).
Will I have to rewrite my app again when Flutter is abandoned? Sure, but it won't be an overnight rewrite. I'll probably be able to get away with a 1-2 year window (if I need one) before the last supported Google Play Services becomes obsolete.
For me, I'm willing to take that upfront benefit. Yes, downside's learning yet another new language. I learnt Dart, and it was about 80% similar to the langs that I already know.
- strken 8y agoThe migration from Chrome to Firefox takes between 30 seconds and 30 minutes, depending on how much stuff you choose to move over, and has nothing to do with migrating code between two platforms. It's not a fair comparison unless you're talking about developing browser extensions, and even then the API is very close to being cross-platform[0]. I don't think most people are making a principled stand against the use of Google products, they're just instinctively performing a risk analysis. [0] https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...
- nevi-me 8y agoBut that's my point (which other people are making). There's a difference between Google APIs, products and software platforms. Some are riskier than not. It adds little to the conversation if someone just says "scared of abandonment" without providing more context. Yes, one's entitled to that opinion, but it's slightly misplaced sentiment. Out of interest, how long would it take for one to migrate from Go to say C or Java (if Go is killed)? Similarly, how long to go from some Google cloud service to either another provider or a different other service? I agree with you about instinctively performing a risk analysis, but was offering a different perspective that perhaps one should separate Google into a few categories, then make judgement per category.
- monkmartinez 8y ago> Yes, one's entitled to that opinion, but it's slightly misplaced sentiment. How do you figure? How long have you been using/developing with Google products? Microsoft had the same reputation a few years ago. They learned the hard way what happens when you piss off developers. They are now making great strides to right those wrongs. What is Google doing to assuage those fears? The way they have managed Android itself should give all mobile developers some consternation. It is an absolute mess with a ridiculous amount of cognitive overhead. Its a utility OS now and a really bad one at that. My gut tells me that Android will be abandoned soon. Samsung could kill Android if it wanted to...
- nevi-me 8y agoGoogle Maps: 5 years Android: 3-4 years GCP: <2 years gRPC: 2 years (Kotlin, Python, Node, Rust, Scala) From this and your other reply, you seem to have been burnt by something in Android. The mobile market for which I develop products is made up of over 80% Android. Whether Sundar Pichai decides to kill Android tomorrow or now, I'm not going to let that get in the way of me making a living from a platform that currently exists with a significant market share re. my target market.
- pjmlp 8y ago
- tananaev 8y agoI haven't tried Flutter yet, but I want to provide my experience of what non-native mobile development usually looks like comparing to native. Through my mobile development career I have tried C/C++ cross-platform development on mobile, JavaScript frameworks (e.g. PhoneGap), Xamarin and React Native. Cross-platform frameworks always seem attractive because you can write code once and run it on both Android and iOS. When you start development it might also feel productive at first because you finish 80% of the project much faster than with using native platform frameworks. Problems begin when you need to interface with native code or if there are some small annoying issues. You get stuck for hours and days trying to solve something that would take much less if you dealt with native platform SDK. In the end you are not completely satisfied with your hacky solution and it took as much time as native app would take. My opinion is that if you have a very simple app, it might be OK to write it in, for example, React Native of Flutter. But if you have a more complicated app and it's an important part of your business, you should go native.
- nevi-me 8y agoYes, that was my conclusion a few months ago. I'm currently working on an Android app, and even though I published the Flutter app in "record time", the drawback is the amount of mental energy needed to make certain platform tasks work. Background execution was the biggest for me, I didn't want to write a Flutter plugin that interacts with a background service (because even though that's now possible, it still feels confusing to me). Simple(r) app, Flutter's very good at that. I'll see what happens post 1.0
- monkmartinez 8y ago> but I'd hazard that some people are posting from Google Chrome, which would defeat the point about worrying. Uhhh, how do you draw that conclusion? There are lots of browsers and they take literally zero time to learn. Comparing a browser to programming language or framework is apples and oranges. > Is Google going to abandon Flutter, what about Dart? Should I not learn Go because they'll also abandon it? Heck, should I not develop for Android because they'll abandon it too? I have been a strict Android user for years. Google has effectively abandoned it with the way they've managed the project. I am moving to iOS for a variety of reasons, one of which is that I know where they (Apple) stand with the platform. I wouldn't learn Go or Kotlin either, honestly, as there are arguably lots of languages that do the same with less separation anxiety. My only mobile apps are Android only and regret it. I was a big android advocate and now I am not. I have been excited too many times and let down too many times to really care at this point. Google really wasted a lot of my time in retrospect. They announced projects like they are the second coming only to kill them once you have invested countless hours of time learning. I still have the OG Android ADK from I/o 2011...
- nevi-me 8y ago> Uhhh, how do you draw that conclusion? There are lots of browsers and they take literally zero time to learn. Comparing a browser to programming language or framework is apples and oranges. So, Google just released a new pineapple, but because they tend to kill the orange trees, I'd rather not bother with the pineapple. Google Chrome is a Google product. A general fear/hesitance of using Google products should apply similarly to Chrome. Otherwise you're only validating my point. > Google has effectively abandoned it with the way they've managed the project. Our opinions differ, which is fine. I'll leave it there. > I wouldn't learn Go or Kotlin either, honestly, as there are arguably lots of languages that do the same with less separation anxiety. That's fair, there's lots of languages that do a lot of things. I often learn new languages because of promises to solve some existing pain points. Separation anxiety differs from person to person, and one has to weigh costs and benefits.
- pjmlp 8y agoSame here. Java and C++ for my hobby coding on the platform. Both skills much more useful on contexts outside Android development. If I would need to write cross platform mobile apps production code, I would rather go C++ for business logic with native views, Qt, Xamarin or if performance requirements aren't tight, PWAs. Dart makes it unattractive to learn Flutter, given its past history. And Kotlin it remains to be seen how well it will faire in the actual Java world, outside Android, where we can make use of the latest versions slowly picking features from the alternative languages.