Steve shipped his first commercial software product his senior year of high school. BBSkit was a Turbo Pascal class toolkit for creating your own BBS software and "door" games. He hasn't found himself far away from a network stack since then, from writing Linux and Solaris network drivers to web apps in Java and Ruby. After working at a variety of Silicon Valley startups, he moved back to Columbus in 2006 to start his own company. An iOS developer since 2008, he's worked on over a dozen apps currently available in the App Store. Steve is a founding member and Principal Engineer at Light Year Software, LLC.
This presentation covers the most common things apps will do with the network: fetching resources and interacting with web services over HTTP(S). We'll start with a brief overview of NSURLConnection, explore AFNetworking and other third-party APIs, and finish up with tips on how you can optimize your use of the network for speed and battery life.
This presentation explores more advanced networking APIs that go beyond simple interaction with a web server or web services API. We'll cover the differences between TCP and UDP, creating and working with a persistent connection and discovering peers on a LAN using Bonjour and GameKit.
The Objective-C language is a strict superset of C, and yet many iOS developers think they don't know C. Come to this session to learn about ObjC's beginnings and how a solid understanding of C can help you build better ObjC apps. You'll probably be surprised to learn you know more than you think you do.
C is most commonly used language for open source libraries because it can be used by (literally?) any other language. Swift has a great story for interoperating with Objective-C, but what about C? In this session we'll explore how to work with C code that doesn't know a thing about Swift and, in the process, decide for ourselves if Swift really can be an “industrial-quality systems programming language”.
In many ways, the transition to Swift from ObjC is straightforward, but in others, it presents some challenges to established habits. Pure Swift code isn’t as dynamic as ObjC, and that restricts how we approach unit testing. In this session, you’ll learn about different ways to test Swift code, how you can still mock and stub methods without a dynamic runtime, and how changes to your design can reduce the need to stub at all.