Google’s Fuchsia OS Confirmed to Have Android App Support via Android Runtime
9to5google.com
9to5google.com
I wonder if we'll get to the point where hardly anything is a native app and the concept doesn't matter much anymore? The host OS just exists to run guest OSes.
You mean a web browser? We're there.
https://chromium.googlesource.com/chromiumos/platform2/+/mas...
They don't care which kernel powers Chrome processes, or ART.
On Android's case, Linux syscalls aren't even part of the official stable APIs.
As for Hyrum's Law, since Android 7, any misbehaved app that tries to use non-sanctioned NDK APIs gets killed by the OS.
I think Casey Muratori did a good job outlining the case for removing the OS from the equation entirely in "The thirty-Million Line Problem" [0]. He describes a hardware architecture where standardized ABI and hardware virtualization replaces the OS and drivers, allowing each process to behave as if it was the only software on the computer, as it was in the olden days with platforms like the C64. The closest thing to an OS would be a hypervisor, which should be the kind of thing an enterprising young programmer could write in their spare time in a month.
This already happens in server infrastructure where the host OS just exists to run the guest OSes(VMs) and now, lately, the host OS just exists to run guest containers.
A long time ago, the program was your whole OS, you'd boot into it. The computer is the container.
Then we introduced operating systems, allowing a safer container for bad programs. The program is the container.
One type of program became extremely popular because it enabled delivery of a program via the internet. The web app is the container.
In the web world, frameworks like React have become incredibly popular because they allow people to break up apps into smaller components that can be shared. The component is the container.
Of course, on the back end, similar needs have led to Docker/K8s. The container is the container.
Given that everything in our world is a container, you'd think we would have better tools for composing them. As a web developer, I should be able to embed other web apps and communicate with them like I do with my React components. And I'd also like to be able to boot directly into a web app, and embed native programs and virtual operating systems.
Even when it comes to basics: most operating systems other than Chrome still have yet to natively support the web as a peer of traditional programs.. Electron should't be necessary. Likewise, environments like Docker and VirtualBox should be baked in to the OS that we boot.
The point is, as an industry we need to collectively pull our heads out of our asses, and realize that we'd be much better off refactoring our magnificent existing containers, rather than attempting to invent new ones. (I'm looking at you, iOS/Android..)
so a hypervisor?
https://en.m.wikipedia.org/wiki/Workplace_OS
“Above the PNS, the operating system personalities run in the form of user-space servers that execute DOS, OS/2, and UNIX—with further intentions to support Microsoft Windows, OS/400, AIX, Taligent, and MacOS personalities.”
It’s been called one of the most expensive failures in operating system development.
from the web demos I have seen of fuchsia running flutter its the same UX as android ..different apis that's all and way faster rending pipeline via flutter rendering engine
Guess what will happen afterwards.
https://fuchsia.googlesource.com/garnet/+/master/docs/ui/sce...
Here is fuchsia-ui, an UI prototype done in Rust, remains to be seen if it really only meant for the Ermine session shell.
https://fuchsia.googlesource.com/garnet/+/0a214f5721d723a7d0...
I bet Flutter will either be yet another UI framework and then the one with market adoption wins, or it will be rebooted somehow.
just like that time when iOS was suddenly hot, but there were no apps for it, because programmers hated Objective-C and weren't willing to learn it. So Apple released a new SDK and toolchain that allowed them to write apps in C++ instead.
oh wait.
Okay, all snark aside. Come on, guys. Isn't the fact that high tech is always new and innovative considered to be a good thing? So why is there always so much pressure to insist that every new thing has to be exactly like all the old things?
Learning Dart is not difficult. I did it myself, without even trying. I just pretended I already knew it, by following examples I found online. After a couple of weeks, my pretend-knowing turned into real-knowing.
Dart is just a programming language trying to get its killer app, which was dropped by Chrome team and gets political answers from Android team.
I am well aware, I have used Objective-C++ myself, but it's irrelevant. No, you cannot write iOS apps completely in C++. you still have to use Objective-C or Swift when dealing with UI components.
Further, Objective-C is not "just" a programming language, in this case. All of Apple's native frameworks are very strongly influenced by it. They allow you to do things that wouldn't be possible in other languages.
Obviously, it's possible to translate that experience to something else (see Swift), but it's an entirely different experience. Worse, in my opinion.
The same is true of Flutter and Dart. A lot of Flutter's architectural decisions are tied closely to the strengths (and weaknesses) of Dart. It would not make sense to switch to a different implementation language at this point.
While there are experiments in a Rust based UI and now Android.
I bet just like Brillo original plans, Flutter is on its way out.
Your answer means just a yes or "your question is irrelevant"? If the latter what I meant is a difference between Wayland and X. Wayland is a dumb pipe. X is mostly used as a dumb pipe, but it offers primitives to do the painting on the server side. Linux or Wayland does not have UI toolkit, but i.e. GNOME has.
No different than using the UI toolkit of choice, while the window manager takes care of window decorations, OS input events and what have you.
Just push the window contents into the scene graph using Fuchsia IPC.
that's false. At least Qt supports deploying to iOS and you don't have to write a single line of objc
AMP, in my opinion, was a step in the right direction. AMP is google's way of saying "you're all shit at developing on the web, use this very restricted way of developing a website and watch how fast it will go".
That's what we need. Don't put developers closer to the computer by giving them compiled languages. Move them as far away from the computer as you can. Languages should be moving in the direction of requiring the developer to do as little as possible. I need to import a package to make HTTP requests in Dart; every fucking app makes HTTP calls these days, how outdated is that? HTTP requests are baked in to javascript, I don't even need to think about what I need to import, I can spend mental cycles on real shit.
If you know you want to use Dart's HttpRequest class, you can just type it and a good editor will add the import for you. But people don't start out knowing what to type.
That's actually not true; the functionality is included in both dart:io and dart:html. package:http is just a cross-platform wrapper.
If more apps are just text and a few pictures, why are they running a full copy of the blink and v8 engines and not just using what's required for the job?
As long as their apps work, users won't care.
Now gnu/linux on ChromeOS is using a completely different Linux kernel.
It was important Google did it this way so gnu/Linux would still work when they update ChromeOS to Fuchsia. Google already has Gnu/linux running on fuchsia with something called Machina.
If I'm understanding correctly, this would work the same way that the GNU/Linux termina VM is booted when using crostini currently.
Which, for some reason, some iOS developers really loved doing which cause endless headaches when adding support to yet another form factor of those devices and endless "fragmentation" complaints.
It runs the apps I care about, and keeps getting OS updates, unlike my Android devices.
Prepare for 5 different Google OSes all of which support a slightly different featureset
If that is the case I could imagine that Fuchsia might not become a separate "product" for consumers at all - instead, Google could replace Android's implementation "under the hood" with it but still present it as just another Android version brand/UI wise.
If they managed to do the same with Chrome OS, the'd actually have archieved consolidation on a technical level without causing consumer confusion. (Well, more than there already is)
Did you mean cannot publish?
In that case, the Fuchsia kernel could just be another "client" to that layer.
(just speculating here, no idea if that is in any way what they're planning)
https://android-developers.googleblog.com/2018/11/an-update-...
OEMs got around Treble certification by releasing mostly devices with Android 7 on them.
And given that OEMs were the ones supposed to push Treble updates not Google, even those that released devices with 8 weren't that active pushing them.
Which has finally made Google include some update requirements on the Play Services access.
What GNU heritage? Android has only ever used the Linux kernel to get a leg up on hardware support in the early days. AFAIK there has never been any GNU userspace of any sort in anything Android related, much to the chagrin of the Linux community.
The NDK is constrained in what it can do, as per security concerns.
There is termux as port of GNU on Android, but only applications that rely on plain ISO C, ISO C++ can be ported.
Syscalls support is hit and miss per devices, as it isn't part of official NDKs APIs.
* A response to Java lawsuits
* Something to work on that is interesting
But you raise a good point — why let go of Linux? Seems like a risky case of rewrite-from-scratch.
What are the odds it works out? It's not a sure thing. And what would the benefits be?
https://en.wikipedia.org/wiki/List_of_Microsoft_operating_sy...
I also don't believe any of their experimental OS projects are still active. ( https://www.microsoft.com/en-us/research/group/operating-sys... )
At the end of all that, you can argue that there are two operating systems at Microsoft currently. Xbox One and Windows 10. The UI of the XBox is a sufficiently large enough gap in design/functionality that I would concede it to be a separate entity.
Edit: There was a concerted effort at MS to get on to a single OS around the Windows 8/Mobile days. This was also the death of CE and switch to Windows 8 between XBox 360 and XBox one. Granted the backlash of the tablet style interface of Windows 8 was not insignificant, but you see it's refinement in Windows 10 today.
Having said all of that, I’m sick of googles abandoning of products. I loved my 2013 Pixel 7. They essentially sell goods and services only to ignore them when it suits them.
Add Android TV, which has some features and restrictions that differ from Android.
Google's phone lineup for 2022:
- Chrome with Android
- Chrome with Android One
- Chrome Android Pixel
- Fuchsia with Android
- Fuchsia Silver with Android
- Fuchsia Android Nexus
- Fuchsia Android Pixel
You heard it here first.Oracle wasn't accusing Google of using "stolen" code in Android. They were claiming that Google's complete re-implementation of Oracle's Java APIs was a copyright violation.
The case itself will have long lasting impacts since it has established in US law that API interfaces themselves are a copyright/protected concept. That means that even complete clean room re-implementations or compatibility layers could be threatened.
The ruling is quite problematic, but there's nobody technically literate enough in congress or the courts to do anything to stop it.
As it stands, Android has pulled a J++ and is a pain for any Java library writer, that now is forced to either write two versions or keep using a common subset.
Only in the Federal Circuit, which adjudicates cases involving patent law. Copyright cases are typically decided by the other courts of appeal, and there is precedent in those courts (like Lotus v Borland) against the copyrightability of interfaces.
It was going to be Android native userspace plus a subset of the Android frameworks redone in C++.
Then suddenly, due to customer feedback as the main official reason, it got rebooted as Android Things, supporting even writing userspace drivers in Java.
Then ChromeOS got to add Android support.
I guess it is kind of clear which group is winning the internal political wars.
I should note that I have only glanced at what implementation details are public and it is entirely possible that this is not feasible
I could see it being the straw that finally breaks the camel's back for Samsung, though. They have their own assistant, web browser... they could just choose to go it alone.
About the only one that will sell the final product in the US is Android with Google's blessing.
With all this cost, who's getting the upside? Google is clearly getting the lion's share.
Google has been screwing up EVERYTHING lately. Every recent Google product launch that I can think of has been botched. They're REALLY checked out over there.
Serious question. What's the last major successful Google project that was built within Google and not acquired?
I can't think of one.
Edit: Also Google Home devices, especially the Mini
If my "major" you mean "more than 100MM users", it's been a while, but then what was the last (new) product launch by any established company that has 100MM users? If you drop that to a smaller number, there are tons though.
If by product you mean "consumer product", again, perhaps a while, but I'd argue that there are tons in the business space. (ML, cloud, etc.)
No friend discovery, funded by ads, people mostly ignore emails I send them, but everyone has it and depend on it being rock solid. It's like air.
This is literally the past 15 years of Google.
Other than for Gmail/Chrome[OS]/Android/Photos/Youtube/Music/Maps, I totally agree.
What am I being naive about? Do all of the wildly successful Google products not count here?
All third-party manufacturers will be stuck with just legacy Android, and Google will have a contender to iOS.
Think instagram eating snap, but for lots and lots of products.