I'm waiting for a Linux phone
Sure choice of OS would be nice, but there's a huge number of man hours that go into making a nice touch UI. Something that experts don't tend to obsess over, unless paid.
The pixel's don't have a locked bootloader, and you could try one of the community builds, which I've done. But there's much less incentive lately. I used to root to tether, don't need to anymore.
Edit: I’m not sure why this question is getting downvoted.
Manufactures really hate the lack of flexibility and there is a small amount of justification: new hardware often does need new controls.
And of course many people like the flexibility of Android.
I personally hate it, but I understand why they do it. I just wish we could get a class leading vanilla Android phone. Pixel isn’t it.
It's just a different model. Single corporation stack gives you more consistency and less bloatware and OEM based stack gives you more market choice and greater accessibility.
Get a device with stock Android ROM and there is no issue
Things breaking randomly?
Nothing looking consistent?
Aping all the bad parts of the MS ecosystem while missing most of the good (I firmly believe desktop linux peaking with KDE 2 and has been consistently downhill ever sense)
I consider iOS to generally get the job done pretty well.
/s
I still have a pixel 1 from 4 years ago that I think just stopped getting major upgrades. Not great, but not bad. My samsung note 4 was around a year behind on updates, and felt very slow because of all the crapware. I switched to a nexus 5, with a much lower spec and it felt MUCH better. Even simple things like hitting the home button had much less lag.
I did end up installing Cyanogen on the Note 4 which made it feel quite a bit snappier.
In any case Kotlin/Native doesn't bring nothing to Android itself.
ART makes use of AOT/JIT with code cache, which is much better than straight AOT on languages with reflection, dynamic dispatch and dynamic loading everywhere.
This is why they gave up on pure AOT introduced during Android 5 and 6 lifetime.
Then the NDK is tailored for writing native libraries for consumption from ART, only exposing C bindings, even though most of the code is actually C++.
So hardly a win having Kotlin/Native there.
Overall I wouldn't say Android development is aweful, I think it's iOS is just marginally better. Swift is a nicer language than Kotlin but creating UI layouts sucks on iOS.
As for complexity, you hit the ceiling very fast, and the solution is to break up in smaller and smaller custom views and modifiers.
I'm not going to learn a new language which isn't used anywhere else AND a new UI toolkit just because Google's internal team structure has put them in a position to keep Dart going.
Back when Dart came out, it made sense. But Typescript came along, filled basically the same niche and got significant mindshare.
Not to mention that Flutter experience isn't nothing more than cute to anyone that has experience doing UI design on Common Lisp or Smalltalk environments, which I reckon all of us are quite old for SV standards.
EDIT: Or if you really want to be amazed go play with SELF.
That may be true, but right now, none of them has something as polished and usable as Flutter. And it looks like it will be many years before they do, all the while Flutter keeps getting better. So, if you have time to wait for these other platforms to catch up, go ahead while people who need to write code right now can enjoy something else.
> EDIT: Or if you really want to be amazed go play with SELF.
Oh come'on, are you really suggesting something that looks straight out of the early 90's is something that would amaze anyone today? Or there's something that actually looks and behaves modern out of the Self and Smalltalk world (certainly was not the case last time I checked, a few years back)?
What I am suggesting is that the reasoning why Dart instead of something else is flawed and can only be naively bought by those that lack experience in UI domain.
How pretty those UIs used to look like is secondary.
Flutter is being positioned to rescue Dart, and make it meaningful beyond the AdWord team, the place where it landed when all Dart designers eventually left Google.
Where is the "Google's Commitment to Dart" blog post?
I don't see any reason why Typescript (for example) couldn't be made to meet them (relatively easily).
They should dump the most widespread mobile operating system ecosystem... because some people think API's are "OO nonsense"? Would you also want Microsoft to abandon whole Windows ecosystem just because WinAPI dates back to Win16?
This is insanity and completely ignores the reasons why ecosystems get popular.
Don't let your fanboyism blind logical thinking.
Kotlin works on all Android versions. Java updates don't. That doesn't mean Google shouldn't update the JVM on Android, it does however mean that any update to Kotlin immediately translates to wins across whole ecosystem, including people supporting Androids back to versions like 4.x, while Java updates don't.
It's a significantly better tradeoff - similarly like using TypeScript and polyfills gives you more powerful language on the web without restricting you only to newest browsers.
I've used Java, Python, Ruby, Go and Kotlin. Kotlin is def my favorite and goto. Do you have any specific examples/complaints?
As for other languages: Python is ok for smaller stuff. I don't like Go. My favourite languages are probably Swift and Julia. And recently, I've grown to really like C++ although I used to hate it.
Barely. You can't even read a file without java.io.
Android is going the way of Google Reader. Kotlin is just to keep developers happy in the meantime before explicit deprecation. Fuchsia + Flutter is the new platform. Android Runtime will be emulated to allow backward compatible Android apps at a performance penalty, but Fuchsia will only have first class support for native compiled languages like Dart, Go, C++, Swift, similar to iOS.
</speculation>
Jetpack Composer is obviously they fighting back to the continuous flow of Flutter questions at Android conferences.
Look at chrome os fiasco. They had it for 6,7 years? They didn’t realized it until Microsoft did put effort to make their OS developer friendly that they should make chromeos developer friendly. Imagine how good chromeos was today if they have started to make it developer friendly in 2010 instead of 2017.
What good is Kotlin's FFI to Java, if everything that you have at your disposal are out-of-date java libraries?
Even the new desugaring being done in R8 and D8 can only go as far as what ART is capable of, sometimes with worse performance, because the Java libraries rely on new JVM bytecodes and intrisic APIs.
So the only long term solution, assuming they keep ignoring modern Java, is to rewrite the world in Kotlin.
Arriving there, means that they could just rename ART into KVM and be done with it.