Live data from Hacker News

It’s Been Real, Android: Why I’m Retiring from Android

raptureinvenice.com

181–190 of 342 posts

Re: It’s Been Real, Android: Why I’m Retiring from Android

#181

I did a search on Google Play for apps from this developer and all I found were: 1. A work in progress To Do list app with 1-5 installs: https://play.google.com/store/apps/details?id=com.raptureinv... 2. A Craigslist notifier with 100-500 installs: https://play.google.com/store/apps/details?id=com.raptureinv... I don't mean to belittle the qualifications of this developer, but if his Android applications are any indi…

What does it prove? Not everyone is an independent developer / single-person software house.

The way it goes, more often than not, is that people write apps for various companies and then these apps don't get published under their own name, but these companies'.

Something someone uploaded to Google Play individually could be just their hobby project created in their spare time.

I haven't got anything in Google Play in my own name, and I've been an Android dev for several years, writing serious software for big businesses.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#182

A while back, Dianne Hackborn famously said: "We often see questions from developers that are asking from the Android platform engineers about the kinds of design patterns and architectures they use in their apps. But the answer, maybe surprisingly, is we often don't have a strong opinion or really an opinion at all." (1) While that may have been a lofty ideal, in practice Android has many strict requirements on how…

> After all these years, I still find the most difficult and un-natural thing is mixing concurrency / background tasks that must outlive the UI with complex UI component lifecycles. This is a frequent and necessary thing to do, and also quite awkward

this is being fixed. The problem is that this is political as well as technical. The solution went from GCMNetworkManager to JobScheduler to the now recommended Firebase Jobdispatcher (https://developer.android.com/topic/performance/scheduling.h...). P.S. Firebase was a newly acquired startup at Google.

Firebase Jobdispatcher should be able to take care of your concurrency issues in a power efficient way.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#183
post #101

Earlier quoted context omitted.

You are right, and also reminded me that if you check the AOSP commits, they are in the process of adding a new one built with Go.

And then the toolchain dies completely after splintering and exploding? Time to bypass Google and just use plain old cmake instead. So far, it is still possible to just run java+dex or jack straight from command line...

Googles build system will call CMake to build NDK libraries and Android Studio recognise and use that as well ;)

It's how we support cross-platform C++ libraries.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#185
post #176
post #164

Earlier quoted context omitted.

I really doubt that. By the way, I think Android UI works much better than iOS's.

>By the way, I think Android UI works much better than iOS's. You should be specific about what about Android UI is better than iOS? if you are saying android UI design is better than iOS , I agree , but remember Material design is not android's design. Google wants to expend to every platform, it is quite childish if we think they could expand to every platform without having professional UI design language for them…

> remember Material design is not android's design.

Aka as Metro design language actually.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#186

A while back, Dianne Hackborn famously said: "We often see questions from developers that are asking from the Android platform engineers about the kinds of design patterns and architectures they use in their apps. But the answer, maybe surprisingly, is we often don't have a strong opinion or really an opinion at all." (1) While that may have been a lofty ideal, in practice Android has many strict requirements on how…

I've found that the best way to deal with this complexity is to ensure that any concurrent work is done in a fire-and-forget kind of style. Concurrent work is submitted to a IntentService (possible backed by a thread pool instead of a single worker thread to speed things up) and if it needs to talk back to the UI it does so via a local sql-db or similar construct. That way the UI can die and get restarted indepedently of the worker service and the worker service can update UI state without having to care about the UI existing or not.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#187
post #174
post #171

Earlier quoted context omitted.

Uhh, is there a platform there that isn't greatly improved by community libraries? At PSPDFKit we use a lot of additional third party tools and libraries on iOS as well, C++ practically needs community libraries to be usable, Python's biggest strength is in its excellent OSS library community, Ruby as well... I mean, yeah, in perfect world we'd all have neatly packaged by Google, we'd write 6 lines of code and have t…

C++ isn't a platform with a platform owner. Python's biggest strength that lead to its adoption was being a language with "Batteries Included".

I'm not sure about the meaningful distinction here. Programming on any platform will be greatly improved by using good (preferrably opensource) libraries. What difference does it make who made them and why? It's such a strange nitpick.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#189
post #74

Earlier quoted context omitted.

> After all these years, I still find the most difficult and un-natural thing is mixing concurrency / background tasks that must outlive the UI with complex UI component lifecycles. Completely agree. I've been developing for Android since 1.0 and the complex interaction between background tasks and activity lifecycle is the worst part of Android that a significant majority of devs get wrong, introducing subtle bugs.…

>Overall, I wouldn't say Android is poorly designed, it's just mediocre I think it is mostly have to do with company's talent pool and focus. As far as I can see (I may be wrong, this is my estimate) Google tries hard to devote best talents to 1) ads and Search and it's maintaining 2) Chrome team 3) Google apps and services online and on iPhones. After these option they try to develop Android as kinda (I don't know w…

I think you're right. Or at least, they're not devoting a certain kind of talent to Android.

Look at Google's efforts on web frontend - GWT, Polymer, Angular 1/2, embracing TypeScript, RxJS, and so on. In other words, they've devoted significant resources to high-level application patterns, emerging paradigms, and in general - improving developer experience. The Chrome devtools are another example.

On Android, not only is their policy to "remain neutral" on architecture and paradigms, but they don't even bother to update the platform enough to let the community take on the architectural work. The tooling is 1 step forward 2 steps back, new language features (or languages!) do not seem to be a priority, fixing fundamental design errors (multidex) is also not a priority, things like databinding are trotted out and then stagnate, and so on.

The only conclusion I'm left to draw is that Android is the new Windows. Why should Google care about developer experience on Android when it owns 70% of the market.

Re: It’s Been Real, Android: Why I’m Retiring from Android

#190

Earlier quoted context omitted.

I am an expert in iOS dev but I use and want to like Android. It is quite annoying... I really do not like the walled garden of Apple and on Android devices, even cheap MTK ones I am quite handy at installing what I want, but for some reason I find Android development a real pain compared to iOS where I find most older things (stuff, as it goes in life, needs to mature) very obvious and easy. I would say what most an…

The GPL incompatibility issue has nothing to do with Apple not allowing emulators. (After all there are BSD/MIT emulators) They don't want (non-sandboxed) interpreters running unreviewed code. Right now the only interpreter allowed to be used with downloaded code is webkit's JS JIT.

There are multiple reasons as I said: one is the one you say but some emulators I use are under the GPL and use many GPL libs.

But yes the other restriction sucks too. The point was cannot normally use emulators under iOS which stands, whatever the reason may be.

Post reply on HN