I'm a self taught programmer and started developing for Android in 2012. It took me a while before I realised that you needed third party libraries to do absolutely anything useful as the platform APIs were so poor and undocumented. There were gaps everywhere and you needed to write tons of boilerplate code to do things properly. Image loading was often a huge source of crashes due to out-of-memory errors and doing i…
Ask HN: What do you regret you didn't know when programming for iOS or Android?
61–70 of 166 posts
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#62I 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.
> 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. Yeah, really agree with that; I'm not sure about the state of Google, but the word 'beginner-hostile' is really an exact state of Apple's documentation (well I'm touching AppKit not UIKit, so that's a factor too but...). Coming from a web background, almost ev…
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#63Don’t underestimate the value of build tools. Just because you know Xcode and Swift or Android Studio and Kotlin (or their antecedent languages) are you done. Finally having a senior dev who knows what he’s talking about has done more for me in the past two years than the previous 8 of reading blog posts and hacking. He’s shown me the real value of build scripts. Today even my personal iOS projects are dependent on a…
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#64Earlier quoted context omitted.
> 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?
It is another layer, but it has as small as possible dependence on the below layers (UIKit, OpenGLES, posix) and instead tries to reimplement everything. For instance, if you want a slider control, that’s not going to use UISlider underneath, it’s going to reimplement it from scratch. The problem with this is that it is an enormous task and they have barely scratched the surface of it. Flutter is hardly the first rei…
It's an enormous task that never ends, too. Flutter has to continually keep up with UI/UX changes that Apple makes. Without enough momentum there, the devs using their platform are going to have apps that appear/feel old, which tends to be a marketing negative for Apple users.
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#65On the iOS side, I regret not knowing how horrible Xcode is and how horrible Apple's documentation is. On the Android side, I regret not realizing that no matter what kind of slick new well documented APIs Google releases we will all be writing code for Android 4.4 for the rest of our lives. Also, I wish I knew mobile developers are some of the lowest paid developers other than game industry peons.
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#66I 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…
-Revamped permissions
-App packaging/name spacing/consistent installation
-IPC was redesigned as asynchronous Intent blobs on Android
-Urls becoming first class citizens at the OS level
-More consistent background app apis (and eventually better ways to track them)
I could come up with more but I think there's actually a very big difference. But yes, its all built on top of older Java and obj-c libs.Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#67Earlier quoted context omitted.
Currently, Flutter targets OpenGL ES on iOS which is less than ideal. https://github.com/flutter/flutter/issues/18208
"We were discussing this in today's Triage meeting. Our current plan is to turn Metal on soon. This will increase the size of our engine by ~200KB. We can eventually reduce this by removing the OpenGL code but (a) that would drop support for Seems like it will be solved 'soon'
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#68I 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…
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#69Oh your camera gives you NV21 frames, but the hardware VP8 encoder only accepts I420? Makes perfect sense.
Oh, we don't actually let you query what format the encoder expects until a later API than you're using. Just try them in a loop until one doesn't fail, makes perfect sense.
The camera was a party too, added a listener for Camera session events and the app crashed. Yay.
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#70I'm a self taught programmer and started developing for Android in 2012. It took me a while before I realised that you needed third party libraries to do absolutely anything useful as the platform APIs were so poor and undocumented. There were gaps everywhere and you needed to write tons of boilerplate code to do things properly. Image loading was often a huge source of crashes due to out-of-memory errors and doing i…
Personally I think that Flutter is the future for cross-platform UI toolkits. As a React dev (in my spare time, I’m still a student), using RN was a pain due to the need to install native extensions for almost everything. The batteries-included approach of Flutter and just the polish around the dev workflow made it more attractive to a beginner mobile dev.