Tips for novice iOS developers

    If you do not know, you should not be afraid, but recognize.
    Ain Rand “Atlas Shrugged”



    Good afternoon, my name is Igor Tomich and I am a lecturer in iOS development courses and co-founder of online courses Master Up. This is my first post on our corporate blog in which I decided to share tips for beginner iOS developers. I started writing my first iOS application at the beginning of 2009, and in May 2012 I conducted the first training course on development for the same platform and by this time I had accumulated enough “frequently repeated errors” and ways to solve them.


    Mindfulness




    Probably the most rarely mentioned quality in such articles and the most common problem of novice developers. Mindfulness can save you a lot of time and make the process of obtaining knowledge much more enjoyable. Minor syntax errors, calling incorrect methods, misunderstanding the documentation, and other similar errors are rooted in inattention. Do not rush, no one forces you to write the correct code immediately or instantly understand the documentation.
    Learn to find information on your own
    Learn to use Google, search for documentation in Xcode or in third-party applications. Look for answers on stackoverflow.com or on specialized sites. Entropy is growing and a person who can quickly find the necessary information will always have an advantage.

    Visit the right resources




    There is no time to read secondary information; one must turn to the primary sources and generators of forward movement. Apple will always be the source of initial platform information; learn how to read documentation from developer.apple.com/ios . Read and watch quality content at www.raywenderlich.com , nshipster.com , nsscreencast.com . Follow the activities and opinions of “giants” such as Matt Thompson , Matt Gammell , John Gruber , Mike Ash Evan Doll. Find such ones; the presentation and intensity of information suits you personally.

    See WWDC




    Apple spends a lot of effort and finances trying to convey a deep understanding of various technologies at the annual Worldwide Developers Conference. Be sure to watch the developer.apple.com/wwdc/videos video , it's just a storehouse of correct and easy-to-understand information.

    Practice without trying to understand everything right away




    Quite often, in the early stages, it is difficult to thoroughly understand the platform. A theory is particularly difficult to study if it is the first development platform. Understanding why it’s “so right”, but this “not so” approach comes only with practice. Programming is like the ability to ride a bicycle, no matter how much you are told or shown, you have to banally “roll” a certain number of hours.

    Understand that mistakes are not unique




    Very often, at the slightest deviation from the correct behavior, the novice developer falls into a stupor. The likelihood that someone has already encountered your problem is quite high. Look for text in google or stackoverflow. Try looking at issues on github for errors in third-party libraries. We are not unique, like our mistakes, use the “Internet experience” to quickly find answers.

    Use Cocoapods




    Do not write “bikes,” most likely cocoapods.org already contains a library that solves your problem. In modern projects, the number of third-party components has long been more than a dozen, so the ability to work with package managers will be a big plus.

    Read GitHub




    Check out the popular libraries on GitHub . Download and watch other people's projects. Now open source has many good and real applications available. For example, projects Cheddar and InkPad .

    Ask yourself questions




    The best way to learn any platform is to understand philosophy and be able to answer the question “why?”. iOS is a fairly holistic platform that takes its roots from NeXTSTEP. Try to “feel” the approach, the solutions and the logic in the frameworks.

    Start a pet project




    A good way to write motivated and gain experience with end users. Solve a problem that is of interest to you personally. I have a bunch of examples when a small project “for myself” became a good financial reward to the developer. This and our personal project Minibuses and Training of sight of two guys from our course.

    Time will never be enough




    You should immediately admit this to yourself, you just need to start learning and doing, otherwise there will always be reasons to postpone training or writing your project a little. Start small, but today.

    Also popular now: