Learning iOS development with Swift and Xcodeby Applied Informatics
In this article I am going to go over my experience in the last few months with learning iOS development and the Swift language. To start there were a lot of errors and then more errors and some more errors on top of that, all the time. Sometimes these errors would just occur for no apparent reason, such as after having a successful build and then attempting the same build on a simulator only for it to just fail and produce some computer generated error message that it failed at thread xyz somewhere in the stacktrace that really wasn’t generated to traceback or if it was it is just a bunch of hexadecimal memory locations.
The process has been very frustrating to say the least and the learning curve for getting fully into and understand Xcode is immense. It has little help for identifying where things are and how to use them when you first get started and I’m still now after about 6 months of use still figuring things out and learning its features. It crashes a lot, sometimes for no reason at all and can be a little slow sometimes … even with a hexa-core i7. It has become a bit more friendly after months of use but I still find myself wanting more out of it, such as an efficient way to side-by-side edit without going into the “Assistant Editor” view mode. Honestly if I could figure out how to get Sublime Text working so that it has the autocomplete and build process functionality of Xcode I would switch immediately, although I do use Sublime Text for code that I am confident enough to properly write.
Swift is pretty easy to pick up and get started with if you have a background in programming, I found that I was able to learn Swift quickly and thanks to Apple’s documentation, the process was relatively smooth. Xcode is great in providing logic and syntax errors when writing code which really helps with learning Swift, since as soon as I get any errors on saving save the file and I am pointed directly to the line the problem has occurred on. Swift itself is an incredibly powerful language that offers some really neat features. For the most part I feel like I have only touched the surface of the language and still have a lot of information I need to learn.
I also took the time after learning Swift to learn Obj-C, which turned out to be much easier than I thought. For the longest time I put off learning iOS simply because of syntax Obj-C. Once I knew Swift and was able to look at side-by-side code of Swift to Obj-C I had no problem at all figuring out how Obj-C worked and a part of me actually prefers Obj-C over Swift.
I would say that iOS is a great platform to develop on, especially if you are just getting into programming or looking for some new adventures and need somewhere to start. Apple has some really incredible documentation and while sometimes certain things can be very verbose and repetitive the language and tools feel very solid.
I do feel that Apple can definitely improve on the errors and stability of the development platform, as I mentioned in the start of this article I have encountered a vast amount of errors and sometimes these errors make no sense or give any help towards resolving the problem. As an example, one of my projects was missing its entitlements file which caused Xcode to crash anytime I attempted to change my projects entitlements, as someone learning I had no idea this was the cause, Xcode gave no kind of warning or message indicating this file was missing and just crashed producing the standard crash message you get when apps crash, I dealt with this problem for almost 3 weeks before finally resolving it!
To learn more aboutContact Us