Live data from Hacker News

iOS Development Tips If You're Just starting Out

stuartkhall.com

51–60 of 105 posts

Re: iOS Development Tips If You're Just starting Out

#51

As long as the beginners are drifting by, lemme say this: Every nib you use is a boatload of code you don't have to maintain. Use nibs. Can they solve every problem? Goodness no. But they're a great way to get the basics of your views laid out. They give you an easy way to preview the behavior of your view when layout changes. And they're very forgiving when you change your mind. Changing text alignment? One click. W…

In all the teams I've worked on, designers have worked out pixel positions and text alignment by the time I see the mocks. I don't find much value in realtime feedback. Nibs are handy if you're sticking to stock UI and stock behavior. Programmatic layout takes longer to setup the boilerplate, but once it's in place, I find it about as easy to work in code as nibs. With complex designs, I find it significantly easier…

Storyboards are especially great if the app is not a hundred percent mocked out. I have seen many mocks that described the app's CI very well, but have been a complete mess as far as the modal/tab/navigation flow is concerned. In the last app, it took a few storyboard iterations before everything was logical and these iterations would have much more painful in code.

Re: iOS Development Tips If You're Just starting Out

#52

As long as the beginners are drifting by, lemme say this: Every nib you use is a boatload of code you don't have to maintain. Use nibs. Can they solve every problem? Goodness no. But they're a great way to get the basics of your views laid out. They give you an easy way to preview the behavior of your view when layout changes. And they're very forgiving when you change your mind. Changing text alignment? One click. W…

Another reason to seriously consider using nibs instead of hand coding UIs is Auto Layout. It is way easier to deal with that API in IB. Of course you can in code too. But every new API has its problems. Most commonly, they're a pain to deal with due to unexpected behaviors and incomplete documentation.

You all have been warned! ;)

Re: iOS Development Tips If You're Just starting Out

#53

As long as the beginners are drifting by, lemme say this: Every nib you use is a boatload of code you don't have to maintain. Use nibs. Can they solve every problem? Goodness no. But they're a great way to get the basics of your views laid out. They give you an easy way to preview the behavior of your view when layout changes. And they're very forgiving when you change your mind. Changing text alignment? One click. W…

In all the teams I've worked on, designers have worked out pixel positions and text alignment by the time I see the mocks. I don't find much value in realtime feedback. Nibs are handy if you're sticking to stock UI and stock behavior. Programmatic layout takes longer to setup the boilerplate, but once it's in place, I find it about as easy to work in code as nibs. With complex designs, I find it significantly easier…

True. But for a beginner iOS programmer (the intended audience of this write up), it makes absolute sense to use nibs as much as possible. I know it helped me a lot.

Re: iOS Development Tips If You're Just starting Out

#54
post #41

I wished that when I started out with iOS development, that I knew that to get success on the App Store, 80% is marketing, and 20% is the quality of the app.

