Live data from Hacker News

Ask HN: What do you regret you didn't know when programming for iOS or Android?

news.ycombinator.com

11–20 of 166 posts

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#11
post #3

I regret not knowing about cross-platform development such as Flutter and ReactOS. I also regret not buying a book explaining all the concepts in as simple a manner as possible. As a semi-amateur programmer, I feel like most of the documentation is meant to refresh the memories of people who have been developing apps for years; they're extremely beginner-hostile.

Agreed. This absolutely kills me when people say “just read the documentation” or “the documentation is very good” as a reason why they don’t produce examples or templates or starter kits. Not all of us are CS majors or programmers in large teams or with decades of experience to fall back on. Just reading the documentation isn’t enough to get me into a new framework or language. I need to see practical examples. For…

> I need to see practical examples

And I need to see diagrams of mental models, though practical examples help solidify that. So one challenge with writing documentation is knowing what your audience needs. A better taxonomy of documentation would help solve this. For now, here is one I like based on https://www.divio.com/blog/documentation/

- Tutorial: A walk through how to learn the basics as you build something.

- Explanation: Showing the mental model of something

- Guide: A walk through how to solve a specific problem

- Reference: A comprehensive* listing of the API capabilities and how they are used.

-------

If anyone knows of some good tutorials or explanations of mobile programming with React, I'd be grateful for recommendations.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#14
post #10
post #2

I should’ve known that it’s turtles all the way down. Considering how many years I’ve sunk into programming for other platforms, this shouldn’t have come as a surprise, but I got suckered into believing that mobile computing platforms represented a significant enough paradigm shift to allow for starting with a cleaner slate. Not true! Having gotten into iOS development over the past couple of years, I’ve come to real…

> Don’t get me wrong, iOS is great, and I love it to death. However, the baggage signals to me that a massive opportunity to start anew has been missed. I guess that's what Flutter is doing (for both iOS and Android).

> I guess that's what Flutter is doing (for both iOS and Android).

How does it do this as opposed to adding yet one more layer? Does it somehow get beneath all the cruft mentioned?

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#15
The years it took to realize how under-resourced the NDK team is, bothering to create my own NDK wrappers to work around the NDK bindings and forced JNI calls, manually dealing with dependencies across NDK projects.

In retrospect, it would have been easier to just rewrite the whole thing in Android Java.

Basically, how little Google cares for game related development workflows on Android.

It just took them 10 years to acknowledge this, go figure.

https://android-developers.googleblog.com/2019/12/android-ga...

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#16
post #2

I should’ve known that it’s turtles all the way down. Considering how many years I’ve sunk into programming for other platforms, this shouldn’t have come as a surprise, but I got suckered into believing that mobile computing platforms represented a significant enough paradigm shift to allow for starting with a cleaner slate. Not true! Having gotten into iOS development over the past couple of years, I’ve come to real…

I consider this a feature: the older code has known behaviour, while a from-scratch implementation would have been a minefield of unknown bugs

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#17
post #13

I regret thinking that Xamarin was a good idea.

Amen. Management at a company I worked as were convinced that Xamarin was One True Path for mobile development. They were sold the idea that a Windows dev could instantly be productive in Xamarin without needing to understand the underlying platforms significantly.

To be clear, I do think Xamarin remains an interesting idea, but it's absolutely not the first thing I'd reach for when starting a x-platform mobile project.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#18
I can't really say I regret the path I've taken since had I not taken it, I wouldn't be able to form sound evaluations. I'd always sought out cross-platform development tools first on servers, then desktop, and mobile. Flutter/Dart comes closest at the moment but game engines might also work for certain apps. I'm glad I never bought into React-Native the worst of worlds. It's rare for an app to require native widgets and having to deal with two different sets and their idiosyncrasies isn't solving the problem.

Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?

#20
post #3

I regret not knowing about cross-platform development such as Flutter and ReactOS. I also regret not buying a book explaining all the concepts in as simple a manner as possible. As a semi-amateur programmer, I feel like most of the documentation is meant to refresh the memories of people who have been developing apps for years; they're extremely beginner-hostile.

Agreed. This absolutely kills me when people say “just read the documentation” or “the documentation is very good” as a reason why they don’t produce examples or templates or starter kits. Not all of us are CS majors or programmers in large teams or with decades of experience to fall back on. Just reading the documentation isn’t enough to get me into a new framework or language. I need to see practical examples. For…

Apple seems to be particularly bad for this, I was going through some of their videos recently and everything assumed prior knowledge. It's the same for much of the documentation.

As much as I criticise Microsoft at least they have stuff like this: https://docs.microsoft.com/en-us/windows/win32/learnwin32/le...

Post reply on HN