Mobile App Development with iOS Swift - Top 3 Programming lessons

Saturday, December 31, 2016

This year my fascination increased with Mobile App Development as I played around with some sample apps and tutorials in iOS Swift, to learn some new programming paradigms that it brings along with it. This is also a test for me personally to see quickly I can relate these patterns to different apps. From the mistakes and lessons I learnt, the top 3 that stood out were. For some of you these concepts can look abstract, but when you play around with mobile apps someday, hope you will appreciate some of these.

1. Use dispatch groups instead of multiple completion blocks

In the multithreaded world where simultaneous asynchronous calls are issued, the way to wait/make a decision based on these calls could be challenging. After getting stuck weaving numerous completion blocks, finally I found a solution to deal with it - Using dispatch groups. See here - http://commandshift.co.uk/blog/2014/03/19/using-dispatch-groups-to-wait-for-multiple-web-services/

2. Design to solve layout issues early

It’s better to start designing storyboards that will render the screen properly on multiple devices (iPads, iPhones..). Being a newbie, it was a challenging task for me to figure out what to look for and what properties to set. Thankfully, the Xcode storyboard makes all these stuff easy - the equal widths, equal heights, aspect ratio and so on. See here - https://www.youtube.com/watch?v=LSV6VcGdXP

3. Use the right View Controller to solve the problem faster

This shows why it’s important to explore a programming language more even though you may not use those features now. Most of the times I was customizing a table view controller when a collection view controller would have made it easier, when to create views programmatically and when to use storyboards. I think haven’t found many readings to help with this, but that’t presents an opportunity - Explore..


No comments:


Copyright © 2016 Prasanna Seshadri, www.prasannatech.net, All Rights Reserved.
No part of the content or this site may be reproduced without prior written permission of the author.