Sinisterly
Why Android sucks, and what's going to replace it - Printable Version

+- Sinisterly (https://sinister.ly)
+-- Forum: General (https://sinister.ly/Forum-General)
+--- Forum: The Lounge (https://sinister.ly/Forum-The-Lounge)
+--- Thread: Why Android sucks, and what's going to replace it (/Thread-Why-Android-sucks-and-what-s-going-to-replace-it)

Pages: 1 2 3


Why Android sucks, and what's going to replace it - Blink - 01-08-2018

Android is the most widely used smartphone OS in the world, but that doesn't mean that it is good.

The language of choice in Android, is Java. Using Java instead of a native language such as C++ (Sailfish), Objective C (iOS), or Go (Fuschia) results in lots of overhead, causing large losses in performance. The JVM is poorly designed, along with the language that runs on it. The UI is XML-based, which was also a terrible choice.

When writing an Android app, you'll end up needing to make a GUI. When you start making the GUI, you notice that the UI editor isn't a simple drag-n-drop editor like it looks like. You model the UI in XML, and struggle through the UI editor. If you've ever tried making an app for iOS or MacOS with XCode, this would surprise you, since in XCode, UI design is simple and intuitive. When your app is published, you realize that it doesn't work on a specific phone, and you aren't sure how to fix it.

The Android kernel is based on Linux, and is heavily modified. Google could have, and should have used a microkernel, but they went with Linux instead. In a microkernel, it is easy to swap out drivers, and keep the OS modular; it is not this way with monolithic kernels like Linux. The reason for this, is that in a microkernel, the drivers run separately from the kernel; if a driver crashes, it won't bring down the kernel with it. When you have lots of different hardware running the OS, and you aren't writing the drivers, stick with a microkernel. On top of that, because of the amount of modifications to the kernel, Google hasn't been able to keep up with Linux. They are way behind, and their code is based on an old version of Linux.

Go is a language that was made by developers at Google in 2009. Since then, it has been redesigned internally, and is now much more optimized. Go compiles to machine code, so you don't have the overhead of a JVM-style setup. Go is now a nice language, and is good for all kinds of development, including web development.

Fuschia is a new mobile OS that is being developed by Google. It seems to be what will replace Android. It uses a custom microkernel named Zircon (previously Magenta). It seems like it will support some, or all of the following languages: C, C++, Dart, Go, Rust, Python, Swift.
Note, that Java isn't on that list... That's because the JVM sucks.

Link to the Fuschia repo: https://fuchsia.googlesource.com/


RE: Why Android sucks, and what's going to replace it - FunkyG - 01-08-2018

Interesting read!
Android isn't the best that's true.
But i still like it more than i like iOS


RE: Why Android sucks, and what's going to replace it - Die - 01-08-2018

I was making an android app in react-native/redux and I must say it's hard as fuck to make a GUI I struggled a lot to get used to it. But on the other hand it's pretty useful when you get used to it. You can make native apps for both android and iOS at the same time.


RE: Why Android sucks, and what's going to replace it - mothered - 01-08-2018

(01-08-2018, 07:52 AM)Ender Wrote: The language of choice in Android, is Java.  

I think this speaks a thousand words.

I have no Intention to comment, you've made some outstanding points.


RE: Why Android sucks, and what's going to replace it - Cyber Warrior - 01-08-2018

As an Android Developer I must agree that JVM is slowing down and causing loss of performance. But there are benefits of using Java, like for example providing people a change who are already familiar with Java to switch to Android Development, Java is also easy to learn, and of course the benefits of being OOP, plus there is a huge community of Java developers, there are already lots of librarys etc.
And I'm still not sure, why then enabling Kotlin as an optional programming language in Android Studio, keeping in mind that it also runs on JVM.


RE: Why Android sucks, and what's going to replace it - Pikami - 01-08-2018

While I do agree that Java is shit and android should have been made differently than it has, replacing android wont be that quick/easy.
Android has been around for ~10 years, a lot of people are used to it and there are a lot of apps/games on the platform, now a release of the new phone OS, no one will want to use it because they will not have access to the apps/games that are present on Android/IOS, the developers will not create apps/games for the new OS because no one is using it and because Android/IOS has the majority of users worldwide the developers will see more profit to create games on said platforms.

I'm not saying that Fuschia is a bad idea or something, I'm just saying that it wont be easy to replace android with it.


RE: Why Android sucks, and what's going to replace it - Blink - 01-08-2018

@Cyber Warrior OO is overused, and should not be used in a lot of cases. Java causes bad programming habits, such as using OO too much.

@Pikami In sailfish, there's a runtime for Android apps, so all the old Android apps can be used. Maybe Google will do something similar.


RE: Why Android sucks, and what's going to replace it - Synthx - 01-08-2018

I learned some stuff reading this. It was a very interesting read. I mean, tbh I kind of like Android better than iOS simply because you have so much more customization. I'm glad that Google is working on Fuschia. Thanks for the HQ thread!


RE: Why Android sucks, and what's going to replace it - Bish0pQ - 01-09-2018

I do agree that there should be other alternatives and we should get rid of a Java based OS for our phones, but I also agree with @Pikami that it won't be easy. Especially older people who aren't into technology are just getting used to Android smartphones, an entirely different OS might be difficult to learn for them.

I haven't heard about Fuschia yet, but it sounds interesting and I'll definitly check it out. OO isn't needed for a lot of todays applications, for Android games, this is another story.


RE: Why Android sucks, and what's going to replace it - DarkMuse - 01-09-2018

I think we have different definitions of *sucks*