I don't think that the person is being lazy. I've tried my hand at Android. I will continue to do so. I don't like it for the reasons enumerated in the post. The whole damn thing is a hack at this point. No one has a good generalizable architectural model for laying out an Android project. Attempting to target multiple devices is truly a pain. You can do it. You have to really, really think about. You also have to end up making whole sub sections of your product for a specific form factor.
I'm not saying that iOS is better. Don't really know. I've played with Swift and a few of the Apple tutorials.
In general, I'm against the current incarnation of mobile. After years of having an Android (and now having an iPhone due to work), I switched to a Samsung Juke. That's right, a feature phone! The Android just got slower and slower. No updates, not improvements. Finally it screeched in my ears while working. I picked it up and slammed it on the desk (felt great for a week). Both iOS and Android are slow, overly wrought operating systems.
That being said, unlike the author, I'll still use Android and iOS for my products. I have products that need to be mobile. They have to target the machines my customers have now. That also means that I'll have two native app code bases. I'll have to keep track of native app UX/UI standards. I'll have to keep such hardware around ('cause Android's emulator is still sucks when I've got an VM running).
I was surprised to learn that Android in 2016 doesn't even natively come with an equivalent of JavascriptCore. You have the pleasure of somehow getting V8 to run and then serialize/deserialize all your native objects manually in order to talk to it if you want javascript outside the browser. Really? From the company that is the most web native around, and even developed the most common browserless JS runtime (V8)?
Google's user faced architecture often just seems like an unmanaged jumbled up bunch of code that they throw at you, good luck have fun.
I maintain my own fork of JSC that I use on Android. I've been focused on reducing its size and hope that it one day can be way smaller than it currently is. I managed to get it down to less than 800kB when compiled for ARM.
> I was surprised to learn that Android in 2016 doesn't even natively come with an equivalent of JavascriptCore. You have the pleasure of somehow getting V8 to run and then serialize/deserialize all your native objects manually in order to talk to it if you want javascript outside the browser.
That's a little bit like saying that Chez Panisse doesn't even deliver sewage to your table, and that if you want to pour it over your food you need to bring your own chamber pot with you.
Java is not a great language to program in, but if there's any language it is clearly better than, then that language is JavaScript. Why would one want to program an Android app in JavaScript rather than in Java?
There's only one reason to use JavaScript: because one is deploying in a browser, and JavaScript is the only language supported by the vast, vast majority of browsers. In every other way, it's a misbegotten mistake of a language.
The big reason: Cross platform compatibility. Not just between mobile platforms, but even between mobile devices and webservers. Our devices are so powerful now that you can run a full blown webserver on it if you choose your DB system wisely. That's why we use CouchDB - replace it with CBL on mobile and take your whole webapp with you for offline use. I'm Swiss - we have lots of tunnels ;-).
Take a look at https://github.com/appcelerator/tijscore it's a port of JavaScriptCore to android developed by Appcelerator for their Titanium product. It also includes a bridge between JS and native code.
Google doesn't have one single mind. There are lots of different people and groups within Google, and I don't think all of them are "web native". The Android team never seemed very close to the web at all.
Ever since i picked up a Nokia N800 back in the day, my go to setup has been a featurephone with bluetooth and a "smart device". Thus if i need a net connection right damn now, i can pair the smart device with the featurephone and get online.
Can you elaborate on how you do this? I wasn't aware that you could use a feature phone over bluetooth as a wifi hotspot. Are you doing something different?
Well it is not as fast as a wifi connection would be, but it gets the job done. That said, i do not require 24/7 social media and other such coverage.
Basically pair featurephone with smartphone or tablet, and then tell the smartphone or tablet to use the featurephone as their internet connection.
Mind you this is all on Android, and i am not American so i do not have to deal with carriers mucking up my featurephone firmware.
Edit: Just reminded myself that the term used is tethering. If i can't find a wifi hotspot to use, i tether smart device to the featurephone over bluetooth and thus use the phones mobile connection as the net connection for the smart device.
Double that complexity if you also want a web app that works across all modern browsers.
I wish the big 4 would get their act together and stop pissing on each others legs.
FB is the most recent entry into this clusterfuck. They should be ashamed of the Oculus/GearVR developer experience, it was the determining factor in my abandoning Oculus.
It is the developer that pays the cost in the end.
Aw, that makes me sad. I've been telling myself I'm going to get into the VR scene and dive in with Oculus. I was hoping it would be a dev-friendly environment.
I've heard (and experienced) great things about Unreal Engine 4 with HTC Vive. I have a couple friends using it for an independent study at Uni. It's great fun, and the Vive and its controllers are honestly excellent pieces of hardware.
I'm not saying that iOS is better. Don't really know. I've played with Swift and a few of the Apple tutorials.
In general, I'm against the current incarnation of mobile. After years of having an Android (and now having an iPhone due to work), I switched to a Samsung Juke. That's right, a feature phone! The Android just got slower and slower. No updates, not improvements. Finally it screeched in my ears while working. I picked it up and slammed it on the desk (felt great for a week). Both iOS and Android are slow, overly wrought operating systems.
That being said, unlike the author, I'll still use Android and iOS for my products. I have products that need to be mobile. They have to target the machines my customers have now. That also means that I'll have two native app code bases. I'll have to keep track of native app UX/UI standards. I'll have to keep such hardware around ('cause Android's emulator is still sucks when I've got an VM running).