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.
> 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…
Ask HN: What do you regret you didn't know when programming for iOS or Android?
121–130 of 166 posts
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#122Earlier quoted context omitted.
> Very few companies have ever failed because their tech stack didn't scale well Just out of interest, are there any clear examples where this happened, ever? Can anyone name any? What I mean specifically is - a company with a well known product that was growing in popularity but then hit a ceiling because of technical scale issues and couldn't support any more customers, growth halted, and they couldn't fix it in ti…
It happens all the time. When it does, though, the narrative is usually "scrappy upstart takes over" and not "segment leader fossilizes".
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#123Ignore the framework. Write your app how you want to write it, then attach it to the framework as needed. Don't restrict yourself to what the framework supplies or how it thinks about things.
It'll dramatically decrease craziness in your core logic in the long run. Framework versions and bugs can lead to strange lifecycle callbacks, weird interactions between the N flavors of how to build UI components, etc, and if your core logic is chopped up to deal with all of this it can become very hard to make important changes. Such as updating to a newer version of the framework so your app isn't removed from the stores.
It'll pretty much always be more up-front code and work, but you'll be left with a far clearer system in the end.
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#124• Interface builder(especially Storyboards) is inferior to using UIKit straight from code
• Coordinator pattern, which lets you split logic and view controllers. https://www.hackingwithswift.com/articles/71/how-to-use-the-...
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#125Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#126The thing that would've saved me the most time and frustration in the long run for all mobile development (well, all dev period, but mobile especially as they tend to be moving targets): Ignore the framework. Write your app how you want to write it, then attach it to the framework as needed. Don't restrict yourself to what the framework supplies or how it thinks about things. It'll dramatically decrease craziness in…
This is a general software design principle that allows for your UI to be free to change without affecting your core logic and rules, while also making all of your code more unit testable.
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#127Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#128Learning iOS dev with reference counting as a memory management system was really painful. My programming skill wasn't up to speed yet to "just" learn a new language. I only knew some university Java at the time. And while I did write impressive projects with it, I wasn't strong enough in an algorithmic sense.
Learning a framework and learning memory management, and kind of needing to deal with pointers but not really proved to be too much.
When ARC was introduced it was a breeze.
Now, when I read this whole comment, nowadays I'd think: this is such nonsense. Memory management should not be a barrier to learn iOS dev. But when you're in that weird space of that you kind of know how to program (5000+ lines code) but you really need to get into it, and it doesn't feel natural yet. Then, yea, it does matter a lot.
A few years later I learned C and had no issues learning pointers or memory management. To be fair, I didn't need to use any frameworks with C.
Re: Ask HN: What do you regret you didn't know when programming for iOS or Android?
#129Once you realize this it's somewhat liberating. You focus on the bug/feature and not the method. One time I was trying to solve a particularly nasty layout-at-runtime problem and just realized I could write my own ViewGroup and lay it all out myself, pixel by pixel, faster than fighting RelativeLayout or whatever. And that code is more stable than something where I import some library that's not going to be maintained.