iOS development != App Store success. This would actually be my advice for anyone starting out: 1. Make an app that looks awesome as a reference (and don't expect anyone to ever, ever use it) 2. Get a job as an iOS contractor 3. If you have enough experience and a good idea, make your decision between a reliable cash flow and becoming an App Store cowboy. But only then.

Definately a good idea. Hopefully it will change so good apps will be more important than marketing, but this will only happen if Apple changes their App discovery...

Re: iOS Development Tips If You're Just starting Out

#55

As long as the beginners are drifting by, lemme say this: Every nib you use is a boatload of code you don't have to maintain. Use nibs. Can they solve every problem? Goodness no. But they're a great way to get the basics of your views laid out. They give you an easy way to preview the behavior of your view when layout changes. And they're very forgiving when you change your mind. Changing text alignment? One click. W…

In all the teams I've worked on, designers have worked out pixel positions and text alignment by the time I see the mocks. I don't find much value in realtime feedback. Nibs are handy if you're sticking to stock UI and stock behavior. Programmatic layout takes longer to setup the boilerplate, but once it's in place, I find it about as easy to work in code as nibs. With complex designs, I find it significantly easier…

Bingo! WYSIWYG is for the designer. Developers need powerful declarative tools that support modular development, reuse, internationalization, flexible layouts, and work well with version control.

Re: iOS Development Tips If You're Just starting Out

#56
post #41

I wished that when I started out with iOS development, that I knew that to get success on the App Store, 80% is marketing, and 20% is the quality of the app.

So very true - and sadly, while there are development guides and books aplenty, I have yet to find a high-quality guide on "how to market your iOS app"... anyone have any recommendations?

Re: iOS Development Tips If You're Just starting Out

#57
A surprisingly good list. Beyond the xib issue, which other have talked about, I would add a couple of points:

- If developing a trivial utility app you're expecting to release quickly, target iOS version N-1. Any user who is more that one major iOS version behind won't be the type of user who will download your app (or any app really).

If developing anything more ambitious, target the latest iOS version only and take full advantage its new APIs. By the time you're ready to go mainstream (a few iterations of the app under your belt, nailed your marketing strategy, etc), there will have been at least one new major iOS version released and any time and effort you spent writing code for older iOS versions will have been wasted.

(talking from experience here :)

- Before writing a single line of code, sort out your logging. At the very least, use a handful of macros like [0] to print the class, message name and line number when logging and to exclude debug log statements from release builds. Or check out something like CocoaLumberjack (haven't tried myself yet but writing this made me realize I need to sort out my own logging system so will give it a shot).

[0] http://stackoverflow.com/questions/969130/how-to-print-out-t...

Re: iOS Development Tips If You're Just starting Out

#58
post #14

Earlier quoted context omitted.

Have you tried JetBrains's AppCode? http://www.jetbrains.com/objc/ (I haven't but their RoR-tailored IDE RubyMine is the only IDE I've enjoyed using after it for less than a week.)

I haven't but I did look at the page as it was linked in the article. I never saw any mention of code formatting. An example of what I expect is like the Eclipse Source > Format option which will go in and make everything consistent including making lines less than 80 chars, adding space around operators (I never put in spaces which goes against almost every style guide), ensuring the arms of if/else always have brac…

AppCode does exactly the kind of source cleanup you describe. It also manages #imports for you, has better code completion, provides a more useful debugger, and gives you refactoring tools almost as good as those available for Java.

You can only do iOS dev on a Mac so I don't understand why you consider that an AppCode negative.

Considering how much my time is worth as an iOS dev the $99 I spent for a personal license is probably the best software purchase I've ever made.

Re: iOS Development Tips If You're Just starting Out

#59

As long as the beginners are drifting by, lemme say this: Every nib you use is a boatload of code you don't have to maintain. Use nibs. Can they solve every problem? Goodness no. But they're a great way to get the basics of your views laid out. They give you an easy way to preview the behavior of your view when layout changes. And they're very forgiving when you change your mind. Changing text alignment? One click. W…

In all the teams I've worked on, designers have worked out pixel positions and text alignment by the time I see the mocks. I don't find much value in realtime feedback. Nibs are handy if you're sticking to stock UI and stock behavior. Programmatic layout takes longer to setup the boilerplate, but once it's in place, I find it about as easy to work in code as nibs. With complex designs, I find it significantly easier…

> In all the teams I've worked on, designers have worked out pixel positions and text alignment by the time I see the mocks. I don't find much value in realtime feedback.

Very few beginner iOS developers will have a design team at their beck and call.

Re: iOS Development Tips If You're Just starting Out

#60
post #20

Earlier quoted context omitted.

Cocoa Auto Layouts are what you're looking for: https://developer.apple.com/library/mac/#documentation/UserE...

They're better than nothing but compared to the html-esque layouts in Android they're much harder to write, read and debug.

I would beg to differ. I much prefer to work with AutoLayout constraints rather than some custom XML layout like with Android or WP.
Post reply on HN