Login Register


Why Android sucks, and what's going to replace it filter_list
Author
Message
Why Android sucks, and what's going to replace it #1
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/


(11-02-2018, 02:51 AM)Skullmeat Wrote: Ok, there no real practical reason for doing this, but that's never stopped me.

[+] 4 users Like Blink's post
Reply

RE: Why Android sucks, and what's going to replace it #2
Interesting read!
Android isn't the best that's true.
But i still like it more than i like iOS

[+] 1 user Likes FunkyG's post
Reply

RE: Why Android sucks, and what's going to replace it #3
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.

Reply

RE: Why Android sucks, and what's going to replace it #4
(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.
[Image: AD83g1A.png]

Reply

RE: Why Android sucks, and what's going to replace it #5
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.
(This post was last modified: 01-08-2018, 11:04 AM by Cyber Warrior.)

[+] 1 user Likes Cyber Warrior's post
Reply

RE: Why Android sucks, and what's going to replace it #6
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.

Reply

RE: Why Android sucks, and what's going to replace it #7
@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.


(11-02-2018, 02:51 AM)Skullmeat Wrote: Ok, there no real practical reason for doing this, but that's never stopped me.

Reply

RE: Why Android sucks, and what's going to replace it #8
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!
[Image: ezgif_com_gif_maker.gif]
#yellowheartsforsarah

Reply

RE: Why Android sucks, and what's going to replace it #9
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.
~~ Might be back? ~~

Reply

RE: Why Android sucks, and what's going to replace it #10
I think we have different definitions of *sucks*
Scientia potentia est

[Image: inkexplosion.jpg]

Reply







Users browsing this thread